草庐IT

php - 如何正确使用 composer psr-4 fallback

我有一个目录将保留所有“助手”类和函数。我们将该目录称为helpers。我想配置PSR-4回退目录指向这个helpers目录:"autoload":{"psr-4":{"":"helpers/"}}来自Composer文档:...fallbackdirectorywhereanynamespacewillbelookedfor.所以我的理解是,如果我在该目录中的文件/类具有符合PSR-4的名称,我的应用程序应该能够在那里找到它们。现在我创建了一个helpers/Logger.php类Logger为了1)符合PSR-4和2)正常工作,这个类应该使用什么命名空间?我试过了namespace

php - 了解 PHP-FIG : PSR-3 (Logger Interface)

作为学习经验,我正在使用FIG标准构建基于PHP的CMS。有人可以向我解释一下我应该如何将PSR-3集成到我的项目中吗?我下载了源@https://github.com/php-fig/log/tree/master/Psr/Log我想我不知道如何进行。我不明白LoggerAwareInterface的作用。我应该修改上面的源代码来实际记录我想要的数据,还是将其作为我自己的日志类的包装器工作。任何帮助/信息将不胜感激。附言我应该指出,我能找到的最佳指南是http://phpmaster.com/logging-with-psr-3-to-improve-reusability/(特别是

php - 如果 PHP 库可以注册自己的自动加载器,那么为什么 PSR-0 要求它们位于统一目录中?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我正在构建一个框架(这是一个巨大的简化——请不要推荐使用现有的框架,这没有帮助),我希望能够将其他库集成到其中。PSR-0建议建议每个子命名空间中的所有文件都包含在它们自己的特定目录中。为了让我的框架的用户不那么复杂,我想将所有内容都保存在一个命名空间中,但将文件组织到目录中。如果PHP库可以使用spl_register_autoload()注册它们自己

php - PSR-4 自动加载在自定义库的 Composer 中如何工作?

根据我对PHP中命名空间工作原理的理解,我使用了以下目录结构:project_rootapp/|lib/||MyCompany/|||Utility/||||Logger.php|||Core/||||User.phpvendor/composer/symfony/guzzle/bootstrap.phpcomposer.json根据PSR-4规范,完全限定的类名具有以下形式:\(\)*\问题1:从我上面的目录结构来看,下面的假设是否正确?命名空间名称=我的公司SubNamespaceNames=实用程序|核心类名=记录器|用户问题2:如果我的bootstrap.php文件包含以下内容

php - Composer 自动加载器 psr-0 命名空间

我已经创建了一个自定义的composer包,但我无法为其设置正确的自动加载选项。我所有的类都在MyNamespace/Common命名空间下。例如,为了包含我的ArrayHelper类,我确实使用了Mynamespace/Common/Helper/ArrayHelper。这是我的composer.json的相关部分:"autoload":{"psr-0":{"MyNamespace\\":""}}我读过这个:composer.json/autoload有什么帮助吗? 最佳答案 您必须导航到命名空间的文件位置。"autoload":

php - 具有 PSR-4 自动加载功能的 Composer : classes from namespace not loading

我有以下项目结构:-root|-srccomposer.json已经有一个PSR-4条目:"autoload":{"psr-4":{"MyNamespace\\":"myusername/src"}}/Vendor/test.phpisDone();Vendor/myusername/src/MyNamespace/File.php但我总是遇到fatalerrorFatalerror:Class'MyNamespace\File'notfoundin[...]Composer设置或文件结构是否正确?我能做什么?编辑1:我可以很好地加载外部供应商 最佳答案

php - 使用 Composer 自动加载 PSR-4

我用composer的自动加载类系统运行一个portail:"autoload":{"psr-4":{"Portal\\":"src/"}}它在我运行composer.phardump-o时有效,例如我的类Boostrap被很好地引用到vendor/composer/autoload_classmap.php文件中:'Portal\\Core\\Bootstrap'=>$baseDir.'/src/core/Bootstrap.php',但是当我不在自动加载转储上运行优化选项时,自动加载系统不再工作:Fatalerror:Class'Portal\Core\Bootstrap'notf

phpcs:如何修改 PSR2 以检查大括号是否与方法在同一行?

我现在已经花了2个多小时试图弄清楚如何在方法声明的同一行中要求{,而不是默认要求在下一行。我怎样才能完成这个?我已将PSR2标准复制到一个名为PSR2的新文件夹中,以便能够根据自己的喜好对其进行修改。所以我正在研究的基础基本上是我想修改的PSR2标准。ruleset.xml我试过了,直接在代码里修改也没成功。我已经发现这是错误的。EOL由phpcs设置。但我无法弄清楚是否存在可以通过规则配置的值。到目前为止这对我来说很好用(去他妈的愚蠢的空格!!!):PSR2withtabsinsteadofspaces.但我想在上面添加规则。 最佳答案

php - 根据 PhpStorm 上的 PSR-2 在文件末尾添加一个空行

我使用PSR-2用于代码样式我的代码。当我大多数时候使用Codesniffer检查文件时,我会收到以下错误。332|ERROR|[x]Expected1newlineatendoffile;0found很明显如何解决这个问题。我需要知道的是PhpStorm是否有办法在文件末尾添加1换行符我已经从Settings->Editor->CodeStyle->PHP->SetFrom->PSR-1/PSR-2加载了预定义的样式,并且还使用了ReformatCode相应地更改CS。除了换行以外,一切都是固定的。我错过了什么吗? 最佳答案 对于

php - PSR-2 if 语句——什么是允许的?

我可以使用if语句吗:if(true)return$value;或者必须使用大括号:if(true){return$value;} 最佳答案 psr-2standard的第5.1节明确指出:Anifstructurelookslikethefollowing.Notetheplacementofparentheses,spaces,andbraces;andthatelseandelseifareonthesamelineastheclosingbracefromtheearlierbody.因此,根据psr-2,您必须在if语句中