这是一个由两部分组成的问题,尽管这两个部分密切相关。
我为我们的网站创建了一个页面装饰器 API,并将装饰器类的自动加载器放在我们站点范围的包含文件中。另一位开发人员认为这是一个非常糟糕的主意,因为随处使用自动加载器非常危险,并且可能导致奇怪的错误。例如,将一个对象序列化到会话中,如果您的一个自动加载的类具有相同的名称和 a __wakeup()
,它将运行(尽管我尝试了这个并且无法重现它)。自动加载是否真的很危险,如果是,它有什么潜在的危险以及如何避免?我没有使用__autoload()
,而是使用spl_autoload_register()
.
他反对使用自动加载的另一个论点是它比直接包含文件要慢,这可能很明显。我认为要保证装饰器在每个页面上工作,你必须包含每个装饰器类,所以他的建议是创建一个工厂类,它可以获取包含并为你创建你想要的类。我可以继续说下去,但我听到很多人吹捧自动加载的优点,并说它可以让任何应用程序更快。我非常喜欢它,但我仍然想做最好和最快的事情。有什么建议么?