![]() |
Citat:
|
Det är ju bara om du själv lyckas skriva över $_POST med din egen kod som den inte är en array.
T.ex: $_POST = null; |
Citat:
All logik som görs på mer än ett ställe skall vara i en funktion för att underlätta. Citat:
Citat:
|
Citat:
Den logik du försöker låta bli att upprepa är rätt meningslös. Det blir ju lika mycket kod att skriva, bara att du skriver post() och skippar arrayens namn istället för isset(), och det är tveksamt om det kommer behöva göras ändringar i framtiden. Jag tycker det blir klarare att bara göra issetjämförelsen öppet istället för att lägga den i en funktion som potentiellt göra många fler saker. Men samtidigt håller jag inte riktigt med i all kritik mot metoden. Om det fungerar för dig och dina projekt är det antagligen bra kod, och jag kan förstå att vissa inte vill skriva $_POST överallt. Och du har rätt i att vissa andra förslag ger notiser - syndigt värre! |
Om jag förstår dig rätt så vill du göra följande:
[pseudokod] if(är_satt($_POST)) { //validera under-element till POST:en här samt gå vidare med hanteringen av dessa } [/pseudokod] Detta vill du göra för att helt enkelt slippa gå in och ladda din inlänkade fil om du inte kommer från rätt formulär / om något bara klickat på "submit" / annan mystisk anledning? Jag tror nog att du bör kolla på att revidera din design istället för att bara hitta en lösning som fungerar. Ditt pattern verkar vara ganska sårbart mot förändringar. |
Citat:
Men i det exemplet hjälper det dig ju inte alls eftersom du ändå tvingas göra i stort sett samma kontroll i koden ändå . Det gör ju att funktionen inte förenklar och gömmer undan kod vilket är hela anledningen till att man placerar sådan logik som används på flera ställen i en funktion. Jämför: Citat:
PHP-kod:
|
Citat:
|
Citat:
error_reporting(-1); if(!$_POST) echo 'test'; Det genererar i alla fall ingen E_NOTICE i min logg. Dessutom så används överallt i manualen på php.net... Citat:
|
Citat:
|
Citat:
|
Alla tider är GMT +2. Klockan är nu 16:56. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson