Gå til innhold

Organisering av kode


Anbefalte innlegg

Hei, ønsker litt tilbakemelding på et i og for seg stort emne men skal prøve å gjøre det kort. Jeg synes det er mye bra kodeeksempler på nettet, lett å finne fram på php.net og hvis man ikke alltid forstår sammenhengen kan man alltids google etter praktiske eksempler.

 

Det jeg synes det er verre å finne eksempler på er organisering av kode. Vel, det er kanskje heller slik at den organiseringen av kode jeg har funnet eksempler på er VM i abstrahering. Det er et enormt klassebibliotek med inner og outer templates, template engines, og en hel del ting jeg ikke umiddelbart klarer å gripe fatt i - som da paradoksalt skal gjøre ting enklere for meg og gjøre meg i stand til å gjøre ting raskere.

 

Jeg har kanskje et drawback i.o.m at jeg begynte med webdesign først slik at jeg kunne html/css før jeg begynte med php. Derfor var det naturlig å legge til PHP til min eksisterende html for funksjonalitetens skyld, men jeg lærte meg allikevel å skille mellom html og php, slik:

 

<?php

function hello(){
 echo "Hello world";
}
?>

<html>
<body>

<?php hello() ?>

</body>
</html>

 

Men dette skal visstnok ikke være særlig hverken robust eller profesjonelt, eller "enterprise".

 

Helt konkret har jeg kommet fram til denne enkle måten å gjøre ting på:

 

 

index.php

mod1

index.php

view1.htm

view2.htm

funksjoner.php

mod2

index.php

view1.htm

view2.htm

funksjoner.php

lib

config.php

DB.php

 

 

 

Helt enkelt ruter index.php på rot til riktig mod/index.php i henhold til url-parametere.

 

Jeg er ikke ukjent med bruk av klasser, jeg bruker klassen DB.php mot databasen slik at jeg ikke binder meg opp mot en database f.eks. Og alt jeg gjør ellers er basert på funksjoner ( jeg grupperer funksjonene mine i filer så sånn sett ser jeg jo at jeg kunne brukt mer klasser ) Men ting er ihvertfall ryddig og ganske greit å vedlikeholde.

 

Men overalt ser at jeg at det som hot for tiden er abstraherte rammeverk hvor all html genereres ved hjelp av php, eller php genererer xml som ved hjelp av xls konverteres til html. Jeg må si at for mine behov blir dette veldig voldsomt.

 

Har det noe for seg det jeg driver med, eller er dette fullstendig steinalderen, fullstendig på vei ut og noe jeg absolutt ikke burde bruke ovenfor betalende kunder?

 

Beklager hvis dette ble langt og ugreit, men det er et tema som opptar meg en del, naturligvis, og jeg tror vel at flere også er opptatt av dette og har en del meninger og erfaringer.

Lenke til kommentar
Videoannonse
Annonse

Med mindre du føler du trenger en stor koloss (aka. gigantisk rammeverk) er det ingenting i veien for å ikke bruke det, men pass nå isåfall på å ikke finn opp hjulet uhensiktsmessig for mange ganger. Uannsett, en veldig naturlig og enkel måte er å dele koden inn i businesslogikk og presentasjonslogikk. Førstnevnte vil være ren PHP og er i bunn og grunn hvordan du kommer frem til dataene (mao. input fra bruker skal omdannes til faktiske data som skal returneres). Sistnevnte er ren presentasjon av dataene fra businesslogikken. Presentasjonslogikk er ikke det samme som ren HTML, CSS eller JS. Det er absolutt ingenting i veien for å bruke PHP eller andre ting der, men hele poenget er at man har et sett data og disse skal vises frem. Dette bør "åpenbart" deles inn i minst to filer. Videre er det en fordel å dele ting inn i funksjoner og klasser etter eget ønske. Stikkordet er gjenbruk av kode. Tror du at du kommer til å få bruk for en snutt kode seinere et annet sted, så for all del lag funksjon/klasse ut av det. Det er mye bedre å gjøre det en gang for mye enn en gang for lite ;)

Lenke til kommentar

Nøkkelen her er egentlig teori og erfaring, det er få snarveier på de områdene, men jeg vil anbefale deg å sette deg inn i et rammeverk som f.eks Zend FW. (primært MVC-delen) Ikke nødvendigvis for å bruke selve rammeverket (selv om jeg vil anbefale det også for større prosjekter), men for å se hvordan disse tingene løses av folk som har nok kunnskap til å velge og vrake mellom forskjellige løsninger og gjennom mange års erfaring har kommet fram til en "best practice"-metode for oppgaven.

Lenke til kommentar
Nøkkelen her er egentlig teori og erfaring, det er få snarveier på de områdene, men jeg vil anbefale deg å sette deg inn i et rammeverk som f.eks Zend FW. (primært MVC-delen) Ikke nødvendigvis for å bruke selve rammeverket (selv om jeg vil anbefale det også for større prosjekter), men for å se hvordan disse tingene løses av folk som har nok kunnskap til å velge og vrake mellom forskjellige løsninger og gjennom mange års erfaring har kommet fram til en "best practice"-metode for oppgaven.

 

Det tvinger seg fram. Fra å ha brukt enkelte eksterne klasser + noe pear tidvis ser jeg mer og mer nytten av et rammeverk. Men på wikipedia fantes det ihvertfall 25 linker til forskjellige php-rammeverk. Det er vel noe av grunnen til at jeg har sittet litt på gjerdet. Men jeg får satse på Zend i.o.m at de står bak php.

 

Foreløpig har jeg ikke gjort stort annet på web enn å putte ting inn og hente ting ut av database. Men nå trenger jeg etterhvert både webservices og ajax(chat og autolagring) hvor jeg ser at Zend framework har mye og tilby rundt det.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...