Фреймворк xajax
Фреймворк xajax — это библиотека классов PHP с открытым исходным кодом,
которая позволяет вам легко создавать мощные, Web-ориентированные AJAXприложения, использующие HTML, CSS, JavaScript и PHP. Приложения, разработанные при помощи библиотеки xajax, могут асинхронно вызывать расположенные на сервере PHP функции и обновлять содержание без перезагрузки страницы. xajax предоставляет простую реализацию технологии AJAX, а, начиная с версии 0.5, еще и PHP-инструменты для формирования HTML-форм и документов. В отличие от многих других подобных библиотек, xajax позволяет разрабатывать AJAXприложения, не требуя от разработчика знания JavaScript. Библиотека xajax распространяется по лицензии GNU Lesser General Public License (LGPL) и может быть использована для написания платного программного обеспечения. Сайт проекта http://xajaxproject.org. На момент написания книги доступна версия 0.5.
Как работает xajax
Библиотека xajax создает функции JavaScript в виде оболочки PHP-функций, которые вы можете вызывать с сервера из вашего приложения. Когда вызывается функция JavaScript, то она, являясь оболочкой для функции PHP, использует объект XMLHttpRequest для асинхронного соединения с объектом xajax на сервере, который вызывает соответствующую функцию PHP. После завершения этого действия, возвращается xajax XML-ответ от вызванной PHP-функции. Возращенный XML-код содержит инструкции и данные, которые будут проанализированы специальными функциями JavaScript в xajax и использованы для обновления содержания вашего приложения.
Возможности xajax
Фреймворк xajax предлагает следующие возможности, которые вместе делают его уникальным и мощным инструментом:
Может анализировать возвращенный код XML и автоматически его обрабатывать согласно инструкциям, находящимся в этом ответе. Поскольку xajax обрабатывает все это, то вам не нужно писать отдельные функции на JavaScript для того, чтобы обрабатывать возвращенный XML.
Ориентирован на создание отношений между программным кодом и данными для хранения кода xajax отдельно от другого программного кода. Так как это объектно-ориентированный код, то вы всегда можете добавлять свои функции в класс xajaxResponse, используя метод script().
Работает в Firefox, Mozilla, Internet Explorer и Safari. Помимо обновления значений элементов (имеется в виду DOM) и innerHTML, xajax позволяет обновлять стили, классы CSS, значения переключателей и выпадающих списков или какихлибо других свойств элемента.
Может работать с однои многоразмерными массивами, а также ассоциативными массивами из JavaScript в PHP как параметрами ваших функций xajax. В дополне-
ние, если вы вводите объект JavaScript в функцию xajax, функция PHP будет получать ассоциативный массив, определяющий свойства этого объекта.
Предоставляет легкую асинхронную обработку форм. Используя метод javascript xajax.getFormValues(), вы можете легко отправить массив данных в форме как параметры для асинхронной функции xajax: xajax_processForm(xajax.getFormValues(‘formId’).
Если действие совершилось совместно с элементом формы input под именем "checkbox[][]" и "name[first]", то создаются многоразмерные и ассоциативные массивы, такие как если бы вы отправляли форму через массив $_GET. С помощью xajax вы можете динамически подгружать дополнительный JavaScript-код для вашего приложения, чтобы при его исполнении менялись свойства элемента DOM.
Xajax автоматически сравнивает данные, возвращенные из PHP-функций с текущими значениями свойства элемента, который вы хотите изменить. Свойство изменяется только в том случае, если это изменение актуально на данный момент. Это позволяет устранить мерцание, которое происходит, если элемент обновляется каждый раз через определенные промежутки времени. Каждая функция зарегистрируется для того, чтобы быть доступной через xajax, который имеет различные типы запросов. Все функции по умолчанию используют POSTзапросы к серверу, за малым исключением — GET-запросы. Это сделано для большей безопасности запросов.
Если не определен запрашиваемый URI, xajax пытается автоматически определить запрашиваемый URL скрипта. Алгоритм автоопределения xajax достаточно универсален, так что он будет работать как на безопасном протоколе HTTPS, так и на HTTP и на нестандартных портах.
Xajax перекодирует все свои запросы и ответы в кодировку UTF-8, таким образом он поддерживает большой спектр различных знаков и языков.
Xajax был протестирован на различных языках, включая испанский, русский и арабский. Почти весь JavaScript динамически подгружается через JavaScriptрасширения.
В шаблонном движке Smarty для создания переменной должен быть такой код:
$smarty->assign(‘xajax_javascript’, $xajax->getJavascript()). Когда используете xajax, подставляйте в заголовок тег {$xajax_javascript}.
Таким образом, xajax позволяет вам легко создавать мощные, Web-ориентированные AJAX-приложения на основе HTML, CSS, JavaScript и PHP. Приложения, разработанные при помощи библиотеки xajax, могут асинхронно вызывать расположенные на сервере PHP-функции и обновлять содержание без перезагрузки страницы.
Источник: Петин В. А., Сайт на AJAX под ключ. Готовое решение для интернет-магазина. — СПб.: БХВ-Петербург, 2011. — 432 с.: ил. + CD-ROM — (Профессиональное программирование)
Похожие посты:
- Поиск веб-страниц (0)
- Создание блока с закругленными краями (0)
- Создание выпадающего меню исключительно средствами CSS (0)
- Представление табличных данных в привлекательной и удобной форме (0)
- Изменение фонового цвета строки при наведении на нее указателя мыши (0)
- Подчеркивание заголовков (0)
- Конфигурация URL и слабая связанность (0)