我们需要有一个新的函数,如base_url(),名为main_site_url。
我刚刚将其添加到application/config:中的主配置文件中
$config['main_site_url'] = 'http//iksna.com/';
并将此代码发送到/system/core/config.php
/**
* Main Site URL
* Returns main_site_url . index_page [. uri_string]
*
* @access public
* @param string the URI string
* @return string
*/
function main_site_url($uri = '')
{
if ($uri == '')
{
return $this->slash_item('main_site_url').$this->item('index_page');
}
if ($this->item('enable_query_strings') == FALSE)
{
$suffix = ($this->item('url_suffix') == FALSE) ? '' : $this->item('url_suffix');
return $this->slash_item('main_site_url').$this->slash_item('index_page').$this->_uri_string($uri).$suffix;
}
else
{
return $this->slash_item('main_site_url').$this->item('index_page').'?'.$this->_uri_string($uri);
}
}
// -------------------------------------------------------------
但现在,main_site_url();
无法访问它
是否可通过以下方式访问:$this->config->main_site_url()
;
我在使用main_site_url()
时出现此错误;
错误:
Call to undefined function main_site_url()
您可以通过以下方式创建自己的:
步骤1:
在您的application/config/config.php
中添加此,$config['main_site_url'] = 'http//iksna.com/';
步骤2:
在system/core/Config.php
中添加了一个新的函数main_site_url()
,如base_url()
、site_url()
,它们已经在那里定义:
public function main_site_url($uri = '', $protocol = NULL)
{
$main_site_url = $this->slash_item('main_site_url');
if (isset($protocol))
{
if ($protocol === '')
{
$main_site_url = substr($main_site_url, strpos($main_site_url, '//'));
}
else
{
$main_site_url = $protocol.substr($main_site_url, strpos($main_site_url, '://'));
}
}
return $main_site_url.ltrim($this->_uri_string($uri), '/');
}
步骤3:
现在在system/helpers/url_helper.php
中添加以下代码
if ( ! function_exists('main_site_url'))
{
function main_site_url($uri = '', $protocol = NULL)
{
return get_instance()->config->main_site_url($uri, $protocol);
}
}
现在,您可以在控制器、库和视图中的任何位置使用main_site_url()
,就像base_url()
、site_url()
等一样。
转到
/system/application/libraries
创建一个名为的文件
custom_function.php
在custom_function.php 中添加函数main_site_url
使用调用控制器文件中的函数
$this->custom_function->main_site_url();