根据用户指南,我们可以使用URL helper以下列方式获取CodeIgniter中的网址:
echo base_url('admin/profile');
但我看到一位开发人员正在使用这样的代码:
echo base_url() . 'admin/profile';
您认为哪一个更快?
我认为两者都没有任何区别,因为在引擎盖下,它必须连接参数中传递的字符串。为了遵循良好的编码标准,前一种方法可能更好。我是对还是错?
答案 0 :(得分:1)
Code Igniter base_url()调用
function base_url($uri = '')
{
return $this->slash_item('base_url').ltrim($this->_uri_string($uri), '/');
}
所以base_url()。$ string与base_url($ string)不同。
此外,您可能会对将来覆盖base_url方法感兴趣,并对URI进行其他细节处理。
所以一个好的标准方法是:
echo base_url('admin/profile');
答案 1 :(得分:0)
这两种方法都是正确的,这取决于你想要做什么。 base_url()
将只打印您在配置文件中设置的网站base_url()
,而当您通过将其作为参数传递或与其连接来指定某个字符串时,结果是相同的。
例如:
base_url="http://localhost/mywebsite/"; //Defined in config file
base_url().'mycontroller/myfunction';// This will print http://localhost/mywebsite/mycontroller/myfunction
base_url('mycontroller/myfunction');// This will also print http://localhost/mywebsite/mycontroller/myfunction
因此,您可以使用任何您习惯使用的方法,技术上两者都是相同的。 就速度而言,前者速度更快。
答案 2 :(得分:0)
我不习惯使用CodeIgniter但是...
echo base_url() . 'admin/profile';
更有意义......作为开发人员,我不必知道base_url()内部的内容,我只读取函数的名称,我可以猜出返回的是什么。另一种方式......
echo base_url('admin/profile');
作为不习惯使用CodeIgniter进行编码的Web开发人员,如果代码中存在错误,我必须转到文档或调试框架以查看发生的情况,这非常耗时。
这是我的意见......
答案 3 :(得分:0)
您使用echo base_url('admin/profile');
或echo base_url() . 'admin/profile';
。两者都产生相同的结果。区别在于处理,谈论速度,可能存在可忽略的差异,因为base_url('admin/profile')
是一个核心函数,它基本上取参数并连接字符串并返回,另一方面,如果我们不给出任何参数它和连接回声字符串是一回事。
这是用户偏好,我喜欢在base_url
函数中传递字符串。