Under 2009 uppskattade Enterprise PHP Magazine cirka en miljon meritförteckningar nätet var tillhörande PHP programmerare . Speciellt i dagens webbaserade och social miljö , PHP programmerare dela kunskap, tips och tricks med varandra hjälpa nya och erfarna programmerare likadana . PHP tricks är oftast sätt att närma sig ett problem eller kodning knep som gör ett manus bättre genom att förbättra manus prestanda , tar mindre tid att koda , minskar kod storlek eller öka kodens läsbarhet . Det är bra för även mycket erfarna PHP programmerare att granska tricks från gång till gång och att genomföra dem i sin egen kod så att de inte glöms bort . Eller mellan Uttalanden
p Om du bläddrar ett Boolean avkastning kod från en funktion och vidta åtgärder på resultatet , kan du skriva ofta ett mer kompakt uttalande med " eller " det är också lättare att läsa än ett traditionellt sätt för kodning av den jämförelsen. Till exempel överväga följande kod som försöker ansluta till en MySQL-databas -server och avslutar programmet om anslutningen inte lyckades gjort :
$ DBC = mysql_connect_db ( " localhost " , $ username , $ password ) , om { die ( ) ;}
Du kan skriva samma uttalande på en enda rad genom att ansluta de uttalanden med ( $ DBC ! ) " eller : "
$ DBC = mysql_connect_db ( " localhost " , $ username , $ password ) or die ( ) ; Addera undertrycka MySQL fel
i föregående exempel , om databasen anslutningen inte lyckas , innan ansökan dör , kommer den PHP MySQL förlängningen ut en mycket tekniskt felmeddelande på skärmen , till exempel :
Varning : Åtkomst nekad för användare : [email protected] . ny.frontiernet.net ( Använda lösenord : Yes ) i /var /www /ansökan /html /database.php på linje 6
Detta felmeddelande kommer att matas ut till användaren , även om PHP error messaging slås av. För att dölja felmeddelandet från användarna , prefix en MySQL funktionsanrop med " @ " tecknet och MySQL felmeddelanden ska undertryckas för det samtalet . För att inkludera din egen felmeddelande , skicka en sträng till " die " -funktion . Till exempel :
$ DBC = @ mysql_connect_db ( " localhost " , $ username , $ password ) or die ( " ! Kunde inte ansluta till databasservern " ) ;
Återvändande bilder
Det kan finnas fall där du vill returnera en bild i stället för HTML , t.ex. i en webbtjänst . Du kan göra det genom att ta en " Content - type" header för att ange att produktionen är en bild och använda " Readfile " -funktionen för att returnera innehållet i bildfilen . Byt tillbaka till HTML genom att utfärda ett " Content - type" header för HTML . Till exempel :
< php ... header ? ( " Content -type : image /gif " ) ; Readfile ( $ imagefile ) , header ( " Content - Type: text /html " ) ; echo " < /body> < /html > "; ? > Addera Ignorera användare Avbokning
p Om du utför en operation , till exempel uppdatering en databas , och du inte vill att användaren ska kunna avbryta eller avbryta åtgärden genom att klicka på stoppknappen i webbläsaren , kan du instruera PHP att ignorera försök avbryter tills operationen är klar . Till exempel : < ? ? Phpignore_user_abort ( true ) ; update_database ( ) ; ignore_user_abort ( false ) ; >
Array Lookup
p Om du måste söka en array , överväga att utforma arrayen så att matrisvärdena blivit mängd nycklar och deras motsvarande värden är varje uppsättning till en . Istället för att söka varje array element för en match , till exempel med hjälp av " in_array " -funktionen kan du kontrollera om ett array-element finns med " isset " funktion och avsevärt förbättra prestanda array sökningar . Ju större arrayen , desto större prestanda vinst . Till exempel :
Istället för detta : ? < Php $ drycker = array ( " kaffe " , " tea " , " juice " , " soda " , " mjölk " ) , om ( in_array ( " te " , $ drycker ) ) { echo " Tea party ! " ;} >
Denna metod för kodning är ungefär tre gånger snabbare : ? ? < php $ drycker = array ( " kaffe " = > 1 , " tea " = > 1 , " juice " = > 1 , " soda " = > 1 , " mjölk " = > 1 ) , om isset ( $ drycker [ " te " ] ) { echo " Tea party ! " ;} ? > Addera