Подтвердить что ты не робот

Где размещать глобальные функции в кодеринговом

Я создал несколько полезных функций, таких как h(), который действует как echo htmlentities($var). Я хочу, чтобы функции тезисов были доступны повсюду. поэтому, где я его положу.

4b9b3361

Ответ 1

Как сказал @david barker, вы можете использовать помощника. Создайте файл с именем, например, "site_helper", который содержит все функции.

помните, что вам нужно проверить, существует ли эта функция, или вы получите сообщение об ошибке "функция уже объявлена".

Итак, что-то вроде:

файл site_helper.phpapplication/helpers/)

if(!function_exists('h'))
{
  function h($value)
  {
   return htmlentities($value);
  }
}

if(!functin_exists('other_function')
//....etc.

И затем вы можете автозагрузить его в config/autoload.php:

$autoload['helpers'] = array('site');

^ - обратите внимание, как вы используете только часть перед подчеркиванием для вызова файла. Кроме того, помощники - это не классы, а набор функций.

Ответ 2

Вы должны включить файл глобальных переменных в файл /application/config/constants.php. Затем переместите файл глобальной функции в папку /application/helpers. Затем вы должны автозагрузите файл глобальных функций. /application/config/autoload.php

$autoload['helpers'] = array('your-global-function-file.php');

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

Ответ 3

Именно для этого нужны помощники.

Создайте нового помощника (не забудьте добавить его с помощью _helper.php) и поместите его в свою вспомогательную папку.

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

Ответ 4

Используйте codeigniter-kint и пользовательский файл для глобальных функций. Это даст вам более полезный и красивый результат: enter image description here

Файл: 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/