Что такое вспомогательные классы и скрипты? - PullRequest
5 голосов
/ 03 июня 2009

Во многих фреймворках / AMS / CMS я вижу папки "вспомогательных" скриптов и классов. Что именно делают вспомогательные скрипты и классы? Какова их конкретная цель. Это определено разработчиком или является стандартом для их функции?

Ответы [ 3 ]

8 голосов
/ 03 июня 2009

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

Эти утилиты часто очень специфичны и выполняют «действия» над данными или объектами в приложении.

Типичными примерами могут быть операции со строками, анализ ввода, утилиты шифрования / дешифрования или математические вычисления.

7 голосов
/ 03 июня 2009

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

Обычно в Java (не знаю php) они принимают форму группы статических методов в классе с именем Util, или, по крайней мере, так я всегда видел.

Из википедии

Вспомогательные классы - это термин, данный классам, которые используются для предоставления некоторых функций, хотя эти функции не являются главной целью приложения.

1 голос
/ 03 июня 2009

Чтобы добавить к тому, что говорит Монтекристо. Помощники облегчают написание сложного кода, выполняя большую часть работы за вас. Например, в фреймворке PHP Symfony есть так называемые помощники Javascript. Эти помощники обертывают API, предоставляемый библиотекой прототипов, что делает создание вызовов AJAX намного быстрее и проще.

Вот пример помощника по JavaScript:

<div id="feedback"></div>
<div id="indicator" style="display: none">Loading...</div>
<?php echo link_to_remote('Delete this post', array(
    'update'   => 'feedback',
    'url'      => 'post/delete?id='.$post->getId(),
    'loading'  => visual_effect('appear', 'indicator'),
    'complete' => visual_effect('fade', 'indicator').
                  visual_effect('highlight', 'feedback'),
)) ?>
...