Этимология: на языке африки чихева слово «Zolinga» означает «цели».
Оглавление
Я полностью привержен один проект, и эти компоненты-Framework, Cron, модуль перевода, доступ к базе данных, CMS без базы данных и простые права управления правами-являются важными строительными блоками, необходимыми для него. После двух месяцев интенсивных усилий и рисования от двадцатилетнего опыта я почувствовал, что было бы уместно вернуть сообщество с открытым исходным кодом, прежде чем углубляться в аспект проекта с закрытым источником.
Вы можете задаться вопросом, почему бы не выбрать существующее решение? Ну, ожидается, что проект, над которым я работаю, будет продолжаться в течение следующих 10 лет. 90% кода не имеет параллельно в существующих модулях. По этой причине это должно быть как минималистичным, так и неизменным. Минималистичный, потому что меньше функций приравнивают к меньшему обслуживанию головных болей и меньше проблем с обновлением. Неизменно, потому что это значительно снижает стоимость поддержания модулей.
Проблема со всеми популярными рамками - их популярность. Они, как правило, завалены конкурирующими потребностями, идеями и требованиями, что приводит к постоянному циклу разрыва совместимости, добавлению ненужных функций и исправлению ошибок. Мой проект не предназначен для модернизации или перезагрузки каждые два года, что является средней продолжительностью срока службы крупного выпуска в любой популярной структуре. Он должен работать в течение 10 лет с минимальными инвестициями. Постоянно работая над приложением, чтобы не отставать от обширного списка фиксированных ошибок от поставщиков, для функций, которые вы даже не используете, не является возможным решением.
Итак, вот как появился этот минималистичный и максимально неизбежный проект.
Он должен был соответствовать следующим критериям:
Позвольте мне познакомить вас с Zolinga, PHP -структурой, которая соответствует всем этим критериям.
Zolinga-минималистская и хорошо продуманная PHP-структура. Это не требует базы данных (хотя модули могут). Он инкапсулирует дистиллированную сущность практического опыта, полученную за годы разработки веб -приложений. Он предлагает простой, но всеобъемлющий API для строительства надежных, эффективных и стабильных приложений.
Это инновационное дополнение к ландшафту рамки PHP, поэтому я призываю вас подойти к нему с чувством приключений, хотя и с осторожностью. Погрузитесь и обнаружите обтекательную эффективность и надежность, которые предлагает Zolinga.
Если вы устали от чрезмерных и обширных решений для простых проблем и стремитесь изучить новые подходы, Zolinga для вас. Являетесь ли вы разработчиком PHP на любом уровне, Zolinga предлагает освежающую альтернативу.
С Zolinga вы можете легко создать свой проект, сосредоточившись на кодировании основных функций без бремени ненужных компонентов. Минималистский дизайн Zolinga API делает его идеальным для тех, кто предпочитает использовать минимальные функции или стремится добавить минималистичные компоненты в свои проекты. Несмотря на свой минималистский подход, Zolinga является мощной платформой, способной обрабатывать даже самые крупные проекты, предлагая неопределенный потенциал роста.
Начните с малого и простого и растут с вашим проектом в своем собственном темпе в любом направлении, благодаря умной гибкости и масштабируемости Золинги.
Чтобы установить Zolinga, следуйте этим шагам:
git clone https://github.com/webdevelopers-eu/zolinga.git Настройте свой веб -сервер для обслуживания public каталога (в качестве примера см. В разделе Apache Bellow). В качестве альтернативы, вы можете использовать встроенный веб-сервер PHP, выполнив следующий скрипт ./bin/zolinga --server в каталоге Zolinga.
Перейдите к URL -адресу в зависимости от того, как вы начали сервер. Если вы бежали ./bin/zolinga --server , следуйте инструкциям в консоли. Если вы настроили свой веб -сервер для обслуживания public каталога, то вы знаете, что делать. Вы должны сначала посетить /wiki/ url. Пароль вики -страницы по умолчанию - ZOLINGA (duh!?). Связанный Zolinga Wiki - это правильное место, чтобы начать копать глубже в структуре Zolinga.
Если вы предпочитаете тестировать новый проект внутри Docker, вот быстрое 2-минутное руководство по установке, чтобы вытащить изображение PHP и запустить структуру Zolinga внутри контейнера. ?
$ docker pull php
$ docker run -p 8888:8888 -it --name my_php_container php /bin/bash
dock:$ apt update && apt install -y git
dock:$ git clone https://github.com/webdevelopers-eu/zolinga.git /tmp/zolinga
dock:$ /tmp/zolinga/bin/zolinga --serverЗатем посетите http: // localhost: 8888 в вашем браузере.
Это пример того, как Apache на Debian можно настроить для обслуживания Zolinga.
# Checkout the repository into /var/www folder
$ git clone https://github.com/webdevelopers-eu/zolinga.git /var/www/zolinga.localhost
# Set the correct permission - www-data user is the common user for Apache
$ chown -R www-data.www-data /var/www/zolinga.localhost
# Generate example Apache configuration file and put it into /etc/apache2/sites-available
$ /var/www/zolinga.localhost/bin/zolinga skeleton:apache --serverName=zolinga.local --ip=127.0.0.1 > /etc/apache2/sites-available/010-zolinga.conf
# Enable the newly created configuration file
$ a2ensite 010-zolinga.conf
# Restart Apache
$ systemctl restart apache2Затем посетите http: //zolinga.localhost в вашем браузере.
Конечно, предполагается, что PHP уже установлен в вашей системе. Если нет, вы можете установить его, выполнив следующие команды:
apt install libapache2-mod-php8.2
a2enmod php8.2 Модуль - это каталог, который содержит файл zolinga.json , который описывает функциональность модуля для системы. Этот файл указывает правила автозагрузки скрипта и события, которые модуль слушает. Раздел Manifest слушателя позволяет вам определять обработчики событий, которые реагируют на различные системы системных событий, что приводит к обработке различных типов запросов, таких как HTTP, AJAX и командная строка. Специальные события также могут создавать экземпляр вашего обработчика событий в качестве системы системного обслуживания, который будет обращаться непосредственно другим кодом через $api->{serviceName} Синтаксис для максимальной скорости и универсальности.
Каждый модуль содержит файл zolinga.json , который описывает модуль.
Пример манифеста модуля:
{
"name" : " Hello World " ,
"description" : " A simple Hello World module. " ,
"version" : " 1.0.0 " ,
"authors" : [ " John Doe <[email protected]> " ],
"listen" : [
{
"event" : " system:content " ,
"class" : " \ Example \ HelloWorld \ Server " ,
"method" : " outputPage " ,
"priority" : 0.8 ,
"origin" : [ " remote " ]
}
],
"autoload" : {
"Example \ HelloWorld \ " : " src/ "
},
"config" : {
"helloWorld" : {
"myGreeting" : " Hello World! ?? "
}
}
} Да, как вы догадаете, если вы отправите system:content от удаленного происхождения, будет вызван метод outputPage класса Server в ExampleHelloWorld -пространство имен.
use Zolinga System Events Event ;
( new Event ( ' system:content ' , Event:: ORIGIN_REMOTE ))-> dispatch ();Это все, что нужно. За исключением нескольких дополнительных синтаксических сахаров, чтобы упростить модуль проще писать и читать, вам не нужно знать ничего большего, чем в этом примере. Теперь вы практически эксперт по Zolinga!
Чтобы установить новый модуль. Запустите следующую команду:
./bin/zolinga install --module={ID}Пример:
./bin/zolinga install --module=zolinga-cmsЧтобы перечислить все доступные модули. Запустите следующую команду:
./bin/zolinga install --listZolinga - это широко распространенная система с различными модулями, некоторые из которых могут быть запатентованными наряду с их документацией. Это означает, что нет единой комплексной онлайн -документации. Однако, в отличие от других систем, сама Zolinga может похвастаться обширными функциями самоокументирования и встроенной вики. Эта вики отображает всю необходимую документацию для вашей конкретной установки, включая все модули.
Преимущество ясно: каждый модуль несет свою собственную документацию, которая автоматически объединяется со всеминсоистемной вики при установке. Ваша работа, модули и прогресс остаются видимыми только для вас и других с установленным программным обеспечением. Вы никогда не увидите документацию для функций, которые вы не установили, гарантируя, что у вас всегда есть правильная версия документации, соответствующую вашей установке.
Было сложно реализовать, но результаты говорят сами за себя - это отлично работает!
По умолчанию вики доступна на URL / Wiki / при первоначальной установке. Вы можете изменить как путь URL, так и пароль в файле конфигурации.
Наслаждаться! ?
Вы можете проверить также другие модули. Просто добавьте их в Zolinga, запустив
./bin/zolinga install --module=ID[,ID,...]Например
./bin/zolinga install --list
./bin/zolinga install --module=zolinga-cron,zolinga-db,zolinga-rms,zolinga-intl,zolinga-cmszolinga-cmszolinga-cronzolinga-dbzolinga-rmszolinga-commonszolinga-intl При установке модуля он будет автоматически добавлен в каталог modules , и его документация будет объединена в встроенную документацию Zolinga Wiki прямо в вашей установке Zolinga.