按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我正在构建一个框架(这是一个巨大的简化——请不要推荐使用现有的框架,这没有帮助),我希望能够将其他库集成到其中。PSR-0建议建议每个子命名空间中的所有文件都包含在它们自己的特定目录中。为了让我的框架的用户不那么复杂,我想将所有内容都保存在一个命名空间中,但将文件组织到目录中。如果PHP库可以使用spl_register_autoload()注册它们自己
根据我对PHP中命名空间工作原理的理解,我使用了以下目录结构:project_rootapp/|lib/||MyCompany/|||Utility/||||Logger.php|||Core/||||User.phpvendor/composer/symfony/guzzle/bootstrap.phpcomposer.json根据PSR-4规范,完全限定的类名具有以下形式:\(\)*\问题1:从我上面的目录结构来看,下面的假设是否正确?命名空间名称=我的公司SubNamespaceNames=实用程序|核心类名=记录器|用户问题2:如果我的bootstrap.php文件包含以下内容
我已经创建了一个自定义的composer包,但我无法为其设置正确的自动加载选项。我所有的类都在MyNamespace/Common命名空间下。例如,为了包含我的ArrayHelper类,我确实使用了Mynamespace/Common/Helper/ArrayHelper。这是我的composer.json的相关部分:"autoload":{"psr-0":{"MyNamespace\\":""}}我读过这个:composer.json/autoload有什么帮助吗? 最佳答案 您必须导航到命名空间的文件位置。"autoload":
我有以下项目结构:-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:我可以很好地加载外部供应商 最佳答案
我用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
我现在已经花了2个多小时试图弄清楚如何在方法声明的同一行中要求{,而不是默认要求在下一行。我怎样才能完成这个?我已将PSR2标准复制到一个名为PSR2的新文件夹中,以便能够根据自己的喜好对其进行修改。所以我正在研究的基础基本上是我想修改的PSR2标准。ruleset.xml我试过了,直接在代码里修改也没成功。我已经发现这是错误的。EOL由phpcs设置。但我无法弄清楚是否存在可以通过规则配置的值。到目前为止这对我来说很好用(去他妈的愚蠢的空格!!!):PSR2withtabsinsteadofspaces.但我想在上面添加规则。 最佳答案
我使用PSR-2用于代码样式我的代码。当我大多数时候使用Codesniffer检查文件时,我会收到以下错误。332|ERROR|[x]Expected1newlineatendoffile;0found很明显如何解决这个问题。我需要知道的是PhpStorm是否有办法在文件末尾添加1换行符我已经从Settings->Editor->CodeStyle->PHP->SetFrom->PSR-1/PSR-2加载了预定义的样式,并且还使用了ReformatCode相应地更改CS。除了换行以外,一切都是固定的。我错过了什么吗? 最佳答案 对于
我可以使用if语句吗:if(true)return$value;或者必须使用大括号:if(true){return$value;} 最佳答案 psr-2standard的第5.1节明确指出:Anifstructurelookslikethefollowing.Notetheplacementofparentheses,spaces,andbraces;andthatelseandelseifareonthesamelineastheclosingbracefromtheearlierbody.因此,根据psr-2,您必须在if语句中
我有一个小型应用程序,我需要一个自动加载器。我可以很容易地使用symfony2类加载器,但它似乎有点矫枉过正。那里有稳定的极轻量级psr-0自动加载器吗? 最佳答案 你要求的非常轻量级,让我们这样做;)TimothyBoronczyk写了一个不错的最小SPL自动加载器:http://zaemis.blogspot.fr/2012/05/writing-minimal-psr-0-autoloader.html我把代码压缩成这样:functionautoload1($class){preg_match('/^(.+)?([^\\\\]
已结束。这个问题是off-topic.它目前不接受答案。想要改进这个问题?Updatethequestion所以它是on-topic堆栈溢出。关闭9年前。Improvethisquestion我知道PSR-0是什么,以及如何、为什么、在哪里使用它。我已经用谷歌搜索了这个并查看了与stackoverflow相关的帖子,但找不到任何东西。即使在其officialpage没有这样的定义。那么,问题是,PSR-0究竟代表什么? 最佳答案 PSR代表PHP标准推荐,如http://www.php-fig.org/faqs/#what-does