ASISG
Gy - php framework/CMS
Gy – это небольшой php framework, который включает в себя элементы cms. Нужен для создания небольших сайтов и веб проектов.
Основные цели
- Основная цель проекта gy framework/cms, сделать бесплатный, доступный всем, простой в освоение, простой в реализации и архитектуре инструмент для создания простых (небольших) сайтов.
- Создаваемый инструмент должен быть максимально простым в освоение и не требующем от разработчика использующего gy каких либо сложных навыков или знаний, достаточно только основ php.
- Продукт не должен быть требовательным к платформе (модулям, зависимостям, в идеале без зависимостей) и техническим аспектам сервера.
- Продукт должен обеспечить наиболее лёгкий вход разработчику в веб, а в идеале должен позволять обычным людям, без опыта разработки или обладая лишь небольшими знаниями php, делать сайты.
- Продукт внутри, ядро (архитектура, внутренние особенности) должен быть максимально простым, и делиться на простые части, что бы любой мог разобраться в архитектуре и вносить изменения.
- Продукт не должен лицензионно и архитектурно ограничивать разработчика, а давать возможность переопределить/заменить любую часть ядра gy, либо сделать поверх необходимое. Т.е. должна быть возможность максимально просто расширяться, вплоть до полного изменения без изменения чего либо в раздела
/gy/
. - Продукт должен включать в себя все необходимые компоненты для создания простого сайта, а также иметь в панели администрирования необходимые настройки для работы с контентом сайта.
Системные требования:
- php, необходимо скомпилировать с графической библиотекой GD, тестировалась на версиях: 5.6, 7.0, 7.1, 7.2 .
-
Поддерживаются базы данных (протестированы):
- mySQL 5.6 ;
- MariaDB-10.3 ;
- PhpFileSql v0.2-alpha (https://github.com/ssv32/PhpFileSql) ;
- PostgreSQL 9.2 .
Вес файлов: 350 Кб (с демо данными).
Вес базы данных: 208 Кб (с демо данными).
Установка gy php framework:
- Установить можно php скриптом от сюда - https://github.com/ssv32/install-gy-php-framework (имеется консольный и графический скрипт), или склонировать этот репозиторий;
- После установки необходимо задать настройки ядра gy framework, это можно сделать скриптом
gy/install/consoleInstallOptions.php
(или отредактировав файл/gy/config/gy_config.php
); - Затем надо установить таблицы в базу данных скриптом
gy/install/installDataBaseTable.php
(предварительно нужно создать БД и задать доступы и её имя на шаге выше); - Внимание! При установки на linux нужно задать права на файлы и папки, так что бы у пользователя веб (apache или nginx) были права выполнять php скрипты, создавать файлы и папки в директории проекта (это нужно что бы работал конструктор страниц и переключение языка в админке, без прав это не будет работать).
После установки
- В админ панель можно попасть из браузера так
<домен вашего проекта>/gy/admin/
(admin admin). - Есть демо сайт, его можно установить консольным скриптом
gy/install/installDemoSite1.php
(Нужно послать первым параметром start, примерphp -f gy/install/installDemoSite1.php start
). - Демо сайт нужен для небольшой демонстрации, он включает в себя директорию
customDir
, с примером кастомизации шаблона компонента, раздел classes (для пользовательских классов или переопределения классов gy), и файл основной страницы index.php.
Документация
Имеются файлы wiki по работе с framework, описанием реализованного (с точки зрения админки и пояснения для разработчиков) https://github.com/ssv32/gy/wiki или *документацыя*
Особенности проекта
- Реализованы/поддерживаются стандарты PSR 0-4. (PSR-4 - реализован не ожидаемо, можно прочитать тут https://github.com/ssv32/gy/wiki/16.-%D0%90%D0%B2%D1%82%D0%BE%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%BE%D0%B2-%7C-Class-autoloading) ;
- Пока релизы проекта помечаются как альфа версии, обратной поддержки framework gy нет (т.е. архитектура framework gy может меняться ) ;
- TODO - проекта https://github.com/ssv32/gy/projects/1 ;
- Discussions - https://github.com/ssv32/gy/discussions ;
- Описание в wiki может опережать текущий релиз .
Пример подключения gy php framework
<?
include "./gy/gy.php"; // подключить ядро // include core
Пример проверки подключено ли ядро gy php framework
<?if ( !defined("GY_CORE") && (GY_CORE !== true) ) die( "gy: err include core" );?>
Пример вызова компонента:
<?
include "./gy/gy.php"; // подключить ядро
// пример вызова компонента
$app->component(
'form_auth',
'0',
array(
'test' => 'asd',
'idComponent' => 1,
),
);