PDA

Просмотр полной версии : jQuery PHP library


ice1k
09.01.2008, 22:53
PHP библиотека для jQuery
http://habrahabr.ru/pictures/00/00/02/16/03/picture_5.png
С тех пор как сочетание "Web 2.0" пришло в массы, все чаще разработчикам сайтов приходиться добавлять "web 2.0 красивости" к сайтам. Очень помогает в этом JavaScript фреймворк jQuery. Описывать все прелести данного фреймворка я думаю не имеет смысла (о нем и так слишком много написано), но мне, как PHP разработчику, нехватало удобного сервер сайда для генерации AJAX ответов, в итоге на свет появилась PHP библиотека jQuery-PHP (http://jquery.hohli.com/)...
Что в данной библиотеке особенного? Ну во первых это синтаксис - он очень схож с JavaScript частью, вот вам пример:
$('#test0').html('new content');
PHP код для генерации такого скрипта выглядет следующим образом:
jQuery::jQuery('#test0') -> html('new content');
Как видим из примера - синтаксис действительно повторяет знакомый для многих jQuery. Это конечно простенький примерчик, попробуем что-нить посложнее:
jQuery::jQuery('#test3 div') -> bind('click', array('test'=>'answer'), 'eventAlert')
-> css ('cursor', 'pointer')
-> css ('color', '#0000ff')
-> css ('textDecoration', 'underline');
или даже так:
jQuery::jQuery('#test2 div') -> html(date('H:i:s') . ': new content')
-> css('backgroundColor' , '#0000ff')
-> filter('.red')
-> css('backgroundColor' , '#ff0000')
-> filter('filter')
-> css('backgroundColor' , '#00ff00');
Как видим - даже такие относительно сложные цепочки работают.
На данный момент я не смог протестировать работу всех функций, знаю точно, что существуют следующие ньюансы:

* методам jQuery, которым в качестве параметров могут быть переданы callback функции могут быть вызваны в PHP, но javascript функции не могут генерироваться на лету, следовательно в качестве параметров следует использовать имя существующей функции
* для поддержки callback функций приходиться писать правила исключения в файле jquery.php.js (см. мегасвитч начинающийся с 30-ой строки)
* совсем не тестировалось с плагинами

Так же в данной бибилотеки есть служебные методы:

* addMessage - добавить сообщение
* addError - добавить сообщение о ошибке
* evalScript - выполнить javascript

http://habrahabr.ru/blog/php/33611.html

groundhog
09.01.2008, 23:04
ice1k, не знаю... Может оно легковесное и простое в использовании (я им не пользовался) но могу сказать одно - xajax или jodo toolbox хватит с головой, хвостом и ещё много останется... xajax - идеальное средство для организации ajax-приложений, а jodo toolbox - это адское сочетания аякса, выворотов с интерфейсом и всевозможных графический библиотек для работы с векторной графикой...

ice1k
09.01.2008, 23:09
groundhog, согласен с тобой. Но всё же для расширения "кругозора" можно немного потестить =)

Isis
10.01.2008, 10:57
Я так понял работа такая я же как у ajax класса jQuery (jquery.com) ?