KonventionerSom 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:
- /* End of file fil_navn.php */
- /* Location: ./system/application/controllers/fil_navn.php */
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:
- if($foo == 'bar')
- {
- echo 'variablen $foo er lig med bar';
- }
Forkert:
- if($foo == 'bar') { echo 'variablen $foo er lig med bar'; }