Gjenbruk av kode i PHP programmer gjennom Funksjoner

February 3  by Eliza

Du kan, med hjelp av en auto_prepend_file, skape et funksjoner fil som automatisk inkludert i alle dine PHP programmer. Disse funksjonene kan være noe så enkelt som å starte en økt eller så komplisert som en hel innloggingsfunksjonen.

Når du trenger eller tror du må ha en funksjon i mer enn én fil, istedenfor å bruke require_once og include_once, hvis du kommer til å bruke en funksjon på flere steder så kan du like gjerne plassere den i en auto_prepend fil.

Her er et eksempel på hvordan du kan gjenbruke kode gjennom funksjonene. En funksjon som du kan bruke i mange steder er noe å konvertere en to-brev tilstand forkortelse til sitt fulle navn. Du kan lage en funksjon for å gjøre det og plassere det i den foranstilte PHP-filen.

Denne øvelsen forutsetter at du har fullført den foregående øvelsen for å skape en prepend.php fil og ha den filen automatisk lasting gjennom webserveren din.

  1. Åpen prepend.php fra det forutgående trening.
  2. Fjerne noen kode ut av prepend.php og plassere følgende kode i filen:

<? Php

if (! isset ($ _ SESSION)) {
session_start ();
}

funksjon convertState ($ stat) {
$ StateList = array (
"AL" => "Alabama",
"AK" => "Alaska",
"AZ" => "Arizona",
"AR" => "Arkansas",
"CA" => "California",
"CO" => "Colorado",
"CT" => "Connecticut",
"DE" => "Delaware",
"FL" => "Florida",
"GA" => "Georgia",
"HI" => "Hawaii",
"ID" => "Idaho",
"IL" => "Illinois",
"IN" => "Indiana",
"IA" => "Iowa",
"KS" => "Kansas",
"KY" => "Kentucky",
"LA" => "Louisiana",
"ME" => "Maine",
"MD" => "Maryland",
"MA" => "Massachusetts",
"MI" => "Michigan",
"MN" => "Minnesota",
"MS" => "Mississippi",
"MO" => "Missouri",
"MT" => "Montana",
"NE" => "Nebraska",
"NV" => "Nevada",
"NH" => "New Hampshire",
"NJ" => "New Jersey",
"NM" => "New Mexico",
"NY" => "New York",
"NC" => "North Carolina",
"ND" => "North Dakota",
"OH" => "Ohio",
"OK" => "Oklahoma",
"OR" => "Oregon",
"PA" => "Pennsylvania",
"RI" => "Rhode Island",
"SC" => "South Carolina",
"SD" => "South Dakota",
"TN" => "Tennessee",
"TX" => "Texas",
"UT" => "Utah",
"VT" => "Vermont",
"VA" => "Virginia",
"WA" => "Washington",
"WV" => "West Virginia",
"WI" => "Wisconsin",
"WY" => "Wyoming"
);
if (array_key_exists ($ statlige, $ stateList)) {
Avkastningen $ stateList [$ stat];
} Else {
return false;
}
} // End funksjon convertState

?>

Lagre filen (som prepend.php) i dokumentet rot.

Opprett en ny fil i en teksteditor og plasser følgende kode inn i editoren:

<? Php

$ StateAbbrev = "WI";

print "State forkortelsen er". $ StateAbbrev. "<br> \ N";

$ StateFull = convertState ($ stateAbbrev);

if ($ stateFull) {
print "Fullt navn er". $ StateFull. "<br> \ N";
} Else {
print "Fullt navn ikke funnet for {$ stateAbbrev} <br> \ n";
}

?>

Lagre filen som state.php i dokumentet rot. Åpne en nettleser og peker på http: // localhost /state.php. Du bør se en side som denne.

Gjenbruk av kode i PHP programmer gjennom Funksjoner

Koden i prepend.php filen sjekker først for å se om økten har blitt startet og starter økten, hvis det er nødvendig. Selv om det ikke er brukt i denne filen, vil det bli brukt andre steder. Funksjonen, kalt convertState, godtar et argument av staten til å konvertere.

Funksjonen setter opp en rekke stater og deres fulle navn. Etter det, er det array_key_exists () PHP-funksjonen brukes til å slå opp staten. Hvis to bokstaver forkortelse ikke eksisterer i rekken, falsk returneres. Ellers navnet på staten er returnert.

Den state.php fil bare kalt convertState funksjonen, som er automatisk "synlig" eller tilgjengelig på grunn av auto_prepend_file direktiv som du allerede har satt opp. Hvis det er en verdi i $ stateFull variabel, så er det skrevet; ellers, hvis det er ingen verdi, som det ville være hvis verdien ble satt til boolsk USANN (som det kan være hvis ingen stat ble funnet), deretter et notat skrives om dette.

Dette eksemplet viser en enkel, men typisk funksjon som kan ofte brukes i en web-applikasjon bygget med PHP. Ved å flytte denne funksjonen i en fil som er inkludert overalt, kan du bruke funksjonen uten å måtte gjøre noe ekstra arbeid, som krever eller inkludert funksjonens fil, uansett hvor du vil at funksjonen resultat.