草庐IT

php - 与 src 处于同一级别的文件夹的 PSR-4 命名空间约定

PSR-4的当前约定是将src文件夹命名为Vendor\Package。然后使用目录结构对其中的任何文件进行命名空间。所以src/Model/MyModel.php使用namespaceVendor\Package\Model;classMyModel{...}这对于src文件夹中的任何文件夹来说都很直观,但是与src处于同一级别的文件夹的约定是什么?例如tests,public,configetcetc(我知道有些人会评论命名空间测试的意​​义,但想象一个大型项目有很多单独的包,每个包都有自己的测试,但有可以在包之间重用的通用测试。)我看到了使用Vendor\Package\Test

php - Composer psr-4 自动加载找不到文件

我还在学习使用phpcomposer我的目录结构是这样的:DirectoryStructure这是我的composer.json{"autoload":{"psr-4":{"Kct\\":"lib/"}}}现在在我的index.php文件中,我试图在tesdir.php中加载类testes());//output:'GET'我的tesdir.php:现在,如果我在我的本地主机中打开index.php,我会得到这样的错误:Fatalerror:UncaughtError:Class'Kct\Tesdir\Tes'notfoundin/var/www/html/tesComposer/in

php - 使用 ini_set() 的 PSR-1 兼容替代方案是什么?

我正在使我的代码库符合PSR-2标准(因此符合PSR-1标准),我遇到了以下代码:publicfunctioninit(){parent::init();//AllowALargerPHPMemoryLimitForThisScriptini_set("memory_limit","512M");//AllowALargerScriptExecutionLimitForThisScriptini_set('max_execution_time',300);}用于增加此特定脚本(仅供站点管理员访问且不经常运行)能够消耗的内存量和执行时间。在php.ini中设置默认的memory_limi

php - 在 Linux 中使用 PSR-4 自动加载时找不到类,在 Windows 中工作

简介您好,我将文件从运行WAMP的本地电脑移动到我的网络服务器,这是一台Linux机器。我与composer合作,使用其自动加载功能来加载我的MVC结构,稍后会详细介绍。我在网页上收到的错误如下:Fatalerror:UncaughtError:Class'App\Model\DB'notfoundin/config/_boot.php:15我的Windows机器上没有这个错误,代码在那里工作得很好。文件夹结构我使用相同的文件夹结构,(简化)如下:-config--_boot.php-dist--index.php--includes---header.php-src--app---M

php - PSR-2 控制结构的左括号

我试图理解为什么的一件事PSR2在新行上有类和方法的大括号,其余没有。我会说,如果大括号始终在新行上,那么阅读代码会容易得多。classFooextendsBarimplementsFooInterface{publicfunctionsampleFunction($a,$b=null){if($a===$b){}谁能解释一下背后的逻辑是什么:OpeningbracesforcontrolstructuresMUSTgoonthesameline,andclosingbracesMUSTgoonthenextlineafterthebody. 最佳答案

php - PSR-0 找不到类

我完全被困在这个问题上了!我正在使用php-simple-html-dom-parser这加载了PSR-0。我对PSR-0不是很熟悉。但是我按照自述文件显示的那样使用该类,但我无法使其正常工作。在我的IDE中,自动完成工作正常,没有显示任何错误。但是当我运行脚本时,我得到了这个错误:Fatalerror:Class'Sunra\PhpSimple\HtmlDomParser'notfoundinC:\xampp\htdocs\folder\test.phponline3代码:文件结构:folder\Sunra\PhpSimple\simplehtmldom_1_5\HtmlDomPar

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

PHP:PSR-2:为什么命名空间/使用声明后有空行?

所以前几天我复习了PSR编码标准(我正式遵循了),我总能理解一切的原因,而且我在过去10多年里所做的一切都以这种方式编码,因为在我的大学时代,非常相似的标准被严重强加于我-它只是卡住了。但是,我确实对PSR-2中的这条注释感到疑惑标准:ThereMUSTbeoneblanklineafterthenamespacedeclaration,andthereMUSTbeoneblanklineaftertheblockofusedeclarations.这是为什么?我不反对它,但我确信有某种背景或历史可以解释,而且它从来没有真正跳出来告诉我为什么。我想显而易见的原因是易读性,但我觉得这个标

php - 使用基本授权作为中间件 PSR-7 PSR-15

TD;LR:我试图掌握中间件实现背后的理念。它似乎可以正常工作,但我该如何正确处理响应,以便它向浏览器显示基本授权登录提示?--我正在使用:equip/dispatch用于PSR-15中间件调度器guzzlehttp/psr7用于PSR-7ServerRequestInterfacemiddlewares/http-authentication示例基本授权中间件middlewares/response-time额外的虚拟中间件(检查是否也在管道中执行)运行下面的代码:$middleware=[new\Middlewares\ResponseTime(),(new\Middlewares

php - Symfony2 bundle 与 PSR-0 兼容的第 3 方库之间有什么区别?

我知道一个包应该包含thebestpracticesdocumentation中概述的目录结构和其他约定。.我仍然不明白为什么我应该在Symfony2安装中选择将库作为bundle安装还是“按原样”安装PSR-0兼容库。例如,我想安装GuzzleHttpClient库。目前我有两个版本可供选择:libraryitself或Guzzle'bundle'.我可以看到包使用了库,但由于我是Symfony2的新手,所以我还不能掌握“大局”。有人可以帮帮我吗? 最佳答案 使用包而不是库将允许您从ServiceContainer访问库。这将使您