草庐IT

autoloading

全部标签

PHP : What is the benefit of spl_autoload_register? 包含的性能

我一直在阅读关于spl_autoload_register函数作为require、require_once、include和&包含一次。尽管有很多关于如何实现这一点的讨论,但文档并不太详细,也没有解释它与原始方法相比有何好处。引用:http://php.net/manual/en/function.spl-autoload-register.php我想知道spl_autoload_register是如何工作的?使用spl_autoload_register时有性能差异吗?它如何处理交叉链接类中的许多require语句(超过20个)?(这不会仍然导致重复要求吗?)

php - php spl_autoload_register 和 composer autoloader 可以一起工作吗?

经过一些研究,我无法找到解决我的问题的方法。我正在使用一个API,它是我通过composer下载的命名空间。API具有依赖性,我允许Composer为我管理和自动加载。除此之外,我还有大约10个类,它们是我使用php的spl_autoload_register自动加载的。最近,我开始混合类(class)以完成项目的一部分,但整个事情都变得一团糟。我的自定义类不能使用Composer类,反之亦然。有没有一种方法可以用来自动加载位于两个单独的文件夹中并使用两个单独的外加载程序加载的类。这是我目前使用的代码。vender/autoload.php与典型的Composer自动加载器没有什么不同

php - __autoload 在使用 PHPUnit 进行测试时不受尊重

如何让PHPUnit遵守__autoload函数?例如我有这三个文件:加载器.phpfunction__autoload($name){echo"foo\n";require_once("$name.php");}测试.phprequire_once("loader.php");classFooTestextendsPHPUnit_Framework_TestCase{functiontestFoo(){newFoo();}}foo.phprequire_once("loader.php");newFoo();正如预期的那样phpfoo.php出错了,说文件“Foo.php”没有存在。

php - PHP 操作码缓存是否与 __autoload 一起使用?

抱歉,如果这是基本的,我正在尝试尽可能多地了解PHP中的OO,并且我正在慢慢学习如何使用它(非常有限)。所以我想知道__autoload()是否对PHP操作码缓存有任何影响? 最佳答案 操作码缓存与自动加载一起工作(或至少应该工作),但您可能会因此而受到性能影响。来自Remember:benicetobytecodecaches:doesautoloadhaveaperformanceimpactwhenusingapc?itisslowbothwithandwithoutapcbutyes,moresowithapcbecause

php - PHP 操作码缓存是否与 __autoload 一起使用?

抱歉,如果这是基本的,我正在尝试尽可能多地了解PHP中的OO,并且我正在慢慢学习如何使用它(非常有限)。所以我想知道__autoload()是否对PHP操作码缓存有任何影响? 最佳答案 操作码缓存与自动加载一起工作(或至少应该工作),但您可能会因此而受到性能影响。来自Remember:benicetobytecodecaches:doesautoloadhaveaperformanceimpactwhenusingapc?itisslowbothwithandwithoutapcbutyes,moresowithapcbecause

php - __autoload 与包含家庭

我今天发现了__autoload函数,在阅读了该函数的官方手册页后,有一点我完全不明白。使用__autoload()和require_once之间有什么明显的区别?因为它看起来自动加载是执行所需包含的新时尚方式,但是对我来说,最好使用require_once。因此,必须将__autoload定义到所有php文件中,这意味着将其代码写在那里,如果我将ALL我的includes/require_once/...等放入一个文件中,我们将其称为ma​​in_header.php那么我需要在我的Web应用程序文件中做的就是编写一行代码:我哪里错了吗? 最佳答案

php - __autoload 与包含家庭

我今天发现了__autoload函数,在阅读了该函数的官方手册页后,有一点我完全不明白。使用__autoload()和require_once之间有什么明显的区别?因为它看起来自动加载是执行所需包含的新时尚方式,但是对我来说,最好使用require_once。因此,必须将__autoload定义到所有php文件中,这意味着将其代码写在那里,如果我将ALL我的includes/require_once/...等放入一个文件中,我们将其称为ma​​in_header.php那么我需要在我的Web应用程序文件中做的就是编写一行代码:我哪里错了吗? 最佳答案

php - 如何使用 spl_autoload_register?

classManage{spl_autoload_register(function($class){include$class.'.class.php';});}假设我有一些类似上面的代码。我选择使用加载类的匿名函数方法,但是这个是怎么用的呢?它究竟是如何确定要加载哪个'$class'的? 最佳答案 你不能把代码放在那里。您应该在课后添加SPL寄存器。如果你想在Manage类中注册一个函数,你可以这样做:classManage{publicstaticfunctionautoload($class){include$class.'

php - 如何使用 spl_autoload_register?

classManage{spl_autoload_register(function($class){include$class.'.class.php';});}假设我有一些类似上面的代码。我选择使用加载类的匿名函数方法,但是这个是怎么用的呢?它究竟是如何确定要加载哪个'$class'的? 最佳答案 你不能把代码放在那里。您应该在课后添加SPL寄存器。如果你想在Manage类中注册一个函数,你可以这样做:classManage{publicstaticfunctionautoload($class){include$class.'

php - 如何在 PHP 中对多个目录使用 spl_autoload_register?

我实际上正在尝试为自己创建一个MVC框架,但是我在使用Autoload时遇到了麻烦。其实这不是问题,但我想请教各位大神,在目录不同的情况下,他们是如何使用spl_autoload_register函数的。假设我们有以下目录:ControllersLibsModels每个文件夹包含不同的类,例如:Controllers:Main.phpFile.phpAbout.phpLibs:Main.phpFront_controller.phpModels:Index.phpFile.phpLogin.php您会注意到,某些文件名可能在不同的目录中被发现具有相同的名称。好的,这就是我到目前为止所尝