Modulare de programare pe php sau cum să scrie un mic portal, php

Voi încerca să explic aici modul în care abordez scrierea site-urilor în care pot fi utilizate plug-in-urile. Un exemplu în acest sens este binecunoscutul script PHPNuke. Indiferent de modul în care l-au certat, abordarea aplicată în programarea modulară este foarte convenabilă. Dar, datorită codului obișnuit comun de a aplica un astfel de script pe site-uri serioase, nu se recomandă mai exact portalurile cu un număr mare de vizitatori. De ce? Scriptul rulează încet, o sarcină foarte mare în baza de date. Mai sunt multe de descris, dar acest lucru este important pentru un alt articol. Dacă cineva este interesat. atunci Internetul este plin de descrieri ale acestui motor. În <неудобоваримости> PHPNuke M-am asigurat. Proiectul meu de bază NVIDIA BIOS Colectia la început sa bazat pe PHPNuke, dar probleme constante cu găzduirea ma făcut să înceapă să dezvolte sistemul portal de la zero. Din PHPNuke iau doar esența modulelor, tot ce altceva am făcut-o singură. Și așa, pentru început. Mai întâi de toate, trebuie să gândim prin sistemul de catalogare, ce și unde va minți. Iată o opțiune aproximativă.







* / mods / - director pentru stocarea modulelor
* / img / - imagini
* / include / - directorul fișierelor auxiliare

Aceasta este ceea ce avem nevoie acum. Nu vom folosi blocuri și piei încă. Au existat și alte cataloage în portalul meu

bine, și alte directoare.

În directorul rădăcină este stocat un singur fișier index.php și toate lucrările trec prin el. Acum trebuie să decidem cum va arăta site-ul. Pentru exemplul nostru, cea mai simplă variantă de design este potrivită. de sus a site-ului. partea de jos a site-ului, și în mijlocul informațiilor noastre din module. Pentru a face acest lucru, se numără directorul creează două fișiere top.php și, respectiv bottom.php, care va fi partea superioară a desenului sau modelului și partea de jos a desenului sau modelului.







Creați, de asemenea, un fișier de configurare config.php și puneți-l în directorul inclus.

Iată un exemplu de schemă de lucru index.php

Acum creați două fișiere mod1.php și mod2.php și le puneți în directorul mods.

O să explic asta puțin

În fiecare modul, este de dorit să includeți un astfel de control pentru a evita sosirea fișierului modul în afara index.php-ului în sine. Pe exemplul portalului meu înainte de a fi apelat modulul, am o conexiune în baza de date, citim câteva variabile globale și fără ele, niciunul modul nu poate funcționa. Deci, cel mai bine este să dezactivați direct apelul modulului. Apelarea modulelor în acest caz se face printr-un șir în formularul index.php? Mod = numele modulului, dar aici puteți aplica sistemul CNC. Apoi, adresa URL va arăta ca index.php / numele modulului /

Aceasta este în esență o implementare foarte dură a modulelor. Puteți adăuga orice modul, pur și simplu pune-l în mods catalog / și aderarea la conceptul general de lucru, pentru a construi un site foarte complex. Care sunt avantajele muncii? De fapt, vă îndepărtați de la sine principala preocupare pentru codul de întindere pentru design. Acest lucru se face o dată în index.php. Modulul însuși ar trebui să funcționeze și să fie de folos. Centralizarea colectarea de informații de bază din fișierul de bază de date sau de configurare, variabile globale, site-ul, informații de utilizator, etc. Pe de altă parte, există dezavantaje (deși la o anumită vedere acestea nu par a fi dezavantaje), spun că este necesar să se asigure în mod clar că orice nume de variabile utilizate la modulul pentru a nu suprascrie, accidental, lor în interiorul modulului. Odată ce am făcut asta. După un astfel de eveniment, am luat pentru mine o regulă pentru variabilele de sistem nume în asemenea variabila $ sys_imya. Un alt dezavantaj evident este dificultatea implementării diferitelor opțiuni de proiectare pentru diferite module. Dar! Există și o cale de ieșire.

Dacă luați ca regulă faptul că fiecare modul este obligat să deducă antetul și partea de jos a site-ului, atunci vi se oferă deja libertatea de a alege ce și cum să afișați.

De exemplu, modulele noastre simple pot fi modificate în acest mod.

Cum se face acest lucru și un caz specific pentru a rezolva pentru tine. Am încercat doar să trimit pe cei care încep să scrie pe php și poate pe cei care deja scriu, pentru o anumită opțiune sau stil de programare.







Trimiteți-le prietenilor: