问题标签 [psr-0]
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 - 如何让 PHP CodeSniffer Fixer 忽略命名空间声明?
我正在使用PHP Coding Standards Fixer的 sublime text 2 插件。它工作正常,除了它认为命名空间无效(它实际上是无效的,我可以接受)。此错误会阻止脚本更正文件的其余部分。我收到以下错误:
我如何告诉脚本忽略命名空间约束。命令行参数和 Sublime text 2 用户设置都可以更改。
php - Symfony 类加载器组件示例
我试图建立一个简单的例子来了解 Symfony 的 ClassLoader 组件和新的PSR-0标准是如何工作的。
首先我创建了 Bar.php:
然后我创建了一个 autoloader.php(在供应商路径下我有 ClassLoader 组件):
最后我创建了 Foo.php:
但是当我执行时:
我收到以下错误消息:
PHP 警告:在第 4 行的 Foo.php 中,使用非复合名称“Acme”的 use 语句无效
PHP 致命错误:在第 7 行的 Foo.php 中找不到类 'Bar'
我在这里做错了什么?
更新:
如果不使用namespace Acme
I use namespace Acme\Bar
in Bar.php
,则会收到与上图相同的错误消息。
php - PHP 5.3 自动加载器
我想使用 PSR-0 标准的方式来自动加载类而不需要添加包含,例如如何用自动加载机制替换下面的代码:
所以在上面的例子中,它表明在每个控制器中我都需要包含抽象控制器,这太疯狂了......
我在这里找到了 PSR-0 代码:
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md
https://gist.github.com/221634
但我不知道如何在我的应用程序中实现它。
php - 具有许多路径的 PSR-0 SplClassLoader
几个小时后,调试和修改无法弄清楚这是否可能,请赐教。
我的服务器上的许多站点都使用我的框架。我正在尝试实现SplClassLoader,但几乎没有成功。加载程序工作(进行一些修改),直到我需要添加另一个路径(当调度完成时)。
看起来加载器只能在框架放置在应用程序所在的同一目录下时才能运行,但不能相反。
是否可以将此加载程序与
- 适当的命名空间支持
- 很少或没有黑客攻击
当图书馆是集中的并且许多应用程序将使用它时?
我的设置:
site1/public/index.php
启动执行调度的前端控制器,然后启动实际控制器。
我的(可能是错误的)命名空间设置:
Framework
using namespace中的每个类Framework
。这很好,直到我想启动一个从框架扩展类的控制器。这就是事情出错的地方。提到的 SplClassLoader 不能处理这样的路径。我从错误日志中看到的是主要问题lib
不是site1
我不能接受的问题。
php - 我应该在 symfony2 的哪里添加我的内部类文件?
我将一个旧项目移植到 symfony2 以开始学习框架,但我无法意识到如何在 PHP 文件中正确添加一些辅助函数。
php - 如果 PHP 库可以注册自己的自动加载器,那么为什么 PSR-0 要求它们位于统一目录中?
我正在构建一个框架(这是一个巨大的简化——请不要推荐使用现有的框架,这没有帮助),我希望能够将其他库集成到其中。
PSR-0 建议建议每个子命名空间中的所有文件都包含在它们自己的特定目录中。为了让我的框架的用户不那么复杂,我想把所有东西都放在一个命名空间中,但将文件组织到目录中。
如果 PHP 库可以注册自己的自动加载器spl_register_autoload()
,那么为什么必须遵守这个目录结构呢?简单地避开 PSR-0,为我的类使用我自己的自动加载器,然后对我可能使用的任何 Symfony 类使用(例如)Symfony 的自动加载器是否可行/允许?
php - 如何使用 SplClassLoader
我正在尝试了解和使用 PSR-0 Autoloader。但它不起作用。
我的文件夹结构:
核/
- 图书馆/
- 模型/
我在根目录下的 index.php
模型文件夹中的 Post.php。
后接口
我收到以下错误:
致命错误:在第 17 行的 C:\wamp\www\Test\index.php 中找不到类 'Model\Post'
我在这里做错了什么?
php - PSR-0 参数通过
索引.php
PostMapper 接口和 PostMapper 确实有“Post”
我不明白为什么它抱怨不是“帖子”
php - 如何协调 SplClassLoader 的命名空间要求与我的自定义目录布局?
我最近开始用 PHP 编写自定义 MVC 框架。这基本上是一个学习练习。
我的课程位于以下目录中:
- 系统/库/
- 系统/控制器/
- 系统/型号
- 应用程序/库/
- 应用程序/控制器/
- 应用/模型
我没有使用命名空间,因为我不知道如何使用命名空间和 Apache 2 处理程序样式 URL(控制器/操作/id)来实例化控制器。我创建了一个 Bootstrap 类来自动加载我的其他类:
它工作正常。但是,我知道我真的应该使用 PSR-0 推荐的实现:
https://gist.github.com/221634
However, I can't figure out how to get it to work without namespaces. It looks like the namespace is an optional pararmeter. However, if I do the following, nothing happens -- not even an error in the Apache logs:
php - 如何在没有包的情况下初始化类,自动加载
但是,如果我不想在初始化类时添加命名空间 Test,这可能吗?
喜欢: $router = 新路由器;
...