哪一个是使用base_url()URL帮助程序在CodeIgniter中获取URL的最佳方法?

时间:2014-06-01 10:30:39

标签: php codeigniter

根据用户指南,我们可以使用URL helper以下列方式获取CodeIgniter中的网址:

echo base_url('admin/profile');

但我看到一位开发人员正在使用这样的代码:

echo base_url() . 'admin/profile';

您认为哪一个更快?

我认为两者都没有任何区别,因为在引擎盖下,它必须连接参数中传递的字符串。为了遵循良好的编码标准,前一种方法可能更好。我是对还是错?

4 个答案:

答案 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函数中传递字符串。