Модули для php сайтов

Промежуточный обработчик формы

Полезно если нужно отправить POST на сторонний сервис, но прежде нужно отсеять лишние заполнения

Получение ID телеграм чата для создания бота

Ссылка нужная для получения ID чата, по его названию.

Группировка до выборки GROUP BY или DISTINCT в MySQL

Если при DISTINCT или GROUP BY выборке нужно чтобы уникальным становилось последнее значение из найденных, а не первое

Определение типа устройства и мобильной OS, (Android или IOS)

Ajax + PHP + PDO + MySQL форма для сайта

Удобно использовать для создания чатов, или объявлений сайта.

Проверка mail функции сервера

В последнее время часто бывает что, из-за вирусов на сайте, хостинг блокирует mail функцию, есть простой скрипт для проверки функции:

PHP Проверка на содержание цифр в строке

Если в строке содержатся цифры то функция вернет True, если нет, то False

Вытаскивание меток и реферера и запись в куки

Вытаскивание меток и реферера с последующей записью в куки, с указанием срока хранения для меток, и перезаписью реферера, вне зависимости от существования куки с метками.

Mail обработчик с прикреплением к письму файла

PHP код простейшего обработчика писем с прикреплением к письму файла.

Передать данные в JSON при помощи PHP

Для генерации ответа сервера в JSON, например при получении POST из платежных систем об уведомлении платежа можно при помощи следующего кода:

Источник

Модульное программирование на PHP или как написать маленький портал

* /mods/ — каталог для хранения модулей
* /img/ — картинки
* /include/ — каталог вспомогательных файлов

Это что нам сейчас пока надо. Применять блоки и скины мы пока не будем. В моем портале также были другие каталоги

* /blocks/ — Тоже своего рода модули, но не выводящие сами информацию, а возвращающие заполненную переменную.
* /js/ — каталог для Java скриптов
* /theme/ — каталог выбора тем или, грубо говоря, набор скинов для сайта.
* /files/ — файлы для скачивания

ну и другие каталоги.

Также создадим файл конфигурации config.php и положим его в каталог include.

Вот примерная схема работы index.php

Теперь создадим два файла mod1.php и mod2.php и положим их в каталог mods.

Поясню немного вот эту строку

В каждый модуль желательно включать такую проверку во избежании вызова файла модуля вне самого index.php. На примере моего портала до вызова модуля у меня идет подключение в базе данных, считывание некоторых глобальных переменных и без них, ни один модуль сам по себе работать не сможет. Так что лучше всего просто запретить вызов модуля напрямую. Вызов модулей в данном случае производится через строку в виде index.php?mod=имя модуля, но тут можно применить и систему ЧПУ. Тогда URL примет вид index.php/имя модуля/

Если взять за правило, что каждый модуль обязан сам вывести шапку и низ сайта, то вам уже предоставляется свобода по выбору что и как выводить.

К примеру, наши простые модули можно модифицировать в таком варианте.

Как делать в данном и конкретном случае решать Вам. Я же просто попытался направить тех, кто начинает писать на php, а может и тех, кто уже пишет, на определенный вариант или стиль программирования.

Источник

Самые востребованные модули PHP для отличной работы сайта

Модуль cURL позволяет PHP-программам получать доступ к функциям curl в PHP. CURL расшифровывается как «Client for URLs». В проекте cURL есть два продукта libcurl и curl.

curl: инструмент командной строки для получения или отправки файлов с использованием синтаксиса URL. Поскольку curl использует libcurl, он поддерживает ряд общих внутренних протоколов, в том числе HTTP, HTTPS, FTP, FTPS, GOPHER, TELNET, DICT и FILE.

Модуль IMAP (доступен для PHP 5.6, 7.0, 7.1, 7.2 или 7.3.) представляет собой мощную библиотеку с открытым исходным кодом для подключения к почтовому ящику по протоколам POP3, IMAP и NNTP с использованием расширения PHP IMAP. Эта библиотека позволяет вам получать электронные письма с Вашего почтового сервера. Данные сообщений, считанные с почтового сервера, будут использоваться для составления списка электронных писем в почтовом ящике, создания уведомлений о непрочитанных сообщениях и для многих других целей. Используя IMAP можно создавать удобные приложения для обработки сообщений, так IMAP более функциональный и современней, протокола POP3.

