公共函数与CodeIgniter中的函数

时间:2012-03-24 07:37:25

标签: php function codeigniter methods

在PHP中,在类中声明方法之间有什么区别,比如

public function VS function

例如:

public function contact()
{
    $data['header'] = "Contact";
    $this->load->view('admin/admin_contact', $data);
}

VS

function contact()
{
    $data['header'] = "Contact";
    $this->load->view('admin/admin_contact', $data);
}

使用公共功能功能以及为什么更好的做法?

6 个答案:

答案 0 :(得分:14)

根据PHP.net

  

类方法可以定义为public,private或protected。 声明没有任何明确可见性关键字的方法被定义为公开

为了获得最佳实践,我建议使用可见性关键字(尤其是在使用更高版本的PHP时)。它可以防止混淆(就像你现在的那样),并促进编码的标准做法。

答案 1 :(得分:11)

使用任何显式可见性关键字声明的方法是最佳做法。它看起来和感觉更好,它不会混淆人们。

  • 大多数PHP5编码约定(例如Zend,Symfony ......)都需要public关键字,所以它很熟悉。
  • 这意味着变量和方法声明使用相同的语法。
  • 它更明确,并迫使开发人员考虑他们的方法 能见度。

答案 2 :(得分:4)

这两者之间没有区别。 两者都是一样的。 在codeigniter中,两者具有相同的含义 并且可以使用标准URI标记调用,除非在函数名前面加上“_”  _fname()将不会被调用

答案 3 :(得分:3)

它们是相同的......如果你没有指定可见性方法/函数被声明为public

  

声明没有任何显式可见性关键字的方法被定义为public

来自docs here

答案 4 :(得分:1)

如果你真的想要最佳实践,你将永远使用公共。但对于codeigniter框架,如果你声明它是公开的,它就不会发生。请注意,如果您希望控制器是私有的,则不要使用私有控制器,但您将在控制器名称前面使用下划线(_),以使其不可见。

答案 5 :(得分:0)

  • 两个声明都相同,并且两个函数都可以通过codeigniter中的URI请求获得
  • 要防止用户调用方法,请使用私有或受保护的访问说明符。