limb3_2007_4:ru:packages_architecture
Содержание
Введение в пакеты Limb3
Limb3 - это фреймворк, разделенный на пакеты. Что считается пакетом? Пакет - это, по сути, некоторый узкоспециализированный функционал, расположенный в директории с определенной структурой(см. ниже). Например, есть базовый пакет CORE, пакет шаблонной системы WACT, пакет работы с базовой данных DBAL, пакет интернационализации I18N, пакет для работы с деревьями в базе данных TREE и т.д.
Приложение, построенное при помощи Limb3, таким образом, использует те или иные пакеты и, к тому же, обычно само является пакетом.
Пример подключения файлов из пакетов Limb3
- Директория, содержащая Limb3 пакеты, добавляется в параметр PHP include_path. Limb3 пакеты должны обязательно находиться в директории limb, а директория, в которой она расположена добавляется в include_path
- Вместо стандартных require_once/include_once можно использовать аналогичную по функционалу lmb_require, которая поддерживает отложеную загрузку кода при помощи __autoload
Например:
<?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 приложением |
limb3_2007_4/ru/packages_architecture.txt · Последнее изменение: 2010/11/10 10:02 — 127.0.0.1

Обсуждение