问题标签 [zend-framework3]

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

php - 无法从 zf3 中的 ResultSet 对象数组中获取数据

我正在使用 zend framework3 并为数据库使用 Mysql 驱动程序。我正在使用下面的代码来获取数据:

当我 var_dump 这个数据时,我得到如下结果:

当我迭代它以获取如下值时出现错误:

我不知道我错在哪里。虽然有 num_rows 是 15。这在 ZF2 中工作正常。感谢任何人的任何帮助。

我尝试了很多,发现如果替换代码

然后我得到了结果。但我的问题是为什么我没有通过

0 投票
1 回答
425 浏览

php - zf3 自定义数据库工厂不想申请

我对数据库自定义工厂有奇怪的行为。

例如,我想使用 BjyProfiler 并像这样创建 1 个配置:

所以要使用 Zend\Db,我在 modules.config.php "Zend\Db" 中添加了模块(否则我会得到异常)。问题是当我想获得“Zend\Db\Adapter\Adapter”时,它永远不会通过“Database\Adapter\MainAdapterFactory”,我不知道为什么......它使用了一些默认适配器。我试图将工厂声明放在 global.php、local.php 中,但它不起作用。为什么会这样?在 zf2 中,此代码可以...

如果这很重要,我会使用作曲家。

更新:在我的最终配置中,我有:

我不知道别名来自哪里,'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterInterface'但我认为这是问题所在。

0 投票
2 回答
320 浏览

php - 如何获取数据库适配器的配置

我正在使用多个数据库。所以我的global.php文件中有这种配置:

我的目标是在一条指令中配置所有适配器。我不知道这是否可能。有这个指令可以得到一个适配器:

但我想要这样的东西:

我现在没有找到任何解决方案,所以我决定在这里问这个问题......我想这是可能的,因为文件只包含一个简单的数组......

你的

编辑

我试过了

但它返回一个字符串数组。实际上,我想要一个对象数组。适配器的对象。以同样的方式获得适配器:

你的

0 投票
1 回答
577 浏览

php - 在 zend 框架 3 中创建动态导航

目前,我正在使用 Zend 框架 3 开发一个项目。在这个项目中,我必须创建动态导航意味着从数据库中获取导航菜单(数据)。我已经创建了静态导航,如中所述

https://docs.zendframework.com/tutorials/navigation/#setting-up-zend-navigation

但无法动态创建它。

0 投票
1 回答
49 浏览

php - Zend 3 - 不显示下拉菜单

在遵循 ZendFramework 的“入门:一个骨架应用程序”之后(它工作得非常好!),我正在尝试自定义添加相册表单。有关信息,我使用 Zend 的“3.0.2dev”版本。

在这个表单中,我使用了一个名为“语言”的下拉菜单(在 Zend 中,组件是 Zend\Form\Element\Select)。

问题是有一个文本输入而不是下拉菜单!!!!

学生/src/Form/EtudiantForm.php:

这是结果

刚刚花了几个小时在其他网站上检查是否有错误,但没有。这种类型的表格似乎无法识别!

有没有人遇到过这个问题或有解决方案?

提前致谢

0 投票
3 回答
2493 浏览

php - 在 zf3 中创建动态导航

我在我的项目中使用 zend framework3。我可以按照文档链接创建静态导航

现在我必须从数据库中获取菜单数据然后创建导航。为此,我正在使用我已将配置提供到 module.config.php 中,这是专辑模块的配置文件。

在 zend framework2 中,我们简单地传递一个带有工厂类的导航键

在zend framework3中,我正在做与下面相同的事情

我正在使用 Navigation\AlbumNavigationFactory::class 来调用工厂以获取数据。但我无法获得导航。任何帮助,将不胜感激。

0 投票
1 回答
2139 浏览

php - 模块无法初始化 zf3 已搜索互联网

我在Zend Framework 3 应用程序中收到以下错误:

致命错误:未捕获 Zend\ModuleManager\Exception\RuntimeException:模块(服务)无法初始化。

我知道有一些答案,但是似乎没有一个指向 zf3 并且我已经扫描了它们而没有答案。我似乎无法通过研究找到答案。

我的应用程序是否有可能没有加载模块?我只是稍微修改了应用程序配置,所以它可能只是没有加载模块本身。

