Расширение методов-помощников codeigniter


0

Я разрабатываю проект в кодеигниторе, и мне нужно изменить функциональность функции site_url()url_helper. Я уже расширил url_helper в моей папке application/helper, назвав ее MY_url_helper, и я могу загрузить/получить доступ к ней. Я хочу знать, как расширить функциональность функции site_url(). Нужно ли мне создавать другой метод с другим именем под названием site_url_ext() в моем расширенном помощнике или есть способ продлить текущую функцию.

Спасибо.

  0

Что вы хотите изменить на этой конкретной функции? 14 фев. 172017-02-14 08:23:40

  0

Мне нужно изменить возвращаемый url. 14 фев. 172017-02-14 08:24:19

1

Я думаю, сначала вам нужно понять, что означает «расширение» в основном. Расширяя класс-помощник, вы получаете доступ к функциям, предлагаемым вспомогательным классом, а это значит, что вам не нужно его повторно писать. Вы не можете расширять (как в наследовать) функцию/метод. Если вы хотите добавить дополнительные функции к уже существующей функции site_url(), вы можете создать свою собственную функцию и назовите ее, как хотите, например. site_url_ext(), скопируйте код в исходном site_url(), если необходимо, и начните изменять с него наборы. Кроме того, вы можете самостоятельно создать собственный код site_url_ext(). Если это всего лишь base_url, вы хотите изменить, то сделайте только то, что в конструкторе класса url_helper.

  0

Спасибо, теперь я понимаю, что это можно сделать только с помощью классов, а помощники - это не классы. 14 фев. 172017-02-14 08:28:30

  0

Отлично, вы также можете изменить фактическую функцию 'site_url()', если нужно просто быть уверенным, что это ваша точка навигации для всей вашей системы, поэтому изменения здесь имеют решающее значение. 14 фев. 172017-02-14 08:30:05

  0

да, согласитесь .... 14 фев. 172017-02-14 08:33:01