Gå til innhold

Organisering og oppbygging av kode


Anbefalte innlegg

Lurer på hva som er den mest anbefalte metoden og kode på? Har problemer med uoversiktelig kode og trenger noen tips. Hvordan organiserer dere kode? Lagrer dere alt i forskjellige sider som tar for seg de forskjellige seksjonene. Alt i én fil? Alt i funksjoner? Klasser? Forklar gjerne med eksempler.

Lenke til kommentar
Videoannonse
Annonse

nå har jeg ikke så mye å kommentere på fil struktur men i koden anbefaler jeg deg å ha med indents. sånn:

<?php

 

if(emtpy($_SERVER["HTTP_REFERER"])) {

[tab]echo "nicely";

}

else {

[tab]if($_SERVER["REMOTE_ADDR"] == "10.0.0.1") {

[tab][tab]echo "fishy fishy";

[tab]}

[tab]else {

[tab][tab]echo "tuna!";

[tab]};

};

 

?>

...og det som har blitt sagt

Lenke til kommentar
OOP kan hjelpe en del med dette:

Én fil per klasse og sørg for å lage en skikkelig mappestruktur.

6217434[/snapback]

 

Jeg har tenkt litt på det der, hva vil "skikkelig mappestruktur" si?

Eksempelvis et cms

en mappe for adminting og en for frontend,

eller en for klasser, en for adminting og en for frontend?

eller en for klasser, en for layout (css og templates) en for adminting og en for frontend?

 

Du skjønner?

Prosjektene mine blir veldig rotete. I java er det i grunnen greitt, der lager jeg pakker for relaterte ting, men i php får jeg problemer med includes hvis jeg grupperer slik (siden includepath endres alt etter "nivå" på filen jeg forsøker å vise)

Lenke til kommentar
OOP kan hjelpe en del med dette:

Én fil per klasse og sørg for å lage en skikkelig mappestruktur.

6217434[/snapback]

 

Jeg har tenkt litt på det der, hva vil "skikkelig mappestruktur" si?

Eksempelvis et cms

en mappe for adminting og en for frontend,

eller en for klasser, en for adminting og en for frontend?

eller en for klasser, en for layout (css og templates) en for adminting og en for frontend?

 

Du skjønner?

Prosjektene mine blir veldig rotete. I java er det i grunnen greitt, der lager jeg pakker for relaterte ting, men i php får jeg problemer med includes hvis jeg grupperer slik (siden includepath endres alt etter "nivå" på filen jeg forsøker å vise)

6221351[/snapback]

Jeg holder på å lage mitt eget system nå. Det er selvsagt ikke feilfritt, men jeg tror jeg er inne på noe.

 

-root
--class
---interface
---factory
--module
---news
--template

 

-root         || bunnmappen, her kommer index.php og config
--class       || alle de selvstendige klassene jeg bruker i systemet kommer her. Dvs. klasser som ikke har noen kontroll. (Modulene kontrollerer og bruker disse)
---interface  || alle interfacene jeg bruker i klassene kommer her
---factory    || alle "fabrikkene", som brukes til å opprette en del underklasser
--module      || moduler til siden min (ja, den skal være veldig modulær)
---news       || modulen news (.php) bruker denne mappen for å lagre stæsj, modulen oppretter denne selv om den trenger den.
--template    || Denne er jeg litt usikker på. I "class"-mappen har jeg en fil som heter template_engine (klassen inni heter Template_engine, enkelt? :)) så jeg er ikke helt sikker på om jeg vil ha denne mappen her eller som en undermappe i class. På en annen side er malene viktige og noe man kan endre mye på, og da er det greit å ikke gjemme dem bort.

 

Problemet rundt inkludering av filer er noe jeg også har slitt med, jeg kom frem til denne løsningen fra f.eks. en fil i mappen "class" som skal bruke et interface fra "interface"-mappen og noen andre klasser

<?php

// __FILE__ er alltid relativ til filen hvor __FILE__ blir brukt såvidt jeg har forstått, uansett hvilken fil som inkluderer den
// dvs. at ved bruk av dirname(__FILE__) er du alltid i mappen hvor filen din er definert, noe som burde gjøre inkludering litt enklere.

include_once dirname(__FILE__).'/interface/ibls.php';
include_once dirname(__FILE__).'/post.php';

class News extends Post implements iBasicLoadSave {
(...)
}

?>

Endret av Nazgul
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...