问题标签 [laminas]

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 回答
661 浏览

php - Laminas:在类中获取数据库适配器的实例(注入?)

我对 Laminas 比较陌生,有些事情对我来说仍然没有意义 - 就 - 在我看来,如何在 laminas 中完成事情非常复杂。就我而言,现在我需要数据库适配器的实例。

项目是这样的:

我有一个 IndexController(和一个工厂),它创建(在 Post 请求的情况下)一个 Mail 类的实例,并且该 Mail 类应该在 MailQueueTable 中添加数据。但我不知道如何在 MailQueueTable 中获取 DB Adapter

源代码如下:

索引控制器工厂.php

索引控制器.php

邮件.php

MailQueueTable.php

MailQueue 表代码是基于我阅读的教程的构造函数等。如您所见,构造需要适配器。但我现在不知道如何获得适配器。

据我到目前为止所阅读的,我需要在索引控制器工厂中注入数据库适配器,然后从索引控制器中的操作到新创建的邮件实例,然后我必须将它注入到 MailQueue 表中?

我不觉得这是正确的解决方案 - 在使用 Laminas 之前我可以写

global $DB;

我有我的数据库可用。

0 投票
1 回答
132 浏览

php - 在 Laminas / Zend 框架中注入 SQL 表 - 这是正确的方法吗?

我可能对 Laminas 有一些理解问题,或者我太复杂了 :-) 希望有人能在这方面带来启示......

我有一个 IndexController、一个 IndexController Factory 和 2 个表(用户、照片)。

这些表都是 AbstractTableGateway 的扩展:

用户表.php

照片表.php

在我的 IndexController 中,我正在创建一个 Gallery-Class 的实例,它需要上面提到的 UserTable 和 PhotosTable。

IndexControllerFactory.php现在将 UserTable和PhotoTableIndexController.php注入到 Gallery 类中是正确的方法,如下所示:

索引控制器工厂.php

索引控制器.php

图库.php

所以我的主要问题是:上面写的代码是否正确?真的有必要注入表格吗

  1. 从工厂到 IndexController
  2. 从 IndexController 到 Gallery 类

直到我终于可以在画廊类的方法中“使用它们”。

在我终于可以使用它们之前,它似乎有很多代码!?

0 投票
1 回答
116 浏览

php - 在 laminas mezzio 中从具有多个路由的单个类加载不同的方法

我正在尝试路由到单个类并在该类中加载不同的方法。现在我只能设法handle()SearchInquiryHandler课堂内加载。我怎样才能从不同的路线加载loadThisMethod()内部。SearchInquiryHandler我在想我是否可以检测到路由 url,并且通过适当的检查,我可以loadThisMethod()从我的handle()方法中加载。任何指导都会非常有帮助。

对于一条路线,这里是routes.php

这是我的SearchInquiryHandler.php

这是我的SearchInquiryHandlerFactory.php

这是我的ConfigProvider.php

0 投票
0 回答
182 浏览

php - 如何使用学说和 jms/serializer 序列化 laminas/mezzio 中的实体

我们目前正在开发一个 API laminas/mezzio,我想为detailslist路由生成不同的输出。我正在寻找一种生成以下结果的方法:

列表响应

细节反应

为此,我找到了 package jms/serializer。我已经添加了序列化程序所需的所有注释并且它可以工作。但是我有点迷失如何将这个包laminas/mezzio与学说2和laminas/mezzio-hal

我的列表处理程序:

我可能需要一种方法来告诉教义如何补充我的 SnapshotEntity。我读过一个应该附加到 Doctrine 监听器的“生命周期事件”。但是我正在看的所有教程都是用 Symfony 编写的。我如何告诉学说/mezzio/hal 根据不同的路线和使用序列化程序来补充我的实体?有人可以指出我正确的方向吗?

非常感谢!

0 投票
1 回答
67 浏览

routes - ZF3:请求的 URL 无法通过路由匹配

我是第一次设置 ZF3 项目,我似乎无法让路由工作。在我的主页上,我收到 404:“请求的 URL 无法通过路由匹配。”

这是我的目录结构:

目录结构的屏幕截图

我的模块.php:

以及在 module.config.php 中的违规路由 ( 'home'):

0 投票
0 回答
44 浏览

php - 在 Laminas API 工具中使用 Zend Framework 1 库 - 自动加载供应商前缀类

我正在开发一个 Laminas API 工具(1.4 版)项目。我的代码中有我需要的 ZF1 库。图书馆的结构是:

如上所示,类名是供应商前缀

当我在我的代码中使用这个类时,使用语句如下所示:

use DirectoryA_DirectoryA_className

但在运行时我得到Class DirectoryA_DirectoryA_className not found错误。

我在composer.json文件中的自动加载配置:

还尝试了“DirectoryA_”:“/lib/DirectoryA”,“DirectoryA_”:“/lib”

我是 PHP 新手,任何帮助将不胜感激。

0 投票
1 回答
204 浏览

php - PHPUnit 使用具有依赖关系的自定义验证器测试 Laminas 表单

我正在尝试测试具有自定义验证器的 Laminas/Laminas-Form,并且该验证器具有未注入的依赖项。如果我在正常环境中运行应用程序,它会按预期工作。只有测试环境受到影响。

据我所知,如果我在 ValidationChain 的某个点运行 $myForm->isValid() ,如果不存在,则会创建一个新的 PluginManager。但是这个管理器不知道应用程序的配置,并假设我的 MyCustomValidatorWithDependencies 可以通过使用 InvokableFactory 来调用,显然不是这样。有没有办法将正确的应用程序配置注入到 PluginManager 或只是一个工厂?我还检查了,在正常环境中,PluginManager 存在并且在执行 $myForm->isValid() 之前和期间知道我的 MyCustomValidatorWithDependencies 的正确工厂。

0 投票
1 回答
313 浏览

php - Laminas - 无法呈现模板“xxxxxxx”解析器无法解析为文件

该项目已从 Zend Frame work 2 手动移植到 Laminas。这里的问题是 module.config.php 的设置方式与其他正在运行的模块相同。但是我遇到了这个错误。我检查了通常的罪魁祸首,例如文件拼写或丢失,没有其他模块使用相同的路由名称。Laminas 的另一部分是否会影响视图管理器?

modul.config.php 设置如下。

''' 命名空间 ProjectTaskDocument;

'''

模块文件夹结构

0 投票
1 回答
135 浏览

zend-framework - Laminas:每个模块的不同布局文件

我想为每个模块使用不同的布局文件,该文件在view_manager-template_map下设置module.config.php

但是由于某种原因,两个模块总是使用相同的布局文件。不能为每个模块使用不同的布局文件吗?

0 投票
1 回答
125 浏览

file-upload - Laminas\InputFilter\FileInput 究竟做了什么?

我一直在研究他们的 FIleInput 类的 Laminas文档,但我还没有找到关于这些过滤器和验证器实际作用的正确解释。

我正在建立一个社区网站并计划让用户上传文件,并且我想对这些上传的文件应用安全检查,我对此进行了很多研究,并且我计划进行我在 a 中找到的图像安全检查StackOverflow 中有很多线程(这里这里),但我想对非图像上传的文件进行一些其他检查/验证。

那么 Laminas\InputFilter\FileInput 真的可以做到吗?或者它到底做了什么?