Мне вдруг стало интересно работать ATG с Объектно-ориентированный PHP? Это действительно возможно? Если нет, то почему?
пример
: Мы используем дроплет для выполнения определенных функций в ATG, тогда как
Функции также могут быть выполнены в PHP.Также почему репозитории (базы данных) не будут работать с PHP?
Инфраструктура ATG написана на Java для работы в Java VM.
Код, который пишется для настройки, улучшения или расширения ATG, разворачивается вместе с существующим кодом Java для запуска в той же виртуальной машине и требует, чтобы разработчик вызывал методы для объектов Java или расширял классы Java.
Инфраструктура предоставляет теги для доступа к функциональности ATG из уровня пользовательского интерфейса. Эти теги написаны на Java и реализованы в виде библиотек тегов JSP, предназначенных для работы на сервере веб-приложений на основе Java (например, JBOSS или WebLogic).
PHP — это совершенно другая прикладная среда. Он не работает в Java VM, и нет простого механизма для вызова методов Java из кода PHP.
Я бы спросил, чего ты действительно хочешь добиться? Вам нужно использовать базовую функциональность ATG, но предпочитать синтаксис PHP для кода пользовательского интерфейса? Являются ли теги JSP, JSTL и DSP действительно разными и трудными для сравнения?
Если вы действительно хотите продолжать использовать синтаксис PHP, но использовать возможности ATG, вы можете взглянуть на какой-то интерпретатор PHP в Java — интегрировать реализацию PHP для работы в Java VM. Я считаю, что Caucho Resin — одна из таких реализаций, но я понятия не имею, насколько она стабильна, надежна или функциональна. Даже при этом вы, возможно, не сможете использовать теги DSP, и вам понадобится какой-то другой механизм для привязки к коду Java из вашего кода PHP.
Вы хотите повторно реализовать базовую функциональность ATG в платформе на основе PHP? ATG активно развивается в коммерческом масштабе около 20 лет. Конечно, вы можете не захотеть реализовать все что делает ATG, но внимательно посмотрите на все, что делает инфраструктура ATG. У вас должно быть четкое представление о том, чего вы хотите достичь.
Если вы намереваетесь повторно реализовать функциональность ATG в качестве, скажем, коммерческой платформы с открытым исходным кодом, вам следует также рассмотреть вопрос о том, является ли PHP на самом деле подходящим языком для этого (я полагаю, что я рискую начать здесь пламенную войну) ,
Кроме того, вы должны иметь в виду, что при создании платформы (в отличие от решения) вам необходимо не только предоставить основные бизнес-функции, но и механизм, позволяющий другим разработчикам настраивать, улучшать и расширять. Особенно таким образом, чтобы это не мешало процессу обновления — поэтому необходимо четко разделять то, что находится на платформе, и то, что является заказным, но также и с очень легким доступом для изменения или переопределения того, что находится в базовой платформе.
ATG является Фреймворк для создания веб-сайтов со специальными модулями для персонализации, корзины покупок и т. д. Он основан на JAVA.
Так же, как функциональность существует в конкурирующих продуктах ATG, таких как WebSphere Commerce или Hybris, нет никаких причин, почему вы не можете создать такую же функциональность на любом языке или платформе по вашему выбору. Вопрос, который вы должны задать, состоит в том, какую часть этой функциональности вы хотите создать самостоятельно и сколько вы хотели бы «повторно использовать» из инфраструктуры, предоставляемой поставщиком приложений.