Codeigniter 在config.php中定义自定义变量并在视图中访问它

Codeigniter 在config.php中定义自定义变量并在视图中访问它,codeigniter,view,config,Codeigniter,View,Config,我已经在config.php中定义了image_path,现在需要在视图中访问这个变量,就像我们使用base_url()一样 有可能吗?您需要扩展url\u帮助程序。请参阅文档中的部分 简而言之,在应用程序/helpers文件夹中创建一个文件名MY\u url\u helper.php。(假设在配置文件中,$config['subclass\u prefix']='MY\u') 添加以下方法 if ( ! function_exists('image_path')) { function

我已经在config.php中定义了image_path,现在需要在视图中访问这个变量,就像我们使用base_url()一样


有可能吗?

您需要扩展
url\u帮助程序
。请参阅文档中的部分

简而言之,在
应用程序/helpers
文件夹中创建一个文件名
MY\u url\u helper.php
。(假设在配置文件中,
$config['subclass\u prefix']='MY\u'

添加以下方法

if ( ! function_exists('image_path'))
{
    function image_path() 
    {
        $CI =& get_instance();
        return $CI->config->item('image_path');
    }
}

这应该可以做到。

您需要扩展
url\u帮助程序。请参阅文档中的部分

简而言之,在
应用程序/helpers
文件夹中创建一个文件名
MY\u url\u helper.php
。(假设在配置文件中,
$config['subclass\u prefix']='MY\u'

添加以下方法

if ( ! function_exists('image_path'))
{
    function image_path() 
    {
        $CI =& get_instance();
        return $CI->config->item('image_path');
    }
}

这应该可以做到。

使用constants.php,这就是它的用途,这是我的constants.php中用于图像路径的部分

/*Constant paths*/
define('LOGO_PATH',APPPATH.'assets/images/manulogos/');
define('PROD_IMAGE_PATH',APPPATH.'../assets/images/prod_images/');
然后在需要的地方调用常数

$imageName = $this->doUpload($control,PROD_IMAGE_PATH,$image,'all')

使用constants.php,这就是它的用途,这超出了我的constants.php的图像路径

/*Constant paths*/
define('LOGO_PATH',APPPATH.'assets/images/manulogos/');
define('PROD_IMAGE_PATH',APPPATH.'../assets/images/prod_images/');
然后在需要的地方调用常数

$imageName = $this->doUpload($control,PROD_IMAGE_PATH,$image,'all')

我修改了这段代码,只需将其作为配置项(“名称”)访问;但是为什么我们可以像base_url()那样简单地访问base_url,而不能访问自定义配置变量呢?我想他们更喜欢可读性和可扩展性,而不是功能性。毕竟,
image\u path()
config\u项(“image\u path”)更干净。
。它更具可读性,更易于测试,并且遵循框架的原则。第一种方法允许您在将来需要时添加特定的逻辑,而
config_项('NAME')
则使其更加困难。我可以将
config_item('NAME')
视为您的助手的一个很好的实用方法,我不会在视图中使用它。我修改了这段代码,只是将其作为config_item('NAME')访问;但是为什么我们可以像base_url()那样简单地访问base_url,而不能访问自定义配置变量呢?我想他们更喜欢可读性和可扩展性,而不是功能性。毕竟,
image\u path()
config\u项(“image\u path”)更干净。
。它更具可读性,更易于测试,并且遵循框架的原则。第一种方法允许您在将来需要时添加特定的逻辑,而
config_项('NAME')
则使其更加困难。我可以把
config\u item('NAME')
看作是助手的一个很好的实用方法,我不会在视图中使用它。