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 приложением |