问题标签 [mezzio]
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.
mezzio - Zend Service Manager - 尝试使用 phpdebugbar 时未找到服务异常
我正在尝试在干净的 Zend Expressive Skeleton 应用程序中使用https://github.com/php-middleware/phpdebugbar 。
我知道此页面上的说明建议使用此 DI 配置(如果使用 pimple):
所以我尝试使用它(我正在使用 zend 服务管理器):
但我遇到了以下错误:
我也试过这个:
和这个:
但仍然没有运气。
诚然,我不熟悉 Zend/Diactoros,但我不明白如何Zend\Diactoros\ResponseFactory
成为工厂,它没有__invoke()
方法。所以我觉得这是我问题的核心。我应该为此创建自己的工厂吗?我觉得这不是这样做的预期方式。
请注意,我也尝试按照这些说明进行操作。虽然没有错误,但它似乎根本没有出现: https ://docs.zendframework.com/zend-expressive/v3/cookbook/debug-toolbars/
我确定我错过了一些关键部分,但我错过了什么?
我的作曲家.json:
php - Zend Expressive 不将变量传递给查看脚本
由于 PHP 版本限制,我正在使用 Zend Expressive 2。如果我在管道 (IndexAction) 的第一步中返回变量,则变量看起来就好了。
如果我委托下一步 (VerifyInputAction) 并确定输入中有错误,我需要返回错误以查看脚本。出于某种原因,它不会使用我通过模板渲染器传递的变量。它仍然会加载模板,只是不使用 $data 数组变量。
我使用 Zend View 作为模板渲染器。
我的管道如下所示。
索引操作()
验证输入操作()
可能超出此问题范围的另一个问题包括,当我进入管道中的下一个操作时,如果我在那里渲染视图脚本,我会收到此错误...
我会尽力提供更多代码示例,但由于这是工作中的一个问题,我可能会遇到一些问题。
谢谢!
mezzio - 路由参数在 zend-expressive 中不起作用
我只想在“事件”对象上创建一个 crud api。索引路由运行良好,但特定事件的路由无法按预期运行
这就是我在“routes.php”中所拥有的
$app->get('/event/:id', \App\Handler\EventRecoverHandler::class, 'event.withId');
我希望使用以下方法在处理程序中恢复 id: $id = $request->getAttribute('id');
但是只有当我按字面意思输入 '/events/:id' 时,才能识别路线,在这种情况下,到达处理程序但 id 为空(如预期的那样)
另一方面,如果我输入 '/events/4' 结果是:“Cannot GET http://localhost/event/4 ”
php - 如何在 Zend Expressive 的 Doctrine 事件订阅者中获取用户对象
基于https://github.com/DamienHarper/DoctrineAuditBundle我正在尝试为我的 Zend Expressive 应用程序开发审计模块。但我不知道如何在审计逻辑中获取用户数据(id)。
我看到这$user
是作为请求属性传递的
vendor/zendframework/zend-expressive-authentication/src/AuthenticationMiddleware.php
,但这并不能通过
hal - 无法为 ArrayObject 类型的对象生成 HalResource
我在将分页器对象作为 HAL json 集合返回时遇到了一些问题。我正在使用最新版本的 zend-expressive 和 zend-expressive-hal。
这是我的 ConfigProvider 的设置:
这些是我的处理程序方法:
RoleCollection 类只是 Paginator 的继承:
我得到的错误信息是:
php - 如何在 Zend Expressive 3 中的 Handler 之外获取 Request 对象
我想在处理程序之外访问请求对象。
我想要实现的是有一个工厂类,它基于请求中的值,将设置一些类。
不幸的是,下面的代码(在工厂类中)没有提供正确的请求对象。
我在文档中没有看到任何内容。
你能建议点什么吗?还是我应该以不同的方式解决问题?
php - zend-expressive-api 已经全部设置好了。我怎样才能让它在我的 apache 网络服务器上工作?
所以我刚刚使用这个提议的框架为我的业务客户端完成了一个 REST API 的实现作为开始: https ://github.com/ezimuel/zend-expressive-api
在按照客户的要求对 API 进行编程后,我通过在项目的根文件夹中打开控制台终端并键入以下内容,设法让它在 localhost 上运行:
php -S 0.0.0.0:8080 -tc:/wamp64/www/myAPI/public/
在那之后,为了看到它的工作,我所要做的就是通过一个 HTTPie 窗口通过提示:
http GET :8080/api/users
...等等。奇迹般有效。
所以现在我必须在我的 Apache Web 服务器上发布它,共享主机,这意味着没有任何 root 访问权限。
问题是,我无法让它工作,因为当我尝试直接访问文件夹http://myswebsite.com/myapi/public时,脚本返回:
无法获取http://myswebsite.com/myapi/public/
我希望在 hal+json 中看到包含用户列表的输出。在本地主机中时,我可以这样做:
http GET :8080/api/users
然后脚本返回:
HTTP/1.1 200 OK 连接:关闭 内容类型:application/hal+json 日期:周一,2018 年 5 月 7 日 14:54:46 +0200 主机:localhost:8080
我的目标:我希望通过互联网上的 URL、PHP + Apache + MySql 共享主机访问时能够获得相同的结果。
任何帮助,将不胜感激。提前致谢。
doctrine-orm - Doctrine ORM 问题:[语义错误] 注释不存在,或无法自动加载
我目前遇到的问题。
我的实体 PHP 代码:
这是我的配置提供程序片段的片段:
我已经尝试重命名更新我的标签和变量,但我似乎无法消除这个问题。有没有我错过的配置?我正在使用最新版本的 Zend Expressive。任何建议和评论将不胜感激。
php - zend-expressive 中的拆分路由配置
我正在使用 zend-expressive (3) 来构建我的 REST API。文件 config/routes.php 包含我的路线,例如
每个新模块都会增加很多新路线。这变得令人困惑。有没有办法将路由配置拆分为多个文件?
mongodb - PHP/MongoDB - Doctrine ODM Hydrate 在某些情况下其他不是
我在 Doctrine ODM 中需要一些帮助,在某些情况下,水合物不会返回预期值。我以项目为例,当我查询一个集合并且所有的水合物都可以正常工作时,情况就是这样:
产品集合:
标签收藏
查询(工作!)
$this->dm->createQueryBuilder(ProductsODM::class)->hydrate(true)->getQuery()->execute();
返回(内容):
如您所见,结果带有标签值。
这是问题:在我查询文档时的UsersODM中,结果中不包括UsersGrousODM的值,只是id,这是代码:
用户组ODM
查询:
$this->dm->createQueryBuilder(UsersODM::class)hydrate(true)->getQuery()->execute();
返回:
users_group_id 不包括字段 users_group_name 和 users_group_status。