Далее для подключения нужно указать сервер входящей почты (IMAP), сервер исходящей почты (SMTP), при этом указываем порт подключения, почтовый ящик к которому желаете подключится, пароль и путь к папке где будут сохраняться почтовые сообщения. Если Вам нужна дополнительная информация об IMAP-доступе, ищите в справочном центре почты, где имеете почтовый ящик, они всегда выкладывают подробные инструкции и данные для подключении.

PHP-кодер ionCube имеет 3 версии: Basic, Pro и Cerberus, также уже присутствует дополнительное шифрование файлов не с PHP разметкой. Эти версию отличаются друг от друга набором функций. Если Вам нужно просто шифрование Вам подойдет Basic, Pro или Cerberus снизят риск запуска любых украденных файлов на другом сервере, так как предоставляют возможность создавать файлы лицензий для ваших продуктов. Pro и Cerberus есть интересная функция полезна разработчикам, которая предоставляет доступ к защищенному коду в течение установленного времени для установленного количества пользователей. PHP Encoder доступен для Windows, Linux, FreeBSD и OS X. Поддержка для других платформ доступна по запросу.

Более детально ознакомиться с продуктом IonCube и использовании его на серверах можно в нашей статьи здесь.

OpenSSL использует функциональность библиотеки OpenSSL для симметричных и асимметричных шифрования и дешифровки, PBKDF2, PKCS7, PKCS12, X509, криптографических операций и реализует потоки TLS.

Если Вас интересует функциональность и наличие других модулей PHP, то пишите, специалисты ГиперХост с радостью предоставят информацию и помогут включить и настроить необходимые модули для эффективной работы Вашего проекта.

Источник

Список полезных инструментов для php разработчика

PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.

Акселераторы

eAccelerator
Бесплатный свободный PHP акселератор, оптимизатор, и динамический кэш. Он увеличивает производительность PHP скриптов, кешируя их в их скомпилированном виде. Также оптимизация увеличивает скорость работы скриптов. eAccelerator обычно уменшает нагрузку на сервер и увеличивает скорость PHP кода в 1-10 раз.
ionCube PHP Accelerator
ionCube PHP Accelerator это легко устанавливаемое PHP Zend расширение, которое кеширует PHP код, и способное существенно ускорить PHP скрипты без изменений в самом коде.
Windows Cache Extension for PHP
Модуль для IIS7 выполняющий функции PHP акселератора.Поддерживает PHP 5.2 и 5.3. Кеширует php байткод в память
Alternative PHP Cache
Бесплатная и открытая система для кэширования предкомпилированных PHP скриптов, позволяет значительно увеличить производительность PHP скриптов выполняющихся из под mod_php.

Билд системы

Phing
Билд система основанная Apache Ant. Позволяет делать все, что можно делать с традиционными билд системами, такими как GNU make. Использует простой XML для билд файлов и расширяемые PHP классы задач. Позволяет запускать PHPUnit and SimpleTest юнит тесты, делать обработку файлов (т.е. замены токенов, XSLT трансформацию и т.д.), операции с файловой системой, интерактивная сборка проекта, выполнение SQL кода, CVS/SVN операции, создание PEAR пакетов, и многое другое.

BeautifyPHP
Beautify PHP полностью бесплатный сервис, форматирующий PHP код в соответствии со стандартами PEAR.
PHP Beautifier
Эта программа переформатирует файлы PHP 4 и PHP 5 автоматически.
PHP Object Generator (POG)
Open source генератор PHP кода, автоматически генерирующий объектно-ориентированные классы (PHP4/PHP5) для доступа к базе данных с CRUD методами.
UML2PHP5
UML2PHP5 это плагин разработанный для приложения построения диаграмм DIA. Автоматически генерирует PHP код, соответствующий диаграммам.
Instant SQL Formatter
Instant SQL Formatter — бесплатный онлайн сервис для форматирования SQL кода. Также может переводить SQL код в C#, Java, PHP, DELPHI и другие языки (в виде строк). Позволяет вывести список объектов базы в SQL коде, таких как таблицы, колонки, функции.
phpMyEdit
Редактор таблиц MySQL и генератор кода PHP. Основные возможности phpMyEdit: генерация кода изменения таблиц; добавление записей, изменение, просмотр, копирование и удаление; сортировка, фильтрация и разбивка на страницы для таблиц; запросу в другие таблицы (связь один ко многим); конфигурация прав доступа; различные возможности навигации; дизайн, настраиваемый с помощью CSS; логгирование действий пользователей; многоязычность.
PHP Obfuscator
Обфусцирует PHP код. Не требует дополнителных установленных на сервере библиотек и компонентов. Позволяет обфусцировать функции, переменные и удалять пробелы.
Code Eclipse
PHP обфускатор, превращающий обычный PHP код в ужасный, нечитаемый код с минимальными потерями в скорости выполнения и без всяких потерь в совместимости.

