Использование библиотеки, философия фреймворка

Здесь описаны основные моменты, которые легли в основу 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 framework в сочетании с другими фреймворками без дополнительных ограничений, Главное - подключить core.php класс после определения основного autoloader'а используемого фреймворка.

Например, чтобы интегрировать core framework с zend framework - достаточно дописать require 'core.php' в основном файле index.php, не забывайте при этом положить класс с папку vendor

А также все обращения должны идти через очистку namespace, например:

\c\db::ea($sql);

Создано при помощи сервиса Core CMS