只有在使用类的情况下,PHP才会加载/包含文件


PHP loading / including files only if class is used

我有几个类,某些类只需要SDK的一部分。

例如

class a { /* requires filea.php*/ }

class b { /*requires fileb.php*/ }

而不是像那样在顶部包含文件

require_once 'filea.php';
require_once 'fileb.php';
class a { /*do stuff*/ }
class b { /*do stuff*/ }

我可以把它们包括在类中吗,这样只有在创建对象时才能加载?

class a { require filea.php; /*do stuff*/ }
class b { require fileb.php; /*do stuff*/ }

这涉及到紧密耦合,这被认为是一种糟糕的做法。如果需要两个类一起工作,则应该使用依赖项注入。

但是,无论如何,自动加载应该会让你更容易做到这一点:

  • __autoload()
  • SPL Autoload