База данных

Отладка

Xdebug Debugger and Profiler Tool
Xdebug это расширение для отладки php-скриптов, которое написал Derick Rethans, один из разработчиков языка PHP. Xdebug предоставляет следующую информацию: стек вызовов функций, распределение памяти. Возможности Xdebug: профайлинг, анализ покрытия кода, защита от бесконечной рекурсии, интерактивная отладка скриптов. You should also check: Webgrind – веб-интерфейс для профайлинга Xdebug, написанный на PHP, MacGDBp – Mac OS X клиент, который позволяет отлаживать PHP приложения при помощи Xdebug.
FirePHP
FirePHP дает возможность посылать отладочные сообщения в консоль Firebug с помощью вызова php методов. Вся информация посылается через заголовки X-FirePHP-Data, тем самым не пересекаясь с основным контентом страниц.
DBG – PHP Debugger and Profiler
DBG это полноценный, интерактивный PHP отладчик. Он может работать на тестовом или/и рабочем сервере и позволяет отлаживать скрипты локально или удаленно, из IDE или из консоли.
PHP Debug
Помогает в отладке PHP кода, показывает путь выполнения скрипта, отображает все переменные, время выполнения, включенные файлы, выполненные запросы, watch переменные… Эта информация собирается во время выполнения скрипта, и отображается по его завершению и потом может быть использована в любой момент.
Еще: Debuglib, Krumo

Разработка

PHP CodeSniffer
PHP CodeSniffer это PHP5 скрипт проверяет код на соответствие стандартам кодирования. Может помочь предотвратить распространённые семантические ошибки, допускаемые разработчиками. Легко интегрируется с SVN для проверки кода перед коммитом.
phpDocumentor
Аналог Javadoc, написанный на PHP, phpDocumentor может быть вызван из командной строки или веб-интерфейса для создания документации из php кода. phpDocumentor поддерживает связь между документацией, соединяя документа уровня пользователя, такие как туториалы и создание подсвеченного кода с кросссылками на обычную PHP документацию.
Doxygen
Doxygen — это кроссплатформенная система документирования исходных текстов, которая поддерживает PHP (а также множества других языков).
Doxygen генерирует документацию на основе набора исходных текстов и также может быть настроен для извлечения структуры программы из недокументированных исходных кодов. Возможно составление графов зависимостей программных объектов, диаграмм классов и исходных кодов с гиперссылками.
PHP Depend
PHP Depend это анализатор и измерительный инструмент, который может предоставить множество полезный информации об PHP проекте. PHP Depend генерирует большое количество метрик, полученные значения могут быть использованы для определения качества проекта и его частей, нуждающихся в рефакторинге.
phpLangEditor
Firefox add-on упрощающий перевод языков файлов и переменных в PHP скриптах.

IDE & Редакторы

