jjzjj

autoload

全部标签

phpunit 和 yii - (PHPUnit/Autoload.php) : failed to open stream:

用Yii安装phpunit时遇到很多问题。我跑:$phpunitunit/dbTest.php但结果是这个错误:PHPWarning:require_once(PHPUnit/Autoload.php):failedtoopenstream:Nosuchfileordirectoryin/opt/yii-1.1.10.r3566/framework/test/CTestCase.phponline12(include_path='.:/usr/bin:/usr/share/php:/usr/bin/pear:/usr/share/php/Zend/:/opt/php5.3.10/lib

php - 非破坏性的 spl_autoload_register

我想在我正在开发的wordpress插件中通过spl_autoload_register使用类的动态加载,但问题是它不能干扰此功能的预先存在的实现。在我最初的尝试中://registeranautoloaderfunctionfortemplateclassesspl_autoload_register('template_autoloader');functiontemplate_autoloader($class){includeLG_FE_DIR."/includes/chart_templates/class.{$class}.php";}似乎可以加载我自己的类,但同时会导致其

php - 为什么我要使用 spl_autoload_register 而不是 include 或 require 类和函数?

我不明白spl_autoload_register或autoload是做什么的。为什么我不直接使用include或require?我没有看到明确的答案。 最佳答案 自动加载函数或类的优点是:如果您有很多类,则无需手动包含它们。以ZendFramework为例:您不想手动加载所有这些类。使用自动加载器,只需创建一个新类并开始在所有(启用自动加载器的)文件中使用它。仅加载请求中实际使用的文件,从而可能节省资源。如果您只使用50个文件中的10个,为什么要加载其他40个?它迫使你有一个合理的目录布局(毕竟,你需要一些规则,这样你的自动加载器

php - 无法将类实例传递给构造函数

我有一个Usereloquent模型,它在其构造函数中接受了UserMailer类的一个实例,但我得到了这个错误Argument1passedtoUser::__construct()mustbeaninstanceofTrainerCompare\Mailers\UserMailer,nonegiven,calledin/var/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.phponline631anddefined我理解这个错误,但无法弄清楚我做错了什么,但我不太了解命名空间和Compose

php - PHP 的 use 语句在加载类时是否会导致额外的工作?

代码示例1useOutline\Drawing;$var=newDrawing();代码示例2$var=newOutline\Drawing();问题:如果我使用示例1中的代码,PHP是否会使硬件更努力地工作(查找更多文件或进行更多处理)?我确信某些事情已经完成,即使它是在某些代码级别确定哪个use行与哪个类匹配。我想知道到底发生了什么。简而言之:在确定use语句的使用与它应该用于的类之间的联系时,PHP会做什么?当涉及到这两个代码示例时,PSR-0/PSR-4自动加载器的工作方式是否受到影响? 最佳答案 WhatdoesPHPdo

php - 自动加载和命名空间 php

我有这个结构文件:ClassesConnection.phpAdminUser.phpadminindex.phpautoload.php这是我的文件。它们非常简单,但我仍然不知道为什么会给我错误:这是autoload.php/***classLoader***/functionautoLoader($class){$ggFileName=str_replace("\\","/",$class);$file=$ggFileName.'.php';if(file_exists($file)){include$file;returntrue;}returnfalse;}/***regist

PHP - 如果自动加载,为什么要使用依赖注入(inject)?

请原谅这个问题可能很天真,但我真的很困惑。似乎使用依赖注入(inject)来解耦代码是一种很好的做法,这样您的类就可以加载它们的依赖关系。请想象下面的类Foo依赖类BarnamespaceClasses;classFoo{protectedbarInstance;publicfunction__construct(Bar$barInstance){$this->barInstance=$barInstance;}}但是,如果您要自动加载您的类,那么下面的代码肯定会在不需要DI的情况下做完全相同的事情吗?namespaceClasses;useClasses/Bar;classFoo{p

php - 文件 ./vendor/autoload.php 在 phpmyadmin 中丢失或不可读

这个问题不同于:https://stackoverflow.com/questions/36150377/missing-vendor-autoload-php我想为phpmyadmin做贡献。我使用GithubDesktop软件在我的机器上克隆了github存储库。我在xampp中复制了下载的文件,以便我可以运行phpmyadmin。但是当我启动phpmyadmin页面时,出现了这个错误:File./vendor/autoload.phpmissingornotreadable.MostlikelyyoudidnotrunComposertoinstalllibraryfiles.我

php - 不能重新声明类 Zend_Loader_Autoloader

我正在使用ZendDebugger调试基于ZendFramework构建的php应用程序。目前我运行的是1.10.6版本。调试我的应用程序时出现此错误:CompileError:/var/www/Zend/ZendFramework-1.10.6/library/Zend/Loader/Autoloader.phpline36-CannotredeclareclassZend_Loader_Autoloader这只是ZendFramework中的错误,还是与我的application.php中的错误配置有关?$paths=array(realpath(dirname(__FILE__)

php - 找不到 Composer PSR-4 自动加载类

几个小时以来,我一直在绞尽脑汁想弄清楚为什么自动加载对“Authentication\auth()”不起作用。“dBase\db()”类加载得很好,但我得到:Error:Class'Authentication\auth'notfoundin/var/htdocs/dev/test.phponline8调用test.php时。根composer.json-"require":{"geeshoe/dbClass":"dev-develop","geeshoe/authClass":"dev-master"},"autoload":{"psr-4":{"dBase\\":"vendor/g