Maalik Nurlanovic
Новичок

Всем привет! Представляю вам Agels.Core. Ядро для вашего проекта. В данный момент эта версия находится на альфа тестировании, но всё же несмотря на это, я решил поделится с вами. Итак, чем же круто это ядро?
1. Система расширений.
Тут система расширений устраена так, что одно расширение может полностью изменить структуру ядра. Есть возможность переопределять классы модуля ядра, и т.д. Это соответственно расширяет возможности расширений.
2. Система стилей.
Как гласит народ, самый лучший шаблонизатор для PHP, это и есть PHP. Я полностью согласен с данными словами, т.к нагружать сервер ещё, на парсинг кода, для больших проектов, я думаю это нелепо. Но всё же модель MVC при этом, не нарушилась.
3. Динамическая загрузка модулей.
Модули в системе Agels.Core загружаются только тогда, когда они действительно необходимы. Думаю незачем забивать память, ненужными модулями. Также вы можете "подгружать", эти самые модули в нужный момент.
4. Динамическая загрузка расширений
Расширения в системе Agels.Core загружаются, также. То есть, только тогда, когда это действительно надо. Вы также можете подгружать расширения в нужный вам момент. Такая система улучшает производительность.
5. Кэширование
Как и во всех нормальных движках, в системе Agels.Core есть своя система кэширования. Кэширование может производиться как и файловое, так и через сервер MEMCACHE. Также поддерживается GZIP сжатие кэша.
6. Возможность переопределения классов.
Вообще в PHP нельзя переопределять(перегружать) классы, но в системе Agels.Core это можно. Благодаря данному аспекту, расширения могут изменять всю структуру ядра.
7. "Реестр" Agels.Core
Также, тут есть свой файловый "реестр", где хранятся данные, ведь иногдаоптимальнее, если данные будут хранится непосредственно в файле, чем в базе.
Вот эти 7 главных аспектов Agels.Core.
Немножко о проекте
Разработка Agels.Core больше всего направлена на создание ядра, которое можно использовать в качестве основы, для огромное проекта, с большой нагрузкой. В данный момент официального сайта у проекта нет, т.к он ещё находится в альфа тестировании.
Если вы нашли баг, или уязвимость, или ошибку в системе Agels.Core, то я вас искренне прошу написать о вашем баге вот сюда:
http://nurlanovic.com/agels/report
Само ядро распространяется по лицензии GNU/GPLv3, и всегда останется свободной.
В ядре есть 12 модулей, которые составляют в общем-то и всё ядро. Если вы хотите создать свою страницу, то вы должны зарегистрировать сначала её в базе, а потом писать сам код страницы, пример:
PHP код:
PHP:
<?php
define('AGELSCORE', true); // Объявляем что мы запускаемся откуда надо
require('core/agels.core.php'); // Подключаем ядро
$ACore::Load(); // Загружаем ядро
$AExtensions::Load(); // Загружаем расширения. Если этого не сделать, то расширения просто не будут загружены
$mypage = new $APage; // Создаем страницу, алсо экземпляр класса APage.
$mypage->Load('название страницы, которая зарегистрированна в базе');
$mypage->BeginOut(); // Говорим, что сейчас идёт вывод.
echo 'Hello, World!';
$mypage->EndOut(); // Говорим что вывод закончился
$mypage->Show(); // Отображаем страницу пользователю
?>
В этом то и заключается особенность переопределения классов, объясню на коде:
PHP код:
PHP:
<?php
class A {
static function Foo() {
echo 'From A';
}
}
$A = 'A';
$A::Foo(); // Выведет From A
class B {
static function Foo() {
echo 'From B';
}
}
//Переопределяем класс
$A = 'B';
$A::Foo(); // Выведет From B
?>
В комплекте Agels.Core, идёт инсталлятор, и пакет инструментов для разработчиков.
Если у вас есть какие-либо вопросы, или предложения, то пишите прямо сюда.
Скачать ядро вы можете по ссылке:
http://nurlanovic.com/agels/Agels.Core_v1.05a_AlphaVersion.rar
Скачать документацию можно тут:
http://nurlanovic.com/agels/Agels.Core_v1.05a_documentation.rar
Коды ошибок в Agels.Core:
http://nurlanovic.com/agels/errcode.txt
Онлайн документация:
http://nurlanovic.com/agels/help
---
Проект находится на альфа тестировании, в нём могут присутствовать ошибки. Также пока-что у этого проекта нет официального сайта. И у меня к вам вопрос товарищи, каково ваше мнение об архитектуре, реализации? Достойна ли такая архитектура огромных проектов?
UPD: Русскую документацию, выложу завтра.