PHP triks

I 2009 Enterprise PHP Magazine estimert rundt én million gjenopptar ble online tilhører PHP programmerere. Spesielt i dagens online samarbeid og sosialt miljø, PHP programmerere dele kunnskap, tips og triks med hverandre for å hjelpe nye og erfarne programmerere alike. PHP triks er vanligvis måter å nærme seg et problem eller koding triks som gjør et skript bedre ved å forbedre script ytelse, tar mindre tid å kode, redusere kode størrelse eller øke kode lesbarhet. Det er nyttig for selv svært erfarne PHP programmerere som skriver en anmeldelse triks fra tid til annen, og å implementere dem i sin egen kode, slik at de ikke er glemt.

Eller Mellom Uttalelser

Hvis du sjekker en boolsk returkode fra en funksjon og iverksette tiltak på resultatet, kan du ofte skrive en mer kompakt setning med "eller" det er også lettere å lese enn en tradisjonell måte koding sammenligningen. For eksempel vurdere følgende kode som forsøker å koble til en MySQL database server og avslutter programmet hvis forbindelsen ikke ble gjort:

$ DBC = mysql_connect_db ( "localhost", $ brukernavn, $ passord);
if (! $ DBC) {
dø();
}

Du kan skrive samme setning på en linje ved å koble uttalelser med "eller:"

$ DBC = mysql_connect_db ( "localhost", $ brukernavn, $ passord) eller dø ();

Undertrykke MySQL feil

I forrige eksempel, hvis databasen forbindelsen ikke er vellykket, før søknaden dør, PHP MySQL forlengelse vil sende ut en veldig teknisk feilmelding på skjermen, for eksempel:

Advarsel: Access denied for user: [email protected] (Bruke passord: Ja) i /var/www/application/html/database.php på linje 6

Denne feilmeldingen vil bli sendt ut til brukeren selv om PHP feilmeldinger er slått av. Hvis du vil skjule feilmeldingen fra brukere, prefiks en MySQL funksjon samtale med "@" og MySQL feilmeldinger vil bli undertrykt for at samtalen. For å inkludere din egen feilmelding, passere en streng til "dø" -funksjonen. For eksempel:

$ DBC = @mysql_connect_db ( "localhost", $ brukernavn, $ passord) or die ( "Kan ikke koble til databaseserveren!");

Returnere Images

Det kan være tilfeller der du ønsker å returnere et bilde i stedet for HTML, for eksempel i en webtjeneste. Du kan gjøre det ved å inkludere en "Content-type" header å angi at utgangen er et bilde og bruke "Readfile" -funksjonen for å gå tilbake innholdet i bildefilen. Bytt tilbake til HTML ved å utstede en "Content-type" header for HTML. For eksempel:

<? Php
...
header ( "Content-type: image / gif");
Readfile ($ imagefile);
header ( "Content-Type: text / html");
echo "</ body> </ html>";
?>

Ignorer Bruker Avbestillings

Hvis du utfører en operasjon, for eksempel oppdaterer en database, og du ikke vil at brukeren skal kunne avbryte eller avbryte operasjonen ved å klikke på stoppknappen på nettleseren, kan du instruere PHP å ignorere forsøk på å kansellere før operasjonen er fullført. For eksempel:

<? Php
ignore_user_abort (true);
update_database ();
ignore_user_abort (false);
?>

Array Lookup

Hvis du har til å søke en rekke, bør du vurdere å utforme tabellen slik at tabellverdiene blir tabell tastene og deres tilsvarende verdier er hver satt til ett. I stedet for å lete hver matrise element for en kamp, ​​for eksempel ved hjelp av "in_array" -funksjonen, kan du sjekke for å se om en matrise element finnes ved hjelp av "isset" -funksjonen og betydelig forbedre ytelsen til array-søk. Jo større matrisen, desto større er ytelsen gevinst. For eksempel:

I stedet for dette:
<? Php
$ Drinker = array ( "kaffe", "te", "juice", "brus", "melk");
if (in_array ( "te", $ drikkevarer)) {echo "Tea party!"; }
?>

Denne metoden for koding er omtrent tre ganger hurtigere:
<? Php
$ Drinker = array ( "kaffe" => 1, "te" => 1, "juice" => 1, "brus" => 1, "melk" => 1);
hvis isset ($ drikke [ "te"]) {echo "Tea Party"; }
?>