17 online Udvikleren.dk > PHP >

Agil PHP med CodeIgniter

Et utidigt ryk i USB-kablet kan rydde din harddisk

Et utidigt ryk i USB-kablet kan rydde din harddisk

Hvis du river din USB-harddisk eller din USB-stick ud af computeren uden at klikke på den rigtige knap i styresystemet først, risikerer du at ende med en tom disk. Det samme kan ske med billederne på dit kamerakort. [Læs mere | 0 kommentarer]
 

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

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

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

Vedhæftede filer:

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, Controller
En 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.


<< < Side 1 af 7 > >>
Denne artikel har en rating på 4,8 ud af 5 stemme(r).

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