PHP
Webbyrå » Digitale nyheter » PHP Beste praksis: Typeparametere

PHP Beste praksis: Typeparametere

Det er praksisene vi lærer på skolen, de vi tar på oss gjennom latskap, de vi tar i bruk av vane, enten ved å se den eller ved å systematisk kopiere og lime inn. Med tid og erfaring er det tydelig at vi ser etter stadig klarere metoder og syntakser. Til tross for trendene som skilles rundt hvert språk, er vi ofte i stand til å avgjøre ved å lese kode, hvem av teamet vårt som har en slik syntaks. I C # vil purister få en vane med å starte alle grensesnittene sine med et "jeg" For eksempel .

PHP, en gratis syntaks ... for gratis?

Selv har jeg flere vaner som gjør at jeg kan bygge koden min på en vanlig måte. Dette for å enkelt finne fram, for å jobbe raskt, men også for å lette feilsøking og lesing av koden min for mine kolleger.

Skriv inn parameterne, for hva? Og hvorfor er dette en god praksis?

I PHP er syntaksen veldig fri. Jeg mener veldig fritt med det faktum at språket ikke er veldig detaljert. Uten å være tilhenger av språk som for eksempel Java, tror jeg at det å skrive inn parameterne bare kan hjelpe oss i arbeidet vårt.

Hvorfor kaste bort tid på å skrive datatypen?
Faktisk, men la oss umiddelbart sammenligne fordeler og ulemper.

I minusene, uten å være dårlige tider, vil jeg finne det vanskelig å sitere et annet argument enn det jeg skrev ovenfor.

I proffene kunne jeg oppgi en liten liste:

  1. Det hjelper meg å bygge koden min. I min prototype (deklarasjon av min funksjon) vet jeg at et slikt og et argument må være en astråle ou int.
  2. Dette lar meg feilsøke raskere. Hvis du erklærte at du ønsket et argument av typen Bruker i din metode vil PHP forvente en brukerforekomst. Eller prøv å gi en astråle eller en annen type enn den som er angitt, vil føre til at PHP stopper umiddelbart. Riktignok risikerer feilen å bli ganske «hard», men all den øvrige utviklingen din vil sannsynligvis ikke svikte.
  3. Mine kolleger liker å lese koden min som en bok. Faktisk, når vi vet at setItem(...)-metoden tar et argument av typen foo, det hjelper. Nei ?
    1
    2
    funksjon settItem($item);
    funksjon settItem(Foo $item);

Riktignok inneholder denne listen bare 3 punkter, men arbeidet vårt forplikter oss til alltid å være på krigsfot og til alltid å utforske nye veier, jeg råder deg til å prøve og se selv.

Et suspendert problem med typen blandet

Ja, jeg må likevel innrømme en svakhet, typen blandet. Fryktelig fyr og å bli utestengt. For de som har kodet i C/C++, er det som å erklære en instanspeker med en (void *).

Jeg anbefaler deg så mye som mulig å ikke bruke denne typen og begrense bruken. Et eksempel ?
Metoden setPoireau(blandet $poireau) tar purre som parametere, men siden den ikke er skrevet, kan du også gi den en babysegl... Problematisk.

Hvis du ønsket å tvinge purre, vet du hva du må gjøre, og la oss innrømme at du har et vrient sinn, og at du gjerne vil kunne gi grønnsaker, jeg inviterer deg til å bruke et grensesnitt (eller et klasseabstrakt ) og definer metoden din slik.

1
funksjon settLeek(I grønnsaks$purre);

Jeg er enig i at dette eksemplet kanskje ikke er det beste som finnes, men det har fordelen av å være tydelig.

konklusjonen

Skrivingen er ikke obligatorisk, men forblir tilgjengelig for alle som ønsker å jobbe klart og rent. Jeg anbefaler det på det sterkeste til deg.

Kanskje vil vi ha rett, en dag, til å skrive tilbake en metode for å hjelpe oss i vår søken etter stadig bedre semantikk.

★ ★ ★ ★ ★