Avatar billede tlunde Nybegynder
09. december 2006 - 18:22 Der er 5 kommentarer og
1 løsning

Det at programmere i klasser?

Hejsa,
Jeg sidder i et job, hvor jeg pt. koder i actions. Et eks.

www.dinside.dk/index.php?action=info

if ($action = info) {
  echo"Bla Bla";
}

Men har hørt fra en del andre i lignende jobs, hvor de koder i klasser. Er dette en fordel inden for kodning af webløsninger og webmoduler i PHP? Er det svært at komme i gang med?

/Lunde
Avatar billede intel4004 Novice
09. december 2006 - 20:40 #1
Jeg går udfra du med "at programmere med klasser" hentyder til det som kaldet object orienteret programmering (OOP).

OOP er egentlig ikke nogen ny ide, men det er, så vidt jeg har erfaret, meget lettere at designe software ved hjælp af objekter og altså også klasser.

En klasse er kort fortalt en ny data-type som man definerer i sproget. Eksempelvis så kan man lave klasse "Bil" som en ny datatype. Man kan så vælge på et tidspunkt i sit kode at "instantiere" eller oprette et objekt baseret på klassen "Bil". I klasse-definitionen kan man definere funktioner til normalt ville være tilgængelig i det objekt som klasse beskriver (ved en bil kunne det være eksempelvis tænd og sluk funktioner). Jeg ved ikke om du kan forestille dig at sådan en modellering kan være en udemærket styrke ved større projekter i software-udvikling.

Så vidt jeg ved så er der delte menninger ang. brugen af PHP's OOP muligheder. Det skyldes vistnok at der stor forskel på OOP understøttelse imellem PHP4 og PHP5. Der er sikkert også andre grunde. Tit er det måske ikke besværet værd.

Til webdesign vil jeg personligt sige at der skal være en decideret grund til at benytte PHP's OOP muligheder. Hvis du evt. bygger et system som kan modelleres vha. funktioner, nedarvinger etc. Eksempelvis et komplekst online-handels system, forum eller et CMS.

Og uanset om man bruger OOP i PHP eller ej, så slipper man altså ikke for at benytte et scripts GET-parametre til aktion styring eller andet.

Mvh Intel4004
Avatar billede tdafoobar Nybegynder
10. december 2006 - 11:39 #2
Hvis du med

if ($action = info) {
  echo"Bla Bla";
}

Bruger register globals har du en lang vej endnu til at lære OOP.

Men du kan f.eks. kigge hvordan jeg har lavet en OO gæstebog: http://dragons-lair.org/module/repository/PHP/Guestbook/

Intel4004: "Og uanset om man bruger OOP i PHP eller ej, så slipper man altså ikke for at benytte et scripts GET-parametre til aktion styring eller andet."

De fleste størrere frameworks benytter en såkaldt "router" til at håntere dette, check f.eks. RewriteRouter i Zend Framework :-)
Avatar billede tdafoobar Nybegynder
10. december 2006 - 11:41 #3
Andet eksempel på bruge af OOP:

http://dragons-lair.org/module/repository/PHP/Smarty_MVC/

Brug af Smarty som templating i et MVC (Model-View-Controller) setup :-)
Avatar billede tdafoobar Nybegynder
10. december 2006 - 11:42 #4
Og jeg kunne se du f.eks. har spurt om dynamiske sider, her er eksempel på en PageModel som retunere en side dynamisk fra et database.

http://dragons-lair.org/module/repository/PHP/kildeparken2/app/Models/PageModel.php
Avatar billede tlunde Nybegynder
06. marts 2007 - 08:24 #5
Nogen der smider et svar?
Avatar billede tlunde Nybegynder
21. januar 2008 - 08:53 #6
lukker...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester