22. juni 2004 - 03:28Der er
21 kommentarer og 4 løsninger
Opbygning af større sites og projekter i PHP
Hvad er optimalt mht. til strukturering af store projekter?
En side (index.php) med: include('auth_sql.php'); //Mysql adgang if($_GET["cmd"] == '') { include('en_side.php'); } elseif... osv. Eller en hel fil med det hele?
Eller hvad er optimalt? Står og skal til og igang med noget lidt størrere og vil gerne høre jeres erfaringer.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg ville opdele de forskellige funktioner i nogle classes, og så opbygge projektet omkring disse.
Personligt opererer jeg med fire classes til mine projekter.
En class til mysql connection. En class til validering af forskellige brugerinput. En class til forskellige funktioner såsom for eksempel en tagster. En class til template, altså generering af hver enkelt side i dit projekt.
det jeg mente med at includere en side med hjælp av variablen page=side, så kan du lave alle funktionerene i filene for sig selv (hvori i mysql databasen er connected til index.php) - det ville være lidt næmmere at finde rundt i koderne...
Føler mig lidt ikke forstået. Jeg har noget phpkode som jeg gerne vil printe ud til brugeren. Jeg har før lavet størrere systemer men jeg ender altid op med en 4000-5000 liniers index.php fil som jeg finder ret rodet. Er det smartere at dele det hele op i små filer og include dem når der er brug for dem og er det optimalt? Eller findes der et helt tredje svar?
jamen kan give dig eks på hvis du har en side med toplogo og text i midt i hver side er det og nemer ja venter side hvis der eks er noget er hedderr links alså en kasse med nogle links fra en tabel i din database så er det jo meget nemer at have en fil hvor den kode ligger også den f.eks nyeste_links.php og så include den i den tabel på siden du skal have det fra
123maka > hurtige skitserende eksempel kan du jo genbruge til andre classes. Her er endnu et hurtigt skitserende eksempel, denne gang på en template class.
class template // generering af hver enkelt side { var $sections , $variable;
function header() { return '<span style="font-size: bold">".$this -> variable."</span>'; }
function content() { if (in_array ($this -> variable , $this -> sections)) { include ($this -> variable.".php.tpl"); }
else { include ($this -> sections[0].".php.tpl"); } } }
Jeg kan godt se det problem som 123maka har, jeg synes også nogle gange at mine sider bliver uoverskuelige, og jeg heller ikke kan finde rundt i alle mine tables etc..... så jeg må da lige være med på en lytter, skal nemlig snart til at lave nyt design til min side, og så er det jo rart med nye/gode ideer til opbygning.
Der er mange muligheder, og man ender lidt op i noget med hvad "man er til".
7th ide er rigtig god, med classes kan man genbruge mange af koderne let, men man kan et langt stykken henad vejen også benytte funktioner som du selv foreslår. Classes består (groft set) af en masse funktioner der kan fungere sammen. Hvis man er nybegynder ville jeg foreslå at benytte funktioner og evt. bryde dem i små filer og include dem når der er behov.
jeg ville måske bruge switch f.eks:
switch($_GET['cmd']){ case 'forside': include "forside.php"; break; case 'login': include "login.php"; break; }
Dette kan man have i en tabel hvor man fast includer top/bund og lignende f.eks:
<table> <tr> <td><?php include "top.php"; ?></td> </tr> <tr> <td> <?php switch($_GET['cmd']){ case 'forside': include "forside.php"; break; case 'login': include "login.php"; break; } ?> </td> </tr> <tr> <td><?php include "bund.php"; ?></td> </tr> </table>
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.