NetBeans
NetBeans — бесплатная, быстрая, кросс-платформенная IDE, которая хорошо понимает язык PHP. В ней приятно писать PHP-код, потому что присутствует все необходимые для этого инструменты — подсветка, дополнение кода из всех подключенных файлов, браузер классов PHP, всплывающая документация по стандартным функциям и так далее. NetBeans умеет скачивать и закачивать файлы на удаленные сервера по FTP и SFTP, имеет развитый SQL-терминал и полностью автоматизирует работу с SVN или CVS.
Aptana PHP Development Environment
IDE снабжена средствами контекстной подсказки, автодополнения кода, подсветки и проверки синтаксиса, имеет встроенный отладчик и автогенератор типовых блоков кода. Среда поддерживает разработку Ajax-приложений, имеет средства для визуальной навигации по коду, поддержания списка задач (Todo) и подготовки документации к проекту. Интегрированный в среду web-сервер позволяет мгновенно оценить результат работы. Встроенные средства тестирования поддерживают возможность оценки отображения подготовленного проекта в различных версиях web-браузеров. Aptana PHP выполнена в виде модуля для Eclipse или для специализированной среды Aptana Studio, построенной на базе Eclipse.
PHPEclipse
PHPEclipse – это плагин для эклипс со следующими возможностями: подствека синтаксиса, парные скобки, сворачивание кода, автодополнение кода, интеграция php документации, шаблоны кода, поддержка DBG и XDebug, поддержка CVS & SVN++.
Zend Studio
Zend Studio — профессиональная среда для разработки и отладки веб-проектов. Отличительной особенностью программы является возможность удаленной отладки и профайлинга. В состав Zend Studio в качестве опции входит пакет PHP вместе с обширным списком предварительно скомпилированных расширений. Также в пакет среды входит Zend Optimizer, являющийся серверным модулем для запуска закодированных с помощью Zend Encoder и Zend SafeGuard Suite скриптов, а также немного их ускоряющий. В седьмой версии Zend Studio появилась поддержка PHP 5.3, интеграция с Zend Framework и Zend Server, улучшено редактирование исходного кода и различные улучшения производительности программы.
PHPanywhere
PHPanywhere – это онлайн PHP-редактор. Работает на Ext JS. Все необходимые функции присутствуют — подсветка, кодировки и т.д. Пользование сервисом совершенно бесплатно и требует лишь регистрации.
VS.Php For Visual Studio
VS.Php — это интегрированная среда разработки, основанная на Visual Studio IDE и позволяющая разрабатывать, создавать, отлаживать и внедрять PHP приложения на профессиональном уровне, используя все возможности, предлагаемые VisualStudio.Net. Редактор PHP-кода обладает большой функциональностью, предоставляя доступ к встроенным функциям PHP, а так же написанным функциям и классам..
NuSphere PhpED
NuSphere PhpED — это профессиональная интегрированная среда обработки, предназначенная для того, чтобы формировать приложения с использованием баз данных и PHP, HTML, XML, CSS. Устойчивый редактор кода, отличная система подсветки кода в языках PHP, XML, XHTML, HTML, CSS и javascript, мощный PHP отладчик, профилировщик и издатель — все в одном.
Программа также включает интегрированную базу данных и клиенты CVS, сервисы SOAP, валидатор HTML и инструментальные средства Форматера Кода, поддержка работы с Smarty, редактор Unicode, SFTP поддерживается для безопасных загрузок и закачек, Telnet, SSH терминалы для удаленного администрирования, поддержка функциональных возможностей MySQL, Oracle, MSSQL SQLite, Interbase, поддержка анализа ошибок, графический интерфейс пользователя полностью настраиваемый, анализатор PHP кода и многое другое
Eclipse PDT
PDT (PHP Development Tools) — плагин Eclipse, предназначенный для PHP-разработчиков. Является намного более чем просто достойной бесплатной заменой Zend Studio и NuSphere PhpED. Дистрибутив pdt-all-in-one включает в себя платформу Eclipse и все необходимые плагины для разработки на языке PHP
Jetbrains Web IDE EAP
JetBrains Web IDE это IDE для веб программирования. Она построена на основе платформы JetBrains IDE Framework.Web IDE доступна в двух вариантах: в стандартный вариант включена поддержка HTML, CSS, Javascript. В PHP Developer edition добавляется поддержка PHP и SQL.

Безопасность

PHP Intrusion Detection System (PHPIDS)
PHPIDS — это легкая в использовании, хорошо структурированная, быстрая система обнаружения атак. На данный момент умеет ловить всевозможные виды XSSы, SQL инъекции, расщепления запроса, проход по директориям, RFE/LFI, DoS и LDAP инъекции. Справляется с обфусцированными атаками на базе юникодов, кодировок и т.п. Подключается к проекту как библиотека, принимает на вход массив со всеми входными данными, которые требуют проверки, возвращает объект с информацией об обнаруженных во входных данных попытках атаки и степени риска по каждой из них, на основе набора проверенных и оттестированных правил каждой атаке сопоставлен рейтинг ее опасности. Это позволит легко сохранять статистику по атакам или отсылать уведомления для команды разработчиков.
PhpSecInfo
PhpSecInfo добавляет эквивалент функции phpinfo() который предоставляет информацию о безопасности PHP окружения, и дает советы по улучшению. Это не замена техник безопасной разработки, и не делает никаких видов аудита кода или приложений.

Установка

