Вверх ↑
Администрация
Ответов: 15295
Рейтинг: 1519
#1: 2007-03-26 17:39:43 ЛС | профиль | цитата
User108 писал(а):
а в чем в общих чертах отличие алгоритма кодогенерации пакета PHP от оного в Delphi ?

в Delphi исторически сложилось так, что каждый компонент(исключая встроенных в среду) представляет из себя полноценный объект с торчащими наружу методами и свойствами. В итоге построение схем сводится к банальному привязыванию метода одного компонента к свойству другого. Ну и внешнее задание статических св-тв(те, что на вкладке св-ва в среде) конечно же. Со временем были внесены кое-какие дополнения, призваные несколько улучшить качество кода. Такой подход достаточно прост, прозрачен для пользователя и надежен(т.е. исключает любые неверные включения в схеме). Однако минус является то, что он не оптимален по объему коду и тем более не оптимален по скорости исполнения.
в PHP каждый компонент это не объект, а некоторый скрипт(шаблон), который в зависимости от св-тв компонента генерирует небольшой кусочек кода - именно такой кусочек, который хотел пользователь. Ничего лишнего. В итоге генерируемый код по качеству практически не уступает тому, который можно написать в InlineCode. Однако минусами тут является то, что являлось плюсами в Delphi: даже простой компонент потребует от пользователя знания всей технологии генерации кода; этот подход не является прозрачным поскольку большая часть скрипта это анализ окружения компонента, на основе которого генерируется код(и как следствие один и тот же компонент может впринципе генерировать совершенно разный конечный код); он не надежен, т.е. автор компонента может написать синтаксически верный скрипт(понятный кодогенератору), но дающий синтаксически неверный код(не понятный компилятору).
карма: 27
0