我正在学习CodeIgniter(CI)。我见过CI支持OOP概念,但我想知道在Web和论坛的每个例子中,在Controllers中声明的方法都使用public关键字。我认为这不是一个愚蠢的问题。即使在CI用户指南中,我也看到他们总是使用公共关键字。然后封装会发生什么?
你可以帮我解决这个问题。答案 0 :(得分:3)
我们都知道CI是MVC frame work
如图所示,视图可以调用控制器和模型。 控制器可以调用模型和视图,模型可以调用视图。 在这种情况下,控制器中的大多数方法都由视图调用,并且此函数具有从View处理该请求的逻辑。我们可以在控制器和模型中编写私有方法,这只能在同一个类中调用(如您所说) ,大多数示例试图说明CI上的功能,不需要编写私有方法,即您不熟悉私有方法 - 这只会用于更结构化的应用程序。)无论是封装还是all.``
答案 1 :(得分:2)
控制器中的方法实际上是由CI本身调用的。如果它不是公共CI无法调用,您的控制器将无法工作。这就是为什么所有的行动方法都需要public
。您可以制作其他方法private
或protected
。
答案 2 :(得分:1)
我想说如果你想遵循良好的编程习惯并编写易于理解的代码,请在方法中添加public
。否则不要。 (我知道我现在会得到一些正统的程序员!)
PHP5方法默认为public
,未说明。
声明没有任何显式可见性关键字的方法被定义为public。
来源:http://www.php.net/manual/en/language.oop5.visibility.php