Forfatter: Per Sikker Hansen
Artikler skrevet: 1
UP tjent på artikler: 1.000
Hits: 2381
Niveau: Lettere øvet
Artikel UP: 1.000
Rating:
Agil PHP med CodeIgniter
Denne artikel er skrevet med fokus på den erfarne PHP-udvikler, der er træt af at gentage sig selv hver gang han/hun starter et nyt PHP-projekt, og bare gerne vil have noget fra hånden hurtigt, pænt og effektivt. Der vil derfor ikke blive taget særligt meget hensyn til nybegynderen indenfor PHP, men begreber såsom MVC og OOP vil blive kort forklaret for at alle kan være med. Hvis du er ny til PHP bør du læse en artikel rettet imod at komme igang med sproget.
Artiklen lægger ud med nogle teoretiske afsnit, der forklarer lidt om tankerne bag systemet og hvordan strukturen er bygget op. Føl dig fri til at springe de afsnit over hvis du bare gerne vil se noget kode.
Indholdsfortegnelse:- Model, View, Controller
- Object Oriented Programming
- Agile Development
- CodeIgniter
- Lad os komme igang
- Opsætning af CodeIgniter
- Filstrukturen
- Controllers og Views
- Models
- Konventioner
- Øvelse: blogsystem
- Databasen
- Oprettelsesform
- Liste over indlæg
- Læs et indlæg
- Slet/rediger indlæg
- Afrunding
- Videre læsning
Model, View, ControllerEn forkortelse du måske er stødt på før er MVC, der står for Model, View, Controller. Dette er et udviklingsmønster der har vundet indtog indenfor moderne udvikling de sidste år, på grund af dens strukturerede natur og mulighed for at adskille logik, præsentation og databaseabstraktion.
- Models er blandet andet datalag, der håndterer kommunikationen med den rå information der kan ligge i fx en database, flade filer eller på en webservice. Udover at snakke med databasen sørger models også for den dataspecifikke behandlingslogik. For eksempel er det modellens opgave at sammenligne passwords ved login, eller at slette brugerens private beskeder sammen med brugeren.
- Views er præsentationslaget, hvor dataene der bliver trukket ud igennem modellen bliver vist på skærmen for brugeren, for det meste spundet ind i (X)HTML/CSS.
- Controllers er adgangslaget, der holder styr på hvad det er brugeren gerne vil se, kontakter modellen for at se om dataene findes og sender de behandlede data videre til et view, der præsenterer det hele på skærmen.
Fordelen ved dette mønster er, at alting foregår så modulært, at den ene del kan skiftes ud, uden at resten af applikationen berøres - fx kan rutinen til at hente en liste af brugere ændres til at hente fra en anden tabel i User modellen, hvorefter ændringen vil træde i kraft automatisk på alle sider der har noget med brugere at gøre.