Зачем использовать CakePHP JsHelper? - PullRequest
8 голосов
/ 29 февраля 2012

Я только начинаю с CakePHP, и мне было интересно, кто-нибудь может объяснить истинную выгоду использования его JsHelper по сравнению с кодированием обычных статических jQuery и JS. Пока что я не понимаю, как помощник сделает создание сценариев проще или быстрее.

Ответы [ 3 ]

4 голосов
/ 29 февраля 2012

по той же причине, по которой я написал свой помощник GoogleMaps;) основная идея в том, что вы можете использовать тот же язык (в данном случае php), что и остальную часть приложения, и вы можете передавать любые массивы опций php и массивы, содержащие данныезначения и помощник должен заботиться о нем.

это похоже на cakephp в качестве оболочки для php.он оборачивает ваш код и может помочь сохранить его сухим.

не поймите меня неправильно - я никогда не использовал помощника js / ajax сам.но я могу понять, почему некоторые хотят выбрать это вместо написания JS сами.в некоторых случаях вывод может быть даже более «правильным» (если вы не знаете о потенциальных проблемах).например, ошибка IE: если вы выведите параметры {} самостоятельно и забудете удалить последние, они не будут работать в IE6 и т. д., что не может произойти с помощниками в качестве обертки - по крайней мере, это должно быть shoudnt;)

так что с помощником он либо вообще не работает, либо работает командой опытных разработчиков, разработавших его для работы.особенно для неопытных разработчиков это обычно беспроигрышная ситуация: быстрая и более надежная.вы всегда можете начать переключаться на ручную работу позже (если вы видите фактический вывод JS и начинаете понимать его).

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

0 голосов
/ 29 февраля 2012

JsHelper похож на строительные леса: очень удобно, если вам нужны только базовые вещи и только базовые вещи.То есть, ajaxify нумерация страниц или некоторые элементы.

Но помимо этого, лучше написать свой собственный код, потому что вы будете нуждаться в вещах так, как вам нужно, а не в том, как помощник выравнивается по умолчанию.

Как и все остальное в рамках: это инструмент.Проверьте ваши требования и используйте лучшие доступные инструменты.

0 голосов
/ 29 февраля 2012

Как и любой хелпер, JsHelper - это способ упростить анализ содержимого в вашем представлении.Но использование «сырого» кода JS / jQuery в вашем представлении будет работать нормально, например, с использованием $this->Html->scriptBlock.

Я не думаю о реальном преимуществе, кроме как, если бы jQuery когда-либо изменил синтаксисопределенной функции, вам не нужно будет корректировать свой код при использовании JsHelper, так как ядро ​​затем требует, чтобы это обновление было реализовано, а не нужно менять весь ваш «сырой» код JS во всех ваших представлениях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...