ПредишенСледващото

Аз ще се опитам тук, за да обясни начина, по който се обърне писмено сайтове, където те могат да използват приставки. Пример за това известно PhpNuke скрипт. Нямаше да му подхода, използван в това обвини, за модул е ​​много удобно. Но тъй като на чепат общ код, за да приложи такъв скрипт на сериозни сайтове, или по-скоро се каже, портали с голям брой посетители, това не се препоръчва. Защо? Сценарият работи бавно, много голям товар върху базата данни. Можете да все още много да се опише, но това е за друга статия. Ако някой се интересува. че интернет е пълно с описания на двигателя. Най- <неудобоваримости> PhpNuke бях себе си убеден. Моята основна проект NVIDIA BIOS Collection в началото се основава на PhpNuke, но постоянни проблеми с хостинг ме накараха да започне да развива своята портал система от нулата. От PhpNuke аз да се вземат само най-основните модули, а останалите направиха същото себе си. И така, да започнем с това. На първо място, е необходимо да се помисли за системата на каталози и къде ще се намира. Ето един пример изпълнение.

* / Модове / - директория за съхранение на модули
* / Img / - снимки
* / Включване / - каталога на помощни файлове

Това е, което сме сега, докато е необходимо. Нанесете блокове и все пак ние Skiny ние няма. В моя портал също е имало и други каталози

Е и други каталози.

Главната директория се съхраняват само един файл index.php и цялата работа минава през него. Сега ние трябва да реши как ще изглежда на самия сайт. За нашия пример, най-простият вариант на подхода на проектиране. отгоре на сайта. в долната част на страницата, а в средата ни информация от модули. За да направите това, включете директорията създаде два файла top.php и bottom.php, съответно, че ще бъде в горната част на конструкцията и долната част на дизайна.

Също така, да създадете конфигурационен файл config.php и го сложи в пътищата за включване.

Ето един примерен схема на работа index.php

Сега се създаде два файла mod1.php и mod2.php и ги поставя в каталожните модове.

Нека обясня малко тук тази линия

Във всеки модул, е желателно да се включи такава проверка, за да се избегне модул файла на поканата е index.php. На примера на моя портал за модул повикване Имам връзка с базата данни, прочетете някои от глобалните променливи и без тях, нито един от самия модул не може да работи. Така че е по-добре просто да изключите модула разговор директно. Контактни модули в този случай, произведени в съответствие с формуляра index.php? Mod = Име на модул, но тук е възможно да се прилагат и NC система. Тогава URL става име на index.php / модул /

Тук основно много груба схема на реализация на модула. Можете да добавите всеки модул, просто го постави в каталожните модове / и се придържат към общата концепция за работа, за да се изгради един много сложен сайт. Какво е използваемостта? В действителност премахнете от основна грижа за садене код дизайн. Това прави всеки index.php. Същият модул трябва само да работят и да бъдат полезни. Централизирането на събирането на основни данни от база данни или на конфигурационния файл на, глобални променливи, сайт, информация за потребителя и т.н. От друга страна, има и недостатъци (въпреки че в определен поглед те не изглежда да е недостатъци), да кажем, че е необходимо ясно да се гарантира, че всички имена на променливи, използвани за модула, за да не заместват, случайно, им вътре в модула. Един път ми се случи. След такова събитие, аз взех за себе си за правило да име системни променливи в такъв вид променлива $ sys_imya. Друг очевиден недостатък е трудността на изпълнение на различни варианти за дизайн на различните модули. Но! Тук също има начин.

Ако го е правило, че всеки модул е ​​длъжен да се направи извод капачка и отдолу на сайта да направи, а след това вече дава право на свободен избор за това какво и как да се показва на.

Например, нашите прости модули могат да бъдат модифицирани в това изпълнение.

Как да се направи в този конкретен случай и да решите. Аз просто се опитах да изпрати тези, които започват да пишат на PHP, и може и тези, които вече пише, на определен вариант или стил на програмиране.

Подкрепете проекта - споделете линка, благодаря!