问题标签 [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.

0 投票
1 回答
1651 浏览

php - 自动加载助手文件夹 Laravel 5

我想在助手文件夹中调用静态方法。

我尝试了很多 tutos,但它总是只针对一个文件。

我的配置 /app/Helpers/Languages.php -> 我的静态类

作曲家.json

应用程序.php

我尝试了什么:

  • 添加自动加载类映射、HelpersServiceProviders 类、命名空间(仅在刀片模板中工作,而不是在控制器中)
  • 添加带和不带类映射、命名空间的自动加载 psr-4

对于所有方法,我需要使用 'app/Helpers/Languages' 但我想只调用 Languages::myFunction() 而不使用 'use' 。可能吗 ?

我已经在 psr-4 中的 'app/' 文件夹,所以它将是加载文件夹和我的文件,不是吗?

如果在没有我的情况下加载页面时它可以提供帮助:

找不到 FatalErrorException 类“App\Http\Controllers\Languages”

当我更新 composer.json 时,我没有忘记 composer dump-autoload

0 投票
3 回答
1704 浏览

php - 在 laravel 5 app.php 中使用自动加载 psr-4 定义的命名空间给出未找到错误

在一些错误中陷入困境。我没有得到我做错的地方。我正在使用laravel 5并安装它。我想使用l5-repository,所以我使用commnad安装了https://github.com/prettus/l5-repository这个存储库:composer

我根据安装文档进行了所有更改,并且工作正常。

使用 composer 安装存储库后,我的目录结构如下:

在此之后,根据文档,我在/var/www/curovis/config/app.php: 中进行了以下输入,Prettus\Repository\Providers\RepositoryServiceProvider::class, 并且工作正常。现在我想更改composer.json根目录条目如下:

并使用composer update命令。它也可以正常工作。现在我想用另一个名字使用相同的 repo,所以我有以下变化composer.json

并添加RepoTest\Repository\Providers\RepositoryServiceProvider::class,file.runapp.php命令composer update。然后它给出以下错误:

我不明白为什么 laravel 正在寻找/var/www/curovis/vendor/laravel/framework/src这条路径,而不是"RepoTest\\Repository\\": "vendor/repotest/l5-repository/src/RepoTest"在 composer.json 中提供。是我遗漏的任何东西或作曲家的任何错误。感谢帮助。

0 投票
5 回答
4803 浏览

php - 未找到 Drupal 类

我正在尝试使用指向控制器的路由文件创建一个新模块。但是我的日志中出现以下错误

胶水.routing.yml:

带以下控制器

project_folder/modules/glue/src/Controller/GlueController

0 投票
2 回答
3336 浏览

php - PSR-2。什么时候大写目录?

据我了解,根据 PSR-2 标准,我们应该将包含类的目录名称大写。但是如果目录还包含一些其他文件,例如样式和脚本,该怎么办?

假设我有一个插件目录,每个插件都可以包含模板和其他东西:

这个结构正确吗?

0 投票
1 回答
212 浏览

symfony - 升级后的 psr4 更改有找不到类 symfony 2,4 -> 2,8

我使用“symfony/symfony”:“~2.4”和配置

我用“symfony/symfony”创建新项目:“2.8.x-dev”,

首先我得到错误

所以我补充

并有 ClassNotFoundException

当我尝试访问此文件夹中的类时

例子 :

给我

如何解决?

0 投票
1 回答
267 浏览

php - 未找到 Composer PSR-4 类

我有以下目录结构 在此处输入图像描述

这是我在 composer.json 文件中使用 psr-4 的方式

现在在我的初始化文件中,我试图动态加载控制器

我的HomeController长相是这样的

现在,如果我访问 url ` http://localhost/mymvc/home/bla/bla ' 我收到错误

0 投票
2 回答
1149 浏览

php - Silex 和自动加载控制器类

我在让类自动加载在我正在组装的 Silex 骨架中工作时遇到问题。我在另一个项目中有这个工作,但我不知道我在这里做错了什么。我的目录如下所示:

这是我的 index.php

应用程序.php

你好控制器.php

和 composer.json

每当我尝试在浏览器中打开 index.php/hello/world 时,都会收到此错误:

0 投票
2 回答
1030 浏览

php - 使旧版应用程序 PSR-4 兼容

我有一个关于重构遗留 PHP 应用程序以兼容 PHP 的 PSR-4 标准的问题。我有一些位于 app/classes/ 文件夹中的类尚未正确命名空间,我希望在调用 composer 的 vendor/autoload.php 时直接自动加载它们。我根据添加了一个命名空间,\<NamespaceName>(\<SubNamespaceNames>)*\<ClassName>并尝试vendor/myapp/classes/src/在composer的供应商文件夹下创建一个目录,并执行了dump-autoload命令但无济于事。该类没有加载,作曲家无法弄清楚在哪里可以找到它。有关如何执行此操作的任何指示?

谢谢,

注意事项:-> 我不想将源代码上传到任何可以公开搜索的存储库,例如 Packagist,因为代码仅供内部使用。

编辑:这是我的composer.json:

但现在结构看起来像:

这是我的问题/问题:

  1. 当我尝试加载 submodule.php 时,它又会加载 submodule2.php 和 submodule3.php,它会告诉我找不到 submodule3.php。submodule3.php 的命名空间是 Myapp\Classes\Module3 但它说它没有找到。
  2. 我想在每次调用 autoload.php 时强制包含 config.db.php
0 投票
3 回答
2400 浏览

php - Composer 自动加载 psr 4 通配符扩展以匹配所有模块?

我的应用程序有这个结构,

这是我的composer.json,

如您所见,我"module/*/source/"在 .json 中有这个。我这样做的原因是因为我想避免写出每个模块,因为这将是一个很长的列表。而且当我有新模块时它也不灵活,然后我必须对.json进行更改。

"module/*/source/"不工作。那么我可以在这个 .json 中做正则表达式或其他东西,以便它足够“智能”来获取所有模块吗?如,

可能吗?

0 投票
2 回答
5329 浏览

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

我有一组我觉得有用的 PHP 函数。我想为它们创建一个符合 PSR-4 的存储库,但我找到的指南(123)似乎只讨论了用于自动加载的类。

例如,我的文件如下,每个文件一个函数:

如何从它们创建符合 PSR-4 的库?