问题标签 [psr-4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 扩展名称与命名空间匹配的类
结合 PSR-4 自动加载考虑以下文件结构:
类Bar.php
是扩展Foo.php
。假设它们已经存在于一个深度嵌套的命名空间中,Bar.php
的标题将如下所示:
这工作得很好。令我困惑的是,是否有一种优雅的方法可以避免重复字符串 My\Cool\Project\Module\Foo
。这里的潜在问题是,必须手动重复它会导致拼写错误和错误,通常可以/可以通过有效地使用语言功能来防止这些错误。所以我想知道是否有办法以如下方式重写上面的代码:
或者
或类似的东西。
php - phpspec 根据 psr-4 命名空间规范在错误的文件夹中创建文件
我放弃了我的问题的早期形式,因为它太复杂了。这是新版本。
我想在我的 psr-4 格式项目中使用 phpspec。
这是我尝试设置测试项目的方式:
为项目创建了一个新文件夹:
/li>创建一个新
/li>composer.json
文件并需要 phpspec:
这会创建我的composer.json
文件:
我将我的 psr-4 命名空间添加到我的
/li>composer.json
文件的 autoload 属性中:然后我转储我的自动加载以确保我的命名空间已加载:
composer dumpautoload
之后,我创建了 my
/li>phpspec.yml
来将命名空间描述为 phpspec:然后我描述了我想开始构建的类:
/li>
这是我遇到第一个问题的地方。即使我在describe
命令中指定了 Acme 命名空间,规范也不会放置在与命名空间匹配的文件夹中:
虽然它创建的类是正确命名空间的:
然后,如果我尝试运行测试以启动 TDD-ing。
它提供为我创建课程,我允许它。从那里我得到了第二个问题;我收到错误消息:
[PhpSpec\Process\Prerequisites\PrerequisiteFailedException] Acme\Markdown 类型已生成但无法加载。您需要配置自动加载器吗?
它创建的类不在它的命名空间文件夹中:
它创建的类也被正确命名:
我查看了文档,无法弄清楚我做错了什么。有什么建议么?
php - 如何在 laravel 5 中更改应用程序文件夹名称
我想在 laravel 5 中将主文件夹 [app] 更改为作者姓名,我该怎么做才能做到这一点,而无需更改 autoloader 或 composer 中的任何内容?
php - js组件自动加载psr4
我的 Composer.json 的自动加载部分如下
这有意义吗?
php - PHP 命名空间类命名约定
我目前关注 PSR-2 和 PSR-4。在尝试命名几个类时,我遇到了一个小难题。这是一个例子。
我有一个基本的 REST 客户端,\Vendor\RestClient\AbstractClient
. 我有这个抽象客户端的两个实现:
\Vendor\GoogleClient\GoogleClient
\Vendor\GithubClient\GithubClient
由于命名空间已经指定了域,因此客户端类的命名是否多余?我应该改为命名我的课程:
\Vendor\GoogleClient\Client
\Vendor\GithubClient\Client
这意味着客户端代码将始终使用以下内容:
这比:
但是第一个选项允许我们通过仅更改 use 语句轻松地换出实现。
PSR4 指定Interfaces
andAbstractClasses
应该分别加上后缀Interface
和前缀Abstract
,但它没有说明域特定的前缀/后缀。有什么意见/建议吗?
php - Sublime 3 PSR4 插件
Sublime 3 是否有插件可以自动进行 PSR4 配置?
我正在使用一个现在已经很旧并且需要 PSR 更新的第三方库。
我听说你可以使用 PHPStorm 做这样的事情
php - codeigniter 3命名空间问题
我正在研究 codeigniter 3。我使用 composer psr-4 自动加载。我启用作曲家配置为
$config['composer_autoload'] = FCPATH."vendor/autoload.php";
我的 composer.json 自动加载为
我有一个抽象Controller.php
控制器
效果很好。但主要问题是当我写为控制器时
不起作用。如果我删除namespace App\Controllers;
一切都很好。主要问题在哪里?谢谢你。
php - 使用 psr-4 自动加载文件时的问题
一个多星期以来,我一直试图让 psr-4 自动加载工作,但没有成功。
我的文件结构如下:
我创建了 psr-4 自动加载功能,如下所示:
在使用 composer dump-autoload -0 之后,在我的 session.php 类中,我给出了命名空间:
然后我需要自动加载器并使用 use 函数来命名会话类,如下所示:
打开 index.php 页面后,我得到一个
致命错误:在第 10 行的 /var/www/test/Project/index.php 中找不到类 'src\classes\session'
我的目录结构/php 正确吗?我在网上尝试了许多不同的指南,但似乎无法正常工作。