Инструменты пользователя

Инструменты сайта


limb3_2007_4:ru:packages_architecture

Введение в пакеты Limb3

Limb3 - это фреймворк, разделенный на пакеты. Что считается пакетом? Пакет - это, по сути, некоторый узкоспециализированный функционал, расположенный в директории с определенной структурой(см. ниже). Например, есть базовый пакет CORE, пакет шаблонной системы WACT, пакет работы с базовой данных DBAL, пакет интернационализации I18N, пакет для работы с деревьями в базе данных TREE и т.д.

Приложение, построенное при помощи Limb3, таким образом, использует те или иные пакеты и, к тому же, обычно само является пакетом.

Список пакетов Limb3

Пример подключения файлов из пакетов Limb3

  1. Директория, содержащая Limb3 пакеты, добавляется в параметр PHP include_path. Limb3 пакеты должны обязательно находиться в директории limb, а директория, в которой она расположена добавляется в include_path
  2. Вместо стандартных 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 (внешнее изменение)