CMF PHP Compiler
описание PHP Compiler
Мы уже неоднократно писали о зарубежных разработках CMS. Как правило, это начинание каких-нибудь энтузиастов, которое потом обрастает единомышленниками. Зачастую первые версии подобных CMS создаются в студенческой среде, как это было с Drupal. Некоторые возникают после наработки определенного опыта в области сайтостроения, как в случае с mojoPortal. Но обычно вести о создании новой системы приходили откуда-нибудь из-за рубежа. Тем приятнее писать об очередной отечественной разработке. Приятно от осознания того, что и у нас есть свои специалисты.
Разработка называется PHP Compiler или просто PHPC. Это бесплатная система, которая предназначена для создания, разработки и поддержки веб-проектов, написанная на языке PHP и использующая для хранения данных СУБД MySQL. Как утверждается разработчиком, воспользовавшись PHPC, можно создать с нуля профессиональный сайт с оригинальным дизайном и сложным наполнением, даже не будучи веб-программистом. А при наличии знаний в области PHP и баз данных с помощью PHPC можно вообще создавать удивительные вещи.
История создания
Свое творение сам разработчик относит к Content Management Framework, хотя по своим свойствам ее также можно отнести и к CMS. То есть эта система является в достаточной степени расширяемой и настраиваемой, чтобы на ее основе можно было создать сайт с произвольным набором возможностей. С другой стороны, данная система может быть рассмотрена и как «система из коробки», для установки и использования которой не требуются глубокие познания в программировании.
Как поделился с нами разработчик, ему всегда было интереснее собирать свои велосипеды, чем копаться в готовых движках. Изначально PHP Compiler представлял собой всего лишь шаблонизатор без сопутствующих классов и без админки. При работе над «замороченными сайтами» у разработчика появилась идея написать некий «птичий язык» для шаблонизатора, который позволял бы сложные вещи делать простыми конструкциями, например:
<insert:menu>
<insert:menuItem link="/" title="На главную">
<insert:menuItem link="/shop" title="Магазин">
</insert:menu>
На сегодняшний день PHPC продолжает развиваться. Поскольку он по-прежнему пишется «для себя», то делается максимально простым и удобным для разработчика. А поскольку дело приходится иметь в основном с нетиповыми сайтами, то и получился целый фреймворк, а не просто система управления.
Крупным планом
Как говорит автор фреймворка, основное отличие PHP Compiler заключается в том, что это один из немногих настоящих фреймворков, работающих на PHP4. Остальные либо больше похожи на CMS, либо «классомонстры», работающие только на PHP5. Также стоит отметить скорость, надежность, внутреннюю простоту и мощный шаблонизатор.
Также к так называемой изюминке можно отнести и то, что он хранит все данные непосредственно в базе данных (БД). Даже страницы сайта не размещаются на сервере в виде файлов, а хранятся в самой базе данных. Таким образом, при желании добавить на сайт новую страницу не нужно ничего программировать и закачивать на сервер. Для этого необходимо просто зайти в панель управления и нажать «Создать страницу». Она станет доступна после редактирования и нажатия на кнопку отправки.
Основные заявляемые достоинства CMF PHP Compiler:
- полная совместимость с PHP4 и PHP5;
- совместимость с MySQL любой версии, начиная с 3.23;
- небольшой размер исходников;
- высокая скорость работы;
- достойный уровень защищенности системы;
- полное разделение дизайна и программного кода;
- мощная система поддержки шаблонов;
- поддержка модулей расширения системы;
- поддержка коротких ссылок (ЧПУ), пользовательских сессий, BB-кодов;
- поддержка стилей, которые позволят вам провести смену внешнего вида сайта или создать новый дизайн, не трогая старый;
- класс работы с базой данных, весьма удобный, в то же время являющийся уровнем абстракции от используемого типа БД;
- полноценная поддержка многоязычности;
- панель администрирования;
- возможности для поисковой оптимизации (SEO);
- дружелюбный инсталлятор.
Системные требования
Особенности устройства PHP Compiler накладывают свой отпечаток на системные требования. С одной стороны, они относительно не велики, но с другой — предъявляют особые запросы к хостингу. Рассмотрим детальнее заявленные требования:
- хост (виртуальный хост на вашем компьютере либо домен в Интернете);
- PHP версии не ниже 4.3.0;
- MySQL версии не ниже 3.23;
- отдельная пустая база данных для вашего проекта;
- плагин mod_rewrite (идет вместе с Apache).
Почему требуется отдельный хост или домен? Данный вопрос объясняется тем, что PHP Compiler не будет работать в подкаталоге хоста, ему нужен свой отдельный хост, так как он перехватывает и самостоятельно обрабатывает все запросы к хосту. Это может вызвать некоторые ограничения в выборе хостингового сервиса. Однако, судя по одобрительным отзывам пользователей, это не стало для них существенным техническим затруднением. Наличие отдельной пустой базы данных также не является большой проблемой, если только хостинг не отказывается предоставлять такие услуги.
Шаблонизатор PHP Compiler
Для генерации страниц используется свой собственный шаблонизатор, который является надмножеством над обычным HTML. Для подстановки переменных, вставки вспомогательных шаблонов, организации условий и циклов вводится набор специальных тегов, которые имеют схожий с HTML синтаксис, но в процессе компиляции превращаются в управляющие структуры, обрабатывающие данные на этапе выполнения страницы. В результате компиляции получается код, который способен быстро собрать готовую страницу, но сохраняет ее динамичность. Скомпилированный код сохраняется в кеше и используется повторно до тех пор, пока в шаблоны не будут внесены какие-либо изменения.
Возможности встроенного шаблонизатора:
- вывод значений переменных и массивов, поддержка модификаторов;
- условия и циклы в шаблонах;
- вставка шаблонов друг в друга с передачей параметров;
- обертывание блока шаблоном (так называемый «враппинг») с передачей параметров;
- наследование шаблонов друг от друга;
- компиляция и кеширование динамических шаблонов.
Многоязычность
PHPC поддерживает неограниченное количество языков, хотя на данный момент имеются только русский и английский переводы. Многоязычность заложена в систему изначально, поэтому все локализованные сообщения хранятся в отдельном каталоге и добавить в систему новый язык совсем несложно. Имеется возможность как создания сайта на одном фиксированном языке, так и создания полностью многоязычного проекта, когда посетителю отображается контент на том или ином языке исходя из его предпочтений.
Стоит отдельно отметить достаточно подробную документацию к системе (на русском языке). Отсутствие русскоязычной документации всегда являлось основным камнем преткновения для начинающих сайтостроителей при освоении новой системы. Зачастую при подобной «пробе пера» на зарубежной разработке нехватка материала заставляла отказаться от затеи. В данном случае «понятность гарантирована».
Что приятно в небольших проектах — оперативная реакция технической поддержки. Техподдержка PHP Compiler также является русскоязычной. Заданный на форуме вразумительный вопрос не останется без детального ответа. Поскольку документация представлена в виде форума, здесь же можно и обсудить непонятные моменты или поучаствовать в дискуссии по целесообразности выбранного разработчиком решения.
Итого: наши идут
Разумеется, нельзя вот так на пальцах пересчитать все плюсы и минусы у системы, которая находится в постоянном развитии. Приятно другое — видеть, что и наши тоже могут. И не только могут, но и делают. Как поделился разработчик PHP Compiler, в данный момент он работает над созданием онлайн-игры с помощью своего фреймворка. Это наглядно показывает универсальность PHPC. С другой стороны, проглядывается и наш небольшой недостаток: студии, разработав свой движок, просто тихо работают на нем, абсолютно не занимаясь продвижением своего продукта. В нашем случае с PHP Compiler радует одно — наличие подробной документации и оперативной техподдержки. Благодаря этому осваивают движок даже новички, что видно по благодарным отзывам на форуме. Разработка перспективная, заложен серьезный потенциал, так что рекомендуется к ознакомлению. Заходим на сайт, ознакомляемся и делаем собственные выводы.