PHPConfig
Графическая оболочка для настройки php через файл php.ini. Поддерживает всю стандартную функциональность, и имеет специальную закладку для плагинов.
Lighty2Go
Lighty2Go это портабельная версия LightTPD, MySQL & PHP (LiMP) для Windows.
PAMP
Personal AMP – Apache, MySQL and PHP – комплект для мобильных телефонов S60.
WampServer
Позволяет установить Apache, PHP и MySQL на Windows. В комплекте идет PHPMyAdmin для управления базой. WampServer умеет работать с различными версиями PHP, MySQL и Apache, и переключаться между ними.
Server2Go
Вебсервер не требующий инсталляции и работающий на носителях, защищенных от записи. Может быть использован прямо с CD диска, с USB флешки или просто папки на жестком диске без головной боли от конфигурирования PHP, Apache и MySQL.
Denwer
Джентльменский набор Web-разработчика («Д.н.w.р», читается «Денвер») — проект Дмитрия Котерова, набор дистрибутивов (Apache, PHP, MySQL, Perl и т.д.) и программная оболочка, используемые Web-разработчиками для разработки сайтов на «домашней» (локальной) Windows-машине без необходимости выхода в Интернет. Главная особенность Денвера — удобство при удаленной работе сразу над несколькими независимыми проектами и возможность размещения на Flash-накопителе.
XAMPP
XAMPP — это php, mysql, apache + perl модулем + filezilla + eAccelerator + еще различные плюшки. Существуют версии под Windows, Linux, MacOS и Solaris.
Еще :AppServ

Тестирование

PHPUnit
PHPUnit является одним из семейства тестирующий фреймворков xUnit и упрощает написание тестов, так же как и их запуск и анализ результатов.
SimpleTest
SimpleTest это аналог JUnit/PHPUnit. Поддерживает mock объекты и может быть использован для автоматизации регрессионного тестирования веб приложений. Это возможно при помощи скриптабельного HTTP клиента, парсящего страницы и симулирующего такие вещи, как переход по ссылкам и отправка форм.
vfsStream
vfsStream это обертка для потоков файловой, полезная при юнит тестировании для создания mock объектов файловой системы. Можно использовать совместно с любым тестирующим фреймворком, например SimpleTest или PHPUnit.

Непрерывная интеграция

phpUnderControl
phpUnderControl это аддон для системы автоматической сборки CruiseControl, который содержит некоторые из лучших средств разработки на PHP. Проект нацелен на то, чтобы первые шаги с PHP и CruiseControl были как можно проще. К phpUnderControl прилагается утилита для модификации существующей развернутой системы CruiseControl.
Xinc
Xinc это сервер непрерывной интеграции написанный на PHP 5. Имеется встроенная поддержка Subversion и Phing (то есть и PHPUnit), и может быть легко модифицирован для поддержки других систем контроля версий и билд систем.

Источник

PHPLego: Плагины к сайту своими руками

Модули для php сайтов. Смотреть фото Модули для php сайтов. Смотреть картинку Модули для php сайтов. Картинка про Модули для php сайтов. Фото Модули для php сайтов

Доброго утра, дорогие Хаброчитатели!

Хотелось ли вам когда-нибудь сделать модули к сайту ненавязчивыми, такими, чтобы было достаточно положить модуль в папку, и не проделывать больше никакой работы по их подключению. Чтобы однажды написанный блок сайта можно было использовать на новых проектах снова, независимо от их структуры.

В этой статье я хочу поделиться скромным микровелосипедом, который помогает мне в нелегком деле сайтостроительства.

Наше первое знокомство с вами оказалось очень интересным, и я искренне признателен вам, за вашу конструктивную критику. Надеюсь продолжить в том же ключе.

Итак, для себя я сформулировал задачу по следующим криетриям:

