我不确定我在哪里听到这个,但我刚才听到/读过:
“小型php应用程序/脚本不推荐使用类,因为需要在每次请求时调用它们。”
但这与在每个请求上调用函数不一样吗?
另外,如何在应用程序/脚本中包含多个类,因为我看到人们有一个包含所有类的简单文件。
是不是有更好的方法将所有类都包含在应用程序/脚本中?
干杯!
答案 0 :(得分:1)
由于你甚至无法给出评论的来源,我建议完全放弃它,因为它看起来完全无动于衷,因此浪费时间来处理。
这应该能够解决你的实际问题:
但这与在每个请求上调用函数不一样吗?
不一样但很可比,对吧。
另外,如何在应用程序/脚本中包含多个类,因为我看到人们有一个包含所有类的简单文件。 是不是有更好的方法将所有类包含到应用程序/脚本中?
更好地定义?这种方法有什么问题?一般来说,有很多方法可以解决这个问题,但是它涉及如何在文件系统中组织类,以及如何在文件系统中组织文件。
通常,您需要手动或使用自动加载器来包含文件的类。这就是它。看到右侧的链接,你会发现大量的信息。
答案 1 :(得分:1)
正如yes123所说,这句话没有意义。作为开发人员,您可以决定如何编写项目以及是否应该使用类。
关于如何最好地包括课程,有几种思想流派。就个人而言,我更喜欢为每个类创建一个单独的文件,该文件与该类具有相同的名称,因此名为mySuperClass的类将位于名为mySuperClass.php的文件中,并包含在require_once 'mySuperClass.php';
中。
其他人喜欢将他们的类放入包含多个相关类的文件中。只要你决定你想做什么而且你对它有所了解,我认为这不重要。
您可能也希望查看自动加载和类/文件命名约定,例如PEAR。我在大多数项目中使用Zend Framework,因此倾向于坚持使用自动加载和PEAR命名约定。 http://framework.zend.com/manual/en/coding-standard.naming-conventions.html其他人对此有自己的偏好。
PHP 5.3还引入了命名空间,它提供了另一种方法,这里有一个介绍: - http://www.sitepoint.com/php-53-namespaces-basics/ 我并没有真正接受这一点,因为我非常喜欢我现在的系统,但它可能适合你。
答案 2 :(得分:0)
你可以使用__autoload。它将在需要时包括课程
function __autoload($class_name) {
include 'classes/'.$class_name . '.php';
}