Phalcon S: Стремительная разработка на phalconphp
Достопочтенный читатель: данная статья не является примером безупречного программирования на языке php и предоставленный инструмент может содержать в себе уйма недоработок. Phalcon S сырой и выкладывается для поддержки, либо осуждения разработки.
Сегодня я хочу показать сообществу Phalcon System (Система Ястреб).
Изложение и предыстория
Phalcon S — это зачаток мульти-модульной системы, для построения вэб-приложения. Phalcon S первоначально был замыслен для персонального применения 1-2 разработчиками. Phalcon S написан с применением Phalconphp и представляет из себя мульти-модульное приложение. На данный момент содержится модуль панели менеджера, тот, что искренне говоря не доделан. Все началось с того, что мне была необходима система микроблоггинга. Искания того что необходимо, не дали фуроров. Так как я владею некими умениями языка php, было задумано писать самому. Систему для блогов я поднял за 3 дня и в качестве админки к ней начал писать Phalcon S (в свободное от работы время). К сожалению модуль микроблоггинга в всеобщий доступ выложить не могу.
Архитектуру наглядно дозволено изобразить так:

Всякий модуль это отдельное mvc приложение.
В папке dev находится каркас-пример для разработки модуля Phalcon S.
Короткая инструкция по разработке модуля.
Множество настроек приложения храниться в формате xml. При разработке модуля, нужно сделать папку module_name/config/xml с настройками вашего модуля. Также нужно поместить schema.sql и schema_drop.sql в папке module_name/config для создания таблиц в бд и соответственно удаления при деинсталяции модуля.
Пример настройки роутинга:
<?xml version="1.0" encoding="UTF-8"?>
<routes>
<route name="pnews" url="/pnews" module="pnews" controller="pnews" action="index"/>
<route name="pnews" url="/pnews/administrationpnews" module="pnews" controller="administrationpnews" action="index"/>
<route name="pnews" url="/pnews/administrationpnews/add" module="pnews" controller="administrationpnews" action="add"/>
<route name="pnews" url="/pnews/administrationpnews/delete/{item_id}/{page_number}" module="pnews" controller="administrationpnews" action="delete"/>
</routes>
Пример настройки модуля (для регистрации его в системе):
<?xml version="1.0" encoding="UTF-8"?>
<modules>
<module name="pnews" className="PPnewsModule" path="../apps/modules/pnews/Module.php"/>
</modules>
Остальные примеры дозволено обнаружить здесь Phalcon-S / dev / pnews / config / xml.
Также нужно знать, что источники для ACL разделяются на модуль и контроллер. По умолчанию доступ ко каждому источникам модуля, закрыт для всех пользователей. Allow необходимо также добавить в настройках вашего модуля. Если вашему модулю необходимы источники css, images, js то поместите их в module_name/ext/module_name и при установке они будут перемешены в public/ext/module_name (это нужно рассматривать при прописывании путей к источникам).
Верстка:
Вьюшка вашего модуля ложна содержать:
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/templates/header.phtml';
?>
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/templates/footer.phtml';
?>
если это контроллер для пользователей и:
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/templates/admin-templates/header.phtml';
?>
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/templates/admin-templates/footer.phtml';
?>
если это контроллер панели администрирования.
github github.com/abasov90/Phalcon-S
phalconphp phalconphp.com/en/
phalconphp в по русски docs.phalconphp.ru/ru/latest/
|