草庐IT

autoload_psr

全部标签

php - 一组函数的 PSR-4 目录结构和命名空间?

我有一组我觉得有用的PHP函数。我想为他们创建一个PSR-4兼容的存储库,但我找到的指南(1、2、3)似乎只谈论自动加载类。比如我的文件如下,一个文件一个函数:my_cool_function1.phpmy_cool_function2.php...etc.我如何从它们创建符合PSR-4的库? 最佳答案 您无法找到任何不是类的PSR-4自动加载文件的文档的原因是因为specificationstates-它是为自动加载类而设计的。直接取自官方规范:ThisPSRdescribesaspecificationforautoloadin

php - Laravel 5 如何包含 autoload.php

我正在尝试包含一个指向autoload.php的路径vendor/autoload.php试图访问它的文件在public/this-file.php我将路径设置为require_once'../vendor/autoload.php';但它只是抛出错误-Warning:require_once(../vendor/autoload.php):failedtoopenstream:NosuchfileordirectoryFatalerror:require_once():Failedopeningrequired'../vendor/autoload.php'(include_path

php - 当已经使用了spl_autoload_register时,为什么需要unserialize_callback_func?

ini_set('unserialize_callback_func','spl_autoload_call');spl_autoload_register(array(self::getInstance(),'autoload'));为什么像上面那样设置spl_autoload_call?我做了一个测试:$serialized_object='O:1:"a":1:{s:5:"value";s:3:"100";}';ini_set('unserialize_callback_func','mycallback');functionmycallback($classname){echo1

php - PHP的spl_autoload_register是如何解决与require_once的循环依赖的?

PHP的spl_autoload_register是如何解决与require_once的循环依赖的?循环依赖可以解决一些情况,但不是全部。让我们从一个失败的例子开始。假设我们在不同的文件中定义了三个类:cat.phpclassCatextendsAnimal{}animal.phprequire_once('cat.php');classAnimalextendsCreature{}creature.phpclassCreature{}假设我们还有一个具有自动加载器并创建Animal实例的脚本:run.phpspl_autoload_register(function($classNa

php - Composer autoload_namespaces 数组是空的,但它正在下载我的包

我在Windows上使用composer,当我执行composerinstall或composerupdate.{"require":{"bcosca/fatfree":"dev-master","respect/validation":"^1.1"}}我的index.php中的第一行是require_once__DIR__.'\vendor\autoload.php';这似乎没有加载任何东西,例如,很多与未从这2个包中定义的类相关的错误。我进一步查看它,发现我的autoload_namespaces.php如下:数组完全是空的,怎么会这样呢?我希望在这里看到这两个包的要求...感谢您

php - Composer - 自动加载和 PSR-0 与 PSR-4

我开始研究Composer并正在开发一个系统,我将文件核心应用程序文件分开,如下所示:/root|--/src|--/App|--/DBConfig|--/Controller|--/Model|--/Core|--/Helper|--/Controller|--/Model那么,要在composer.json文件中设置此设置并访问所有类/Appmuch/Core会是这样吗?"autoload":{"psr-X":{"App\\":"/src","Core\\":"/src"}}或者有更正确的方法吗?我还阅读了关于PSR-0与PSR-4的文章,但我仍然对使用哪一个有疑问。就我而言,我应

php - 我无法使用 phpunit : Cannot open file "autoload.php" 进行测试

配置:PHPUNIT:4.5.0PHP:5.4.12服务器:WampComposer:版本1.0-dev2015-02-1721:55:44Composer.json:{"require-dev":{"phpunit/phpunit":"4.5.*"}}自动加载.php:registerNamespaces(array('Hangman'=>__DIR__.'/src','Symfony'=>__DIR__.'/vendor',));$loader->register();phpunit.xml:tests/Hangman/Testsvendor问题:我执行了:phpunit--boo

php - Composer autoload - 从父目录加载类

我目前正在开发一个需要从其父目录访问类的Laravel项目。Composer.json>PSR-4:"psr-4":{..."ModuleA\\":"../ModuleA/baseObjects","ModuleB\\":"../ModuleB/baseObjects"}示例文件结构:/var/www+-/xxx(project)+-/ModuleA+-/baseObjects-configClass.inc+-/ModuleB+-/baseObjects-configClass.inc+-/laravel-composer.json我运行composerdump-autoload但项

php - 在 PHP CodeSniffer 中使用带有异常的 PSR-2

我正在尝试为PHPCodeSniffer设置一个规则集以在一组开发人员中强制执行代码风格,但我遇到了一些麻烦。除了两件事,我们愿意遵守PSR-2。我们希望类声明在同一行上有左大括号,函数也一样。第一个我设法修复了,但函数在同一行上打开大括号的错误不会消失。我已将其追溯到sniffGeneric.Functions.OpeningFunctionBrace.BsdAllman和错误BraceOnSameLine,但将此排除项添加到我的规则集中没有任何作用。我的规则集是这样的:ThecodingstandardforOrganizationXYZ.我试图从报告中删除的消息是这样的:15|E

php - 为什么下划线在 PSR-0 标准中转换为目录分隔符?

PSR-0(https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md)标准指定类名中的下划线应转换为相应文件名中的目录分隔符。对我来说,这似乎不是一个好主意,因为当不了解标准的人无意中在类名中使用下划线时,自动加载器突然找不到类和各种奇怪的错误时,它会产生很多错误出现(例如,参见这个stackoverflow问题:Symfony2.1mappingerror:class_parents())所以我想这个“特性”一定有某种原因(与某些库的历史兼容性?)。我的问题是:有人知道为什么在PSR-0标准中引入这个