Вот несколько вариантов. В зависимости от того, как и где вы используете эту строку и функцию, можно быть лучше других.
Config
Вы можете хранить значение как config, в application/config/config.php
$config['filter_regex'] = 'yourReallyLongString';
первичной конфигурации является автоматически загружается CodeIgniter, так что вы можете использовать его так:
$filterRegex = $this->config->item('filter_regex');
if(preg_match($filterRegex, $subject))
{
databaseStuffHere();
}
Постоянный
Если вы используете эту длинную строку в нескольких местах, и было бы полезно иметь глобальный доступ, вы могли бы определить ее как константу в application/config/constants.php
. Это также предотвратит случайное переопределение значения.
define('FILTER_REGEX', 'yourReallyLongString');
Затем используйте его с функцией, как это:
$filterRegex = FILTER_REGEX;
if(preg_match($filterRegex, $subject))
{
databaseStuffHere();
}
Helper
Наконец, вы можете использовать helper. При необходимости вы можете загрузить помощник или автоматически загрузить его. Вы можете создать свой собственный помощник в application/helpers/
. Это может выглядеть примерно так:
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
if (! function_exists('filter_slurs'))
{
function filter_slurs($subject = '')
{
$filter_regex = 'yourReallyLongString';
if (preg_match($filter_regex, $subject))
{
return FALSE;
}
else
{
return TRUE;
}
}
}
Имея функцию, чтобы справиться с этим может сделать ваш код легче следовать и более значимым, например, в контроллере, вы можете использовать его как это:
$this->load->helper('slur_filter_helper'); //assumes the helper file is: slur_filter_helper.php
if(filter_slurs($subject))
{
//do something
}
else
{
//do something else
}
Большое вам спасибо! Я закончил тем, что определял его как константу, так как я называю это где-то еще, и это сработало, как шарм! – zazvorniki
Не беспокойтесь, я рад, что мой ответ помог! – jleft