Здесь описаны основные моменты, которые легли в основу Core Framework.
Основное движение в разработке фреймворка - максимальная простота использования, с учетом нагрузки на систему. По этому фреймворк можно использовать в любых высоконагруженных проектах.
Не нужно думать
Вы можете использовать любые модули сразу после подключения основного класса core.php. Вам не нужно думать о том, был ли ранее использован класс или нет. Вам не нужно думать о том, какие зависимости использует данный класс для своей работы. Вам также не нужно задумываться об области видимости каких-либо компонентов.
Все компоненты библиотеки используют единое пространство имен namespace c; Таким образом, они не будут пересекаться с вашими встроеными классами и функциями.
Для использования файлов внутри классов, или относительных путей - используйте константы __DIR__ и DIRECTORY_SEPARATOR
Вы можете использовать в качестве дополнительного места хранения переменных класс c\core::$data, например, чтобы хранить там значения по умолчанию без подключения классов, использующих данные переменные.
В первую очередь - core framework - это независимая библиотека. Это означает, что вы можете использовать любые функции фреймворка без необходимости зависеть от целостной структуры.
Большенство существующих классов - статичны. Это решает проблему с областью видимости переменных и автоматическим подключением классов. В случаях, когда необходимо использовать объекты - фреймворк предлагает обращаться к ним через фабрики.
Вы можете создать экземпляры объектов, либо создаете объект внутри статичного класса и обращаетесь к нему через статические методы. Если вам требуется создать еще один объект - вы либо переключаете активный объект, к которобу будете далее обращаться, либо указывакете конкретный объект при каждом обращении в дополнительном параметре.
Например, чтобы обращаться к базе данных - мы можем задать базу данных по умолчанию
Core Framework не застваляет вас прибегать к каким-либо манипуляциям со стороны apache или nginx. Вы можете использовать любую структуру папок.
c\core::$data['db']='defaultdb';
И все последующие обращения к базе данных будут идти именно используя данное подключение.
Если нам потребуется изменить (на время) активное подключение - можно это сделать в любой момент.
Также можно обратиться к другому подключению без изменения активного подключения, путем передачи дополнительного параметра, например:
c\db::ea($sql,$bind,'other-connection');
Вы можете самостоятельно создать свою модель или службу для обращения к сущностям внутри вашего окружения. Все модули и службы тут же получат все преимущества, которые получает фреймворк и могут свободно создаваться и распространяться.
Все модели и службы находятся в папке model
Названия имен моделей и служб не должны совпадать с существующими классами core framework
Все модели и службы должны быть созданы по аналогии с существующими классами. Тот же namespace
namespace c;
Те же статичные классы и статичные методы.
Вызывать службы и модели внутри классов можно теми же методами, но учитывая, что у них уже определн namespace - переключение namespace при обращении можно не указывать. Не забывайте, что все обращения к стандартным классам идут через очистку namespace, например:
$zip= new \ZipArchive();
Вы можете без проблем использовать core framework в сочетании с другими фреймворками без дополнительных ограничений, Главное - подключить core.php класс после определения основного autoloader'а используемого фреймворка.
Например, чтобы интегрировать core framework с zend framework - достаточно дописать require 'core.php' в основном файле index.php, не забывайте при этом положить класс с папку vendor
А также все обращения должны идти через очистку namespace, например:
\c\db::ea($sql);
Создано при помощи сервиса Core CMS