Codeigniter 在config.php中定义自定义变量并在视图中访问它
我已经在config.php中定义了image_path,现在需要在视图中访问这个变量,就像我们使用base_url()一样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
有可能吗?您需要扩展
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')
看作是助手的一个很好的实用方法,我不会在视图中使用它。