1) Каждый модуль должен содержать все необходимое для работы в одной папке — и шаблоны, и модель, и контроллер. Дабы его легко можно было скопипастить, подправить — и вуаля — новый модуль.
2) Модуль ничего не должен знать о тех, кто его создает — все необходимые ему для работы данные он получает через конструктор. Это для того, чтобы модуль работал не только на моем сайте, но и на всех сайтах моих друзей и клиентов без всякого допиливания напильником.
3) Для того, чтобы пользоваться модулем его не должно быть нужно где-либо регистрировать или инклудить дополнительные файлы. Это тупо раздражает.
4) Модуль может состоять из модулей. Т.е. должна быть поддержка вложенных модулей.
5) Ссылки (a href=. ) внутри шаблонов модулей должны быть относительными, не зависящими от того, на какой глубине вложенности находится модуль. Чтобы банально не править шаблоны, если мы перемещаем модуль из одного родительского модуля в другой.
6) Сам сайт тоже должен быть модулем, раз уж на то пошло. Дабы можно было купить у друга уже рабочий сайт, положить себе в папку и встроить весь его на какую-нибудь страницу без лишних переделок.

Ну вот, для одной статьи я думаю достаточно, приступим к реализации.

Файловая структура проекта

Для начала набросаем структуру файлов проекта:

Автозагрузка модулей

Для чистоты системы, устроим так, чтобы в любом месте сайта, где мы хотим использовать модули нужно было заинклудить всего лишь один файл, какой-нибудь autoload.php. И сделаем так, чтобы путь к папке модулей был настраиваемым (какая-нибудь глобальная переменная) или, даже лучше, пусть это будет несколько путей. Ну это может понадобится, например, для того чтобы сделать две папки модулей — одна приватная, только для себя, а другая расшаренная — для коллективной разработки.

В нашем случае есть папка /.myengine/classes — это модули нашего движка, какие-то модули, которые мы используем во всех наших проектах. А /classes — это папка модулей самого проекта.

Итак, сам файл autoload.php:

А все .setup.php файлы в подпапках проекта будут подключать .setup.php верхнего уровня:

Это удобно потому что все файлы, создающие модули всегда содержат одну и ту же строчку:

И тогда, перемещая файлы из папки в папку (что есть неизбежность любого креативного проекта), нам мне надо править пути инклужиния. Все работает сразу.

Вообще, инклудить файлы — это сродни склеиванию проекта изолентой, если их много и они сложные — программа превращаетяс в тарелку с макаронами, в котором один файл тянет за собой другой, а тот третий — что неудобно. Поэтому мы избавились от иклудов — классы модулей вообще ничего не иклудят — они сами инклудятся автозагрузкой. А PHP-файлы исполняющие модули всегда содержать только один инклуд — include «.setup.php».

Примечание: некоторые файлы проекта начинаются с ‘.’ (точки) для того, чтобы при сортировке по имени они были сверху

Класс-контроллер модуля

Классы модулей — это по сути Lego-контроллеры, описанные в моей предыдущей статье. В которые мы добавляем пару функций, позволяющих нам определить папку, в которой лежит этот контроллер, и брать шаблоны, Ява-скрипты и Css относительно этого пути.

Таким образом мы отвязали расположение файлов стилей, ява-скриптов и шаблонов от проекта в целом. Модуль можно перемещать из папки в папку, переименовывать и система будет продолжать работать. Теперь нам осталось самое интересное: как внутри шаблонов указывать ссылки? Ведь они тоже должны быть отвязаны от проекта в целом и от расположения модулей.

Относительные ссылки в шаблонах

Если мы вспомним предыдущую статью, каждый Lego-объект арендует свою переменную-массив в адресной строке, имя которой совпадает с именем модуля. Для того, чтобы сослаться на какой-то метод контроллера модуля, достаточно взять текущую адресную строку, и подменить в ней данные, относящиеся только к текущему модулю. Для ленивой работы с GET-параметрами адресной строки, давай создадим класс UriConstrucor:

А в базовый класс Lego добавляем еще пару методов:

А в шаблонах мы пишем ссылки вот так:

Вот, теперь мы отвязали еще и шаблоны. Модули перестали знать о том, какой проект их создает, и какой модуль, они стали легко перемещаемыми в проекте и между проектами.

Конечно, модуль должен быть как-то связан с проектом, иначе он бы был абсолютно бессмысленным. Поэтому необходимы данные он должен получать через конструктор.

Приведем код типового модуля:

Каждый модуль, в том числе и корневой модуль сайта, выполняется следующими строчками кода.
Например, это index.php в корне проекта:

Вот собственно и все.
Как добавить Lego-модулям живительного AJAX, можно почитать тут.
Потестить, как это работает с AJAX-ом на деле можно тут.

Надеюсь кому-то пригодится эта статья.
Всем удачного Лего-программирования. 🙂
Спасибо за внимание! Всегда ваш, Йожик.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *