问题标签 [laminas-api-tools]

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 投票
2 回答
620 浏览

php - apigility - 我可以为 Collections 中的 Zend\Paginator\Paginator 使用哪些替代方案?

在我使用 Apigility 做的几个端点中,我想在不分页的情况下检索所有可能的结果。是否有一个类可以替换 Collection 中的 Paginator?

0 投票
1 回答
447 浏览

php - (How) Can the data of a Zend Paginator object be manipulated?

In a Zend Framework & Apiglity driven application I'm using Zend\Paginator\Paginator for my collection objects. A Paginator object contains a ResultSet, so flat data structures like:

The result output after the processing it by the Hal REST controller plugin / view helper (ZF\Hal\Plugin\Hal) looks like this:

Now, I want to nest a new level to it, e.g. every project should contain a list of images. The result output should look as follows:

I know, how to get an array copy of the data and extend it. But I have to return the Paginator object itselft.

(How) Can Zend\Paginator\Paginator's data be modified?

0 投票
2 回答
1109 浏览

php - Apigility 中忽略了水合器设置

在 Apigility 中,可以通过 Apigility UIHydrator为每个设置一个Entity

在此处输入图像描述

或直接在 中module.config.php,例如:

另请参阅文档

目前我正在ClassMethods为我的所有实体使用水合器。

现在我尝试将设置更改为自定义水合器。我还尝试了另一种 Zend 水合器。但无论我做什么,只有我在 `module.config.php 中定义的水合物会被忽略。

编辑:它适用于单个实体,但不适用于集合。我已经用调试器检查了这个并看到:当我检索一个集合时,我的自定义水合器不会被调用。我不知道实际使用的是哪个 hydrator —— 我设置了断点,甚至在所有 hydrator的and方法中都写了die()s ( , , , , 以及我的 custom ),但是应用程序根本没有注意到这一点并且仍在工作。似乎是这样,根本没有补水……extract()hydrate()ArraySerializableClassMethodsObjectPropertyReflectionProjectHydrator

这里有什么问题以及如何使水合设置正常工作?

0 投票
2 回答
1522 浏览

php - 如何在 Zend Framework 2 中注册自定义水合器?

在 Apigility 驱动的 ZF2 应用程序中,我想使用自定义的Hydrator.

Module班级

module.config.php

当一个集合被检索到时,它会被忽略,但这是另一个问题(s. here)。当需要单个实体时,hydratin 机制启动,但它不使用我的工厂来创建实例。

经过一些调试后,我来到了ZF\Hal\Metadata\Metadata#setHydrator(...)代码中的这个地方:

Hydrator直接创建自定义。(在我的情况下,它会导致一个致命错误,因为它试图在 上执行一个ProjectHydrator#imageService未设置的方法)。我看了一下Metadata#hydrators(of type Zend\Stdlib\Hydrator\HydratorPluginManager),发现只有四个 default invocables,这就是为什么null !== $this->hydrators && $this->hydrators->has($hydrator)isfalse并尝试了直接实例化。

所以,我想,我必须注册我的定制保湿剂。我在哪里/如何做到这一点?


编辑

我将工厂代码从移动Module#getServiceConfig()Module#getHydratorConfig()

module.config.php(需要一个Factory类)中的配置数组相同:

module.config.php

但它以错误结束:

Zend\ServiceManager\Exception\ServiceNotFoundException

文件:/var/www/my-project/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php:550 消息:Zend\Stdlib\Hydrator\HydratorPluginManager::get 无法获取或创建投资组合实例\V2\Rest\ImageService

0 投票
1 回答
132 浏览

git - git忽略不起作用

这似乎是一个菜鸟问题,但我找不到任何解决方案。我有一个从原始存储库克隆的 apigility 项目。我删除了 .git 目录并保留了 .gitignore 文件:

然后我在根文件夹中创建了一个“git init”,并创建了我的 git 存储库。我做了一个“git add .gitignore”并用它做了一个初始提交。在我尝试制作“git add”之后。但我所有的文件都被添加到暂存区。我不明白为什么,因为例如 .puppet 目录被添加到 .gitignore 并且它仍然被添加。我给了这个解决方案一个镜头忽略已经提交到 Git 存储库的文件,它不能解决我的问题。

0 投票
1 回答
72 浏览

api - Zf2 - 跨多个网站使用会话/登录状态

我正在使用带有 ApiGility 的 Zend Framework 2。

我有以下情况:

  1. 用户登录和管理帐户的网站:www.website.com
  2. 单独托管的应用程序:app.website.com(用户想要使用的)

子域不一定托管在同一环境甚至同一数据中心中。

现在,如果用户直接访问应用程序,我需要检查他们是否登录到主网站,以便获取应用程序所需的用户相关信息。

我不是 100% 确定解决这个问题的最佳方法。

为了使应用程序正常工作,我需要以下内容:

  1. 32 位代码(应用程序用来代替私人信息的唯一标识符)
  2. 帐户余额(用于支付应用服务费用)

为了获得 32 位代码,我正在考虑设置以下内容:

如果用户已登录,它将返回我需要的 32 位代码。

为了获得帐户余额,我将使用以下代码:

如果用户未登录,则应用程序将提供一个表单供用户登录,该表单将发送到:www.website.com/api/logg/user/in

如果需要充值用户帐户余额,那么我可能会打开一个 iframe 到 www.website.com 上的付款页面,以便用户进行安全付款。

这对我来说是一个新领域,所以不能 100% 确定我应该采取的方向或最佳实践......

任何建议表示赞赏。

谢谢!

0 投票
2 回答
401 浏览

zend-framework2 - Add custom route to Apigility

I am new to Zend Framework 2 - Apigility, i created the basic API with the Apigility UI and connected the api with a remote database.

Now i want to create a custom POST route for user login something like: /users/login. What are the steps to create a route like that? Is there any guide?

Thanks in advance!

0 投票
1 回答
45 浏览

rest - 无法在 input_filter 配置中检索对象管理器

我想重用一个实现InputFilterProviderInterface的 Fieldset o 它有getInputFilterSpecification方法,我可以在其中声明字段集中所有元素的规范。

问题是 getUniqueObjectValidator 需要Doctrine\ORM\EntityManager它没有在 InputFilter 的 ServiceLocator 中声明

您认为我可以如何访问 inputFilter 工厂中的 EntityManager?

0 投票
1 回答
535 浏览

php - 使用 Apigility 实现具有访问控制机制的 RESTful API

我想使用 Zend Framework 2 创建一个 RESTful API。尽管我对 ZF2 非常陌生,但我还是选择了这个框架,因为它耦合松散,而且代码会定期进行审计。我找到了 Zend 提供的工具 Apigility,它似乎很容易实现。但是有一件事没有直接涉及,我什至不确定 Apigility 是否对我有意义:

我需要一个用户角色概念,其中一些用户只能查看和修改他们自己创建的资源,而其他用户可以查看和修改所有资源。还有一些端点(控制器)只对某些用户可用。

ACL模块可以实现对某些端点的权限管理,但我不知道如何实现对资源的过滤。

0 投票
1 回答
464 浏览

rest - Apigility 代码连接服务 - 用于 POST 方法

我是 apigility 代码连接服务的新手,并且能够使用映射器文件上的 fetch 和 fetchall 类方法创建一个 RESTful 服务。

有人可以为我指出一个通过 REST 服务插入(POST)数据的好示例吗?

谢谢,

凯文