Limb3 - это фреймворк, разделенный на пакеты. Что считается пакетом? Пакет - это, по сути, некоторый узкоспециализированный функционал, расположенный в директории с определенной структурой(см. ниже). Например, есть базовый пакет CORE, пакет шаблонной системы WACT, пакет работы с базовой данных DBAL, пакет интернационализации I18N, пакет для работы с деревьями в базе данных TREE и т.д.
Приложение, построенное при помощи Limb3, таким образом, использует те или иные пакеты и, к тому же, обычно само является пакетом.
Например:
<?php // Настройка include_path set_include_path('/path/to/limb/packages/parent/dir/' . PATH_SEPARATOR . get_include_path()); // Подключение класса lmbUri из пакета NET require_once('limb/net/http/lmbUri.class.php'); // Подключение класса lmbUri из пакета NET с использованием оптимизированной версии require_once // с поддержкой отложенной загрузки кода, т.е. в этот момент класс на самом деле еще не загружен, // подключение класса происходит только в момент вызова new lmbUri при помощи механизма __autoload lmb_require('limb/net/http/lmbUri.class.php'); $uri = new lmbUri('http://test.com'); ?>
Папка | Описание |
---|---|
build/ | Различные build скрипты |
bin/ | CLI утилитарные скрипты |
examples/ | Примеры использования |
lib/ | Внешние библиотеки, от которых зависит пакет |
init/ | Инициализационные данные, к примеру, sql файлы для заполнения базы данных |
settings/ | Файлы настройки (ini-файлы) |
shared/ | Файлы, которые используются во многих проектах, но не являющиемся php-файлами. Обычно здесь хранятся javascript-ы, изображения, css-файлы. |
src/ | Исходный код пакета: классы, модули и проч. |
template/ | Файлы шаблонов |
tests/ | Модульные тесты пакета |
www/ | Директория доступная для web сервера, если пакет является web приложением |
Обсуждение