我有一个文件夹结构:

我已将模块添加到内部的模块数组中/config/application.config.php

这是我的module.config.php

这是我的Serve\Module.php文件:

我的内部有一堆业务逻辑,Application\Module.php但没有任何东西看起来会破坏加载模块。

我似乎无法通过研究找到答案。这里有什么问题?

0 投票
1 回答
745 浏览

php - 如何将依赖项注入 Zend Framework 3 中的验证器?

我创建了一个自定义验证器,称为 CredentialsValidator,如果传递的凭据有效,则返回 true。凭据的实际验证由依赖项 AccountService 负责,该依赖项可通过 getAccountService() 方法在 Validator 中使用。CredentialsValidator::isValid($value, $context = null) 的有趣部分是:

属性 $email 和 $password 填充如下:

当我在单元测试中实例化 CredentialsValidator 并手动分配依赖项 AccountService 时,它​​ 100% 正确工作。

在实际的 Web 应用程序中,AccountService 是通过 ServiceManager 实例化的,使用 module.config.php 中的标准配置:

然而,我的目标是创建一个典型的“登录”表单,它使用 CredentialsValidator 来验证用户凭据。

为此,我创建了一个表单,扩展 Zend\Form\Form:

以及关联的模型,定义 getInputFilter() 方法:

这就是问题开始的地方。当我添加:

对于“密码”字段的“验证器”键,我无法注入存储在 ServiceManager 中的所需依赖项,因此,CredentialsValidator 无法工作,因为它无权访问 AccountService 实例。

对于这个问题,我提出了 2 个解决方案,其中一个我立即丢弃,因为它使用单例,另一个在工作时需要手动传递依赖项。

解决方案 #1:使用在 Module.php 中创建的单例

在 onBootstrap(MvcEvent $event) 方法中,可以创建一个单例:

然后可以在 CredentialsValidator 中访问它,并调用 Controller。

我放弃了这个解决方案,因为它使用了现在已弃用的 Singleton 模式。

解决方案 #2:手动传递 AccountService 实例

在 Controller 中,可以将 AccountService 实例传递给 Model 的构造函数:

然后在 Model::getInputFilter() 中,将实例传递给 'password' 字段的 'validators' 键,如下所示:

然后 CredentialsValidator 只需要通过其构造函数接受依赖项:

该解决方案确实有效,并且确实尊重类之间的接口,但是,手动传递 AccountService 实例是相当多的额外工作,实际上,ServiceManager 和注入的全部意义在于避免这种情况。解决方案#2 感觉就像 Zend Framework 3 应用程序中的异物。

我的问题:如何在不从控制器手动传递的情况下访问 CredentialsValidator 中的 AccountService 实例?

预先感谢您。

0 投票
1 回答
256 浏览

php - 将 Apigility v1.4 注入 Zend Framework 3 时出现致命错误

为了开始使用 Apigility ,我在我的 ZF3 项目中添加了4 个新包:zfcampus/zf-apigilityzfcampus/zf-apigility-admin和(虽然不知道为什么但很公平)。zfcampus/zf-development-moderwoverdijk/assetmanager

之后,网站现在显示此堆栈跟踪:

有任何想法吗?

编辑:事实证明,我需要另一个 pacakge: Zend\InputFilter,在通过 Composer 导入它并将其添加到 modules.config.php 之后,它开始显示我以前的网站。运行后我仍然看不到 Apigility 的管理面板:php public/index.php development enable

编辑:[23/11/2016]我不得不将 AssetManager 添加到development.config.php& dist(是的,我知道这可以很容易地用开发启用脚本复制)。它开始起作用了。对于其他像我一样挣扎的人,这里是一个development.config.php模块列表:

0 投票
1 回答
1411 浏览

php - 如何将用户重定向到上一页zend框架3

我正在设计一个网站,其中包含我的组和其他组,它们出现在两个不同的网页上。我的组和其他组都可以选择查看重定向到members.phtml页面的每个组的成员。
现在我想members.phtml在顶部的页面上添加一个返回按钮,该按钮将转到上一页(我的组/其他组)。有没有办法保存当前的 url 并将其发送到members.phtml页面?