Я создал несколько полезных функций, таких как h()
которые действуют как echo htmlentities($var)
. Я хочу, чтобы функции тезисов были доступны повсюду. поэтому, где я его положу.
Как сказал @david barker, вы можете использовать помощника. Создайте файл с именем, например, «site_helper», который содержит все функции.
помните, что вам нужно проверить, существует ли эта функция, или вы получите сообщение об ошибке «функция уже объявлена».
Итак, что-то вроде:
файл site_helper.php
(в application/helpers/
)
if(!function_exists('h')) { function h($value) { return htmlentities($value); } } if(!functin_exists('other_function') //....etc.
И затем вы можете автозагрузить его в config / autoload.php:
$autoload['helpers'] = array('site');
^ – обратите внимание, как вы используете только часть перед подчеркиванием для вызова файла. Кроме того, помощники – это не классы, а набор функций.
Вы должны включить файл глобальных переменных в файл /application/config/constants.php. Затем переместите файл глобальной функции в папку / application / helpers. Затем вы должны автозагрузите файл глобальных функций. /application/config/autoload.php
$autoload['helpers'] = array('your-global-function-file.php');
Я бы предложил не перемещать что-либо внутри проекта системной папки, так как обновление было бы абсолютным кошмаром. Иногда рефакторинг вашего кода соответствует логике CI, возможно, быстрее в долгосрочной перспективе, а не пытается копировать / вставлять материал повсюду.
Именно для этого нужны помощники.
Создайте нового помощника (не забудьте добавить его с помощью _helper.php) и поместите в свою вспомогательную папку.
Вы можете либо загрузить его в свой конфигурационный файл (чтобы вы могли использовать его в любом месте), либо просто вручную загрузить его, когда это необходимо.
Используйте codeigniter-kint и настраиваемый файл для глобальных функций. Это даст вам более полезный и красивый результат:
Файл: application / helpers / globalfunctions_helper.php
<?php /** * @file Global Helper Functions * */ if(!function_exists('pr')) { function pr($value=false){ $CI = get_instance(); $CI->load->library('kint'); return @Kint::dump($value); } } if(!function_exists('dp')){ function dp($value=false) { $CI = get_instance(); $CI->load->library('kint'); Kint::dump($value); die(); } }
См. Также: http://raveren.github.io/kint/