PHP
Webbureau » Digitale nyheder » PHP bedste praksis: Typeparametre

PHP bedste praksis: Typeparametre

Der er de praksisser, som vi lærer i skolen, dem, vi påtager os gennem dovenskab, dem, vi vedtager af vane, enten ved at se det eller ved systematisk at kopiere og indsætte. Med tid og erfaring er det tydeligt, at vi leder efter stadig klarere metoder og syntakser. På trods af de tendenser, der skelnes omkring hvert sprog, er vi ofte i stand til ved at læse kode afgøre, hvem af vores team der har en sådan syntaks. I C # vil purister få en vane med at starte alle deres grænseflader med et "jeg" F.eks. .

PHP, en gratis syntaks... for fri?

Jeg har selv flere vaner, der gør, at jeg kan bygge min kode på en almindelig måde. Dette for nemt at finde rundt, for at arbejde hurtigt, men også for at lette fejlfinding og læsning af min kode for mine kollegaer.

Indtast dens parametre, for hvad? Og hvorfor er dette en god praksis?

I PHP er syntaksen meget fri. Jeg mener meget frit med det faktum, at sproget ikke er særlig verbose. Uden at være tilhænger af sprog som Java for eksempel, tror jeg, at indtastning af dets parametre kun kan hjælpe os i vores arbejde.

Hvorfor spilde tid på at skrive datatypen?
Faktisk, men lad os straks sammenligne fordele og ulemper.

I ulemperne, uden at være dårlige tider, vil jeg finde det svært at citere et andet argument end det, jeg skrev ovenfor.

I fordelene kunne jeg angive en lille liste:

  1. Det hjælper mig med at bygge min kode. I min prototype (erklæring om min funktion) ved jeg, at sådan og sådan et argument skal være et astråle ou int.
  2. Dette giver mig mulighed for at debugge hurtigere. Hvis du erklærede, at du ønskede et argument af typen Bruger i din metode vil PHP forvente en brugerforekomst. Eller prøv at give et astråle eller enhver anden type end den angivne, vil få PHP til at stoppe øjeblikkeligt. Ganske vist risikerer fejlen at blive ret "hård", men al resten af ​​din udvikling vil sandsynligvis ikke fejle.
  3. Mine kolleger kan lide at læse min kode som en bog. Faktisk, når vi ved, at setItem(...)-metoden tager et argument af typen foo, det hjælper. Nej ?
    1
    2
    funktion sætItem($item);
    funktion sætItem(Foo $item);

Denne liste indeholder ganske vist kun 3 punkter, men vores arbejde forpligter os til altid at være på krigsstien og altid at udforske nye veje, jeg råder dig til at prøve og se selv.

Et suspenderet problem med typen blandet

Ja, jeg må alligevel indrømme en svaghed, typen blandet. Frygtelig fyr og at blive forbudt. For dem, der har kodet i C/C++, er det som at erklære en instanspointer med en (void *).

Jeg råder dig så meget som muligt til ikke at bruge denne type og begrænse brugen. Et eksempel ?
Metoden setPoireau(blandet $poireau) tager porrer som parametre, men da den ikke er skrevet, kan du også give den en babysæl... Problematisk.

Hvis du ville tvinge porrer, ved du, hvad du skal gøre, og lad os indrømme, at du har et forskruet sind, og at du gerne vil være i stand til at give grøntsager, jeg inviterer dig til at bruge en grænseflade (eller et klasseabstrakt ) og definer din metode som denne.

1
funktion sætLeek(I Grøntsag $porre);

Jeg er enig i, at dette eksempel måske ikke er det bedste, der findes, men det har fordelen af ​​at være klart.

Konklusion

Indtastningen er ikke obligatorisk, men forbliver tilgængelig for alle, der ønsker at arbejde klart og rent. Jeg anbefaler det stærkt til dig.

Måske vil vi have ret til en dag at skrive tilbagevenden af ​​en metode, der kan hjælpe os i vores søgen efter en stadig bedre semantik.

★ ★ ★ ★ ★