ТОП-10 популярных



Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...


Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

PHP. Проэктирование. Часть Триннадцатая.


03-07-2015

27.7. Структура приложений
Если принять разработку приложений за следующий логический уровень, то структура приложений является попыткой организовать компоненты, которые можно использовать повторно для разработки приложений. За счет гибкости и производительности мы получаем большую библиотеку готовых компонентов, и это позволяет быстро разрабатывать новые приложения.
Проект BinaryCloud <http://www.binarycloud.com/> представляет собой среду создания приложений на PHP, предназначенных для создания решений промышленного уровня. Сопровождают этот проект Алекс Блек (Alex Black) и его компания Turing Studio. Этот проект базируется на своих собственных исходных файлах, которые компилируются в PHP-сценарии. Для этого здесь используется механизм шаблонов Smarty, который обсуждался выше в этой главе. Исходный код доступен под лицензией GNU.
Другим подходом к разработке Web-узлов с помощью PHP является проект Midgard (<http://www.midgard-project.org/>). Его разработчиками являются Юкка Зиттинг (Jukka Zitting) и Генри Бергиус (Henri Bergius). Кроме предложения решения на PHP, они пытаются интегрировать PHP в свой собственный сервер приложений. Проект Midgard имеет возможность организовать более 800000 страниц содержимого с использованием интерфейса, основанного на Internet. По этой причине он является идеальным для работающих Internet-магазинов.
Конечно, Midgard является открытым проектом и позволяет загружать собственные сообщения или собственные результаты с помощью системы CVS. Доступны также и двоичные загрузки.
Проект Ariadne представляет собой структуру Web-приложений от голландского конструкторского агентства Muze. Он доступен под открытой лицензией GNU. Этот проект ведет Аук ван Слоотен (Auke van Slooten). Исходный код можно загрузить с Web-узла Muze по адресу <http://www.muze.nl/software/ariadne/>.
Ariadne хранит исходный код PHP в виде объектов в базе данных MySQL. Эти объекты взаимодействуют друг с другом через виртуальную файловую систему. С помощью Web-страниц в распоряжение пользователя предоставляется богатый пользовательский интерфейс, но опытные разработчики могут пойти и дальше. Есть компонент, контролирующий права доступа к Web-узлу пользователей или групп.
Проект Horde (<http://www.horde.org/>) является структурой приложения, используемой для работы с популярным почтовым клиентом IMP, написанным на PHP. Задумал и реализовал этот проект Чак Хейгенбах (Chuck Hagenbuch). Сейчас этот проект сопровождает Эрик Ростеттер (Eric Rostetter). Проект доступен под лицензией GNU. Эта структура использует исходные коды приложения IMP. Его преимущество заключается в том, что он позволяет продемонстрировать возможности PHP при создании Web-приложений при обмене данными с Internet-серверами.
27.8. PEAR
PEAR <http://pear.php.net/> - это репозиторий расширений и приложений PHP (PHP Extension and Application Repository). Он является составной частью проекта PHP, и при инсталляции PHP можно получить копию основной библиотеки PEAR. В определенном смысле PEAR является параллелью Perl CPAN. Он хранит в своей библиотеке множество сценариев PHP, предназначенных для общего применения. Необходимые компоненты можно получить при использовании самого PEAR. Проект PEAR ведет Стиг Баккен (Stig Bakken).
Основной набор классов PEAR поставляется вместе с PHP. Несмотря на то что область применения некоторых пакетов неширока, PEAR как единое целое содержит в себе приложения общего назначения. Загрузка пакета PEAR несложна. Дистрибутив PHP включает сценарий оболочки pear. Запуск pear без аргументов дает возможность просмотреть все имеющиеся в наличии команды. Для того чтобы получить список пакетов, доступных для инсталляции, выполните команду pear remote-list, а для того чтобы установить пакет - команду типа pear install XML_Tree. С помощью этой команды запускается сценарий, который загружает и устанавливает пакет.
Использование класса PEAR также не является сложной задачей. По умолчанию PHP хранит загруженные классы PEAR по пути /usr/local/lib/php. Этот путь должен быть отражен в пути include, а это означает то, что вы можете включать класс PEAR простым указанием его имени. Например, команда require_once('XML/Tree.php') создает класс XML Tree. В листинге 27.8 продемонстрировано использование сценария XML_Tree, который позволяет создавать XML-документы без необходимости расширения DOMXML.
| Листинг 27.8. Использование класса PEAR_
<?php
// Загрузить XML_Tree
require_once('XML/Tree.php');
// создать документ
$tree = new XML_Tree;
$root =& $tree->addRoot('catalog');
$section =& $root->addChild('section');
$section->addChild('A'),-
$section->addChild('B'),-
$section->addChild('C);
$section =& $root->addChild('section'); 
$section->addChild('X');
$section->addChild('Y');
$section->addChild('Z'),-
// вывести XML- документ
header('Content-Type: text/xml');
$tree->dump();

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
PHP. Проэктирование. Часть Двеннадцатая. PHP. Проэктирование. Часть Четырнадцатая.