一尘不染

自动装带功能

php

上周,我了解到可以通过编写__autoload()函数将类包含在您的项目中。然后我了解到,使用自动加载器不仅是一种技术,而且是一种模式。

现在,我在项目中使用了自动加载器,并且发现它非常有用。我想知道是否有可能用函数做同样的事情。忘记包含正确的PHP文件以及其内部的功能可能对您很有用。

那么,是否可以创建函数自动加载器?


阅读 283

收藏
2020-05-29

共1个答案

一尘不染

没有用于功能的功能自动加载器。您有四个可行的解决方案:

  1. 将所有函数包装到命名空间类中(适当的上下文)。假设您有一个名为的函数string_get_letters。您可以将其添加到称为StringFunctions静态函数的类中。因此string_get_letters(),您不必打电话,而是打电话StringFunctions::get_letters()。然后,您将使用__autoload那些命名空间的类。

  2. 预加载所有功能。由于您使用的是类,因此不应有 那么 多函数,因此只需预加载它们即可。

  3. 在使用函数之前先加载它们。在每个文件中,require_once将在该文件中使用的功能文件。

  4. 首先不要使用函数。如果您正在开发OOP代码(无论如何看起来都一样),则几乎不需要功能。您需要功能(或多个功能)的所有内容,都可以以OO方式进行构建,而无需使用功能。

就个人而言,我建议根据您的确切需求以及代码库的质量和大小来选择1、2或4。

2020-05-29