Рамочные помощники, для чего они? - PullRequest
6 голосов
/ 06 апреля 2011

Я начал смотреть на некоторые рамки. Особенно Code Igniter очаровал меня. Но при поиске по папкам я обнаружил system/helpers, который содержит 21 файл PHP. Внутри этих файлов мы находим тысячи функций, связанных с html, xml, строками, массивами, числами, формами и т. Д.

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

Ответы [ 4 ]

9 голосов
/ 06 апреля 2011

«Помощник» во многих платформах, включая CodeIgniter, относится к набору функций, которые облегчают выполнение простых рутинных задач, группируя несколько процессов в одну функцию.

Официальную документацию для помощников CodeIgniter можно найти здесь .

Это дает следующее объяснение:

Помощники, как следует из названия, помогут вам с заданиями. Каждый вспомогательный файл это просто набор функций в определенная категория. Есть URL Помощники, которые помогают в создании ссылки, есть помощники формы, которые поможет вам создать элементы формы, текст Помощники выполняют различный текст процедуры форматирования, Cookie Helpers устанавливать и читать файлы cookie, File Helpers поможет вам разобраться с файлами и т. д.

Список вспомогательных функций и их функции также можно найти в документации.

Dan

PS. Не следует удалять какие-либо файлы в системном каталоге, поскольку на них можно положиться в ядре. Вы можете создавать своих собственных помощников, которые размещаются в каталоге application / helpers.

3 голосов
/ 06 апреля 2011

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

2 голосов
/ 06 апреля 2011

Вы никогда не должны удалять файлы библиотеки / фреймворка. Они предназначены для работы "в целом". На стороне пользователя очень мало причин, по которым имеет смысл разрезать библиотеку / фреймворк на части. Так что вы, вероятно, ничего не выиграете, но с риском, что вы что-то сломаете.

Однако «помощники» - это общая концепция, которая предоставляет некоторые простые функциональные возможности, которые другой компонент может использовать (или нет) без необходимости его непосредственной реализации. Посмотрите в руководстве по codeigneter некоторые подсказки, для которых эта помощница хороша.

1 голос
/ 06 апреля 2011

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

У вас нетиспользовать их в своем приложении, и они не вызовут заметных проблем с производительностью.

Сначала они могут показаться избыточными, но, например, CI чрезвычайно полезны (как вы, вероятно, ожидаете).

Вы можете утверждать, что помощник по формам или помощник по HTML просто генерирует служебные данные, и вы можете сами набрать соответствующий HTML, но подумайте:

   <form action="<?php echo site_url('controller/method'); ?>" method="post">

    // or using the form helper

    <?php echo form_open('controller/method');

Сохраните все эти дополнительные символы, а такжериск неправильного написания, опечаток и т. д.

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

Редактировать

ради доказательства моей точки зрения!

$attributes = array('class' => 'email', 'id' => 'myform');
$hidden = array('hidden_value'=>'1234', 'hidden_value_2' => 'foobar');

echo form_open('email/send', $attributes, $hidden);
...