20 online Udvikleren.dk > PHP >

Agil PHP med CodeIgniter - Side 5

IT-driftschef

IT-driftschef

Ministeriet for Fødevare Landbrug og Fiskeri FødevareErhverv IT-driftschef Kan du kombinere stærke ledelsesmæssige og IT-faglige kompetencer, og har du lyst til at stå i spidsen for en serviceminded og fagligt udfordrende IT-driftsafdeling, så har FødevareErhverv ... [Læs mere | Flere jobs]
 

Per Sikker Hansen
Forfatter: Per Sikker Hansen
Artikler skrevet: 1
UP tjent på artikler: 1.000

Hits: 3289
Niveau: Lettere øvet
Artikel UP: 1.000

Rating: En rating på 4,8 ud af 5 stemme(r)

Vedhæftede filer:

Konventioner
Som du nok har bemærket følger CodeIgniters filer nogle regler for, hvordan ting skal navngives, og hvordan filer skal afsluttes. Det kan dog være lidt forvirrende med de forskellige konventioner, da de er anderledes alt efter situation. Jeg vil her ridse navngivningsreglerne op i forståeligt dansk.

  • Flere ord i et fil-, klasse- eller funktionsnavn symboliseres med en underscore: “_”
    • Rigtigt: code_igniter

    • Forkert: codeIgniter, CodeIgniter, Code igniter

  • Klasser navngives med stort forbogstav og resten småt
    • Rigtigt: Welcome_model

    • Forkert: welcome_Model, Welcome_Model, welcome_model

  • Metoder navngives med små bogstaver hele vejen igennem
    • Rigtigt: index()

    • Forkert: Index()

  • Filer med klasser navngives efter den klasse der ligger i den. Filnavne har kun små bogstaver.
    • Rigtigt: welcome_model.php

    • Forkert: Welcome_model.php, welcome_modellen.php

  • Model-klasser navngives med “_model” som suffix.
    • Rigtigt: Welcome_model

    • Forkert: welcome, welcomemodel


Som nævnt i afsnittet Controllers og Views afsluttes filer med ren PHP-logik ikke med et ?>, men snarere med to linier kommentarer, der fortæller hvad filen hedder, og hvor den ligger i filtræet, efter denne prototype:

Fold kodeboks ind/udPHP kode 


Dette er som nævnt for at undgå problemer med whitespace, der bliver anset som output af serveren, hvilket vil sende dataene til browseren udenom outbut bufferen som CodeIgniter bruger – resulterende i en blank side der er svær at debugge.

Til indrykning benyttes tabulator-tasten, istedet for mellemrumstasten. Dette gør det nemmere for den enkelte udvikler at indstille størrelsen på indrykningerne som det passer vedkommende, i sin egen editor, uden at det har betydning for andre udvikler.

Filer bør gemmes med tegnsættet UTF-8 for at understøtte flest mulige sprog og systemer, og for at undgå problemer med at nogle filer er det ene, og andre det andet.

CodeIgniter gør ydermere, som nævnt, brug af PHP4-syntaxen til metoder og egenskaber. Det betyder at istedet for at angive et access-niveau på en egenskab eller metode, angives enten var eller function keywords, respektivt.

Sidst men ikke mindst anvendes et linieskift efter funktionserklæringer/ifsætninger og lignende, inden den åbnende og lukkende tuborgklamme. Den eneste undtagelse herfor er classes, hvor den åbnende tuborgklamme er på samme linie som klassedefinitionen.

Rigtigt:
Fold kodeboks ind/udPHP kode 

Forkert:
Fold kodeboks ind/udPHP kode 



<< < Side 5 af 7 > >>


Kommentarer
Bruger
Martin Slot @ 29-09-2009 21:52:33
Struktureret artikel med gode formulering. Jeg føler selv at jeg har fået noget ud af at læse den.
Bruger
Martin Askjær Kristensen @ 04-10-2009 15:34:37
Kanon god artikel. Jeg har selv længe holdt mig fra frameworks, da jeg ikke har kunne se det smarte i at benytte det frem for mine egne klasser. Men den store fordel er gået op for mig at jeg kan stadig bruge mine egne klasser, nu kan de komme nemmere over i MVC plus Codeigniter tilbyder noget security jeg har ikke selv har haft nogle smarte løsninger på. Thumbs up og en femmer herfra.
Bruger
Per Sikker Hansen @ 05-10-2009 12:58:20
Jeg takker mange gange for de rosende ord og den pæne rating :)
Bruger
Randi H. @ 12-01-2010 22:41:58
Vil da lige give lidt feedback efter et par meget lærrige timers læsning :-)

Side 4, afsnit 2 -
Du skriver: "Den ovenstående fil er meget, meget basisk" <--- så vidt jeg ved kan filer ikke være basiske ;-) basisk er noget man snakker om i kemi. Basal er det rette danske ord for det engelske 'basic'.

Side 6, første PHP kode -
du bruger $this->weblog_model->opret(); i koden, men betegner den $this->weblog_model->create() i teksten

Side 6, anden PHP kode -
jeg har problemer med empty(), da den ikke accepterer et function return som argument. Jeg valgte at bruge == "" i stedet.

Ellers vil jeg sige tak for en super guide :-) en 5'er fra mig.
Bruger
Per Sikker Hansen @ 13-01-2010 00:20:27
Tak for dine indspark Randi!

Basisk og opret/create havde jeg ikke lige set, tak for det. :)

Den med empty havde jeg godt spottet et stykke tid efter jeg uploadede den, men udvikleren.dk har ikke rigtigt nogen mulighed for at man kan redigere i sine artikler efter de er godkendt. Men det er iøvrigt slet ikke nødvendigt med det tjek. Funktionen returnerer nemlig boolean false hvis den er empty såvel som !isset, har jeg sidenhen erfaret.
Bruger
Randi H. @ 13-01-2010 08:38:13
Oh, ja det var jo rart at vide ;-) det havde jeg ikke lige fået tjekket efter... Så er det jo ikke det store problem.
Bruger
Per Sikker Hansen @ 13-01-2010 13:18:36
Så, for at forklare for andre der ser det her, og ikke forstår hvad vi snakker om:

I artiklen står der nogle steder if(empty($this->input->post('noget')) - der kan I nøjes med if(!$this->input->post('noget')) :)


Tilføj rating/kommentar til artiklen
Du skal være logget ind for at tilføje en rating/kommentar til denne artikel.






Klik for at logge ind


Teknologier