问题标签 [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.
php - 无法从 zf3 中的 ResultSet 对象数组中获取数据
我正在使用 zend framework3 并为数据库使用 Mysql 驱动程序。我正在使用下面的代码来获取数据:
当我 var_dump 这个数据时,我得到如下结果:
当我迭代它以获取如下值时出现错误:
我不知道我错在哪里。虽然有 num_rows 是 15。这在 ZF2 中工作正常。感谢任何人的任何帮助。
我尝试了很多,发现如果替换代码
与
然后我得到了结果。但我的问题是为什么我没有通过
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'
但我认为这是问题所在。
php - 如何获取数据库适配器的配置
我正在使用多个数据库。所以我的global.php文件中有这种配置:
我的目标是在一条指令中配置所有适配器。我不知道这是否可能。有这个指令可以得到一个适配器:
但我想要这样的东西:
我现在没有找到任何解决方案,所以我决定在这里问这个问题......我想这是可能的,因为文件只包含一个简单的数组......
你的
编辑:
我试过了
但它返回一个字符串数组。实际上,我想要一个对象数组。适配器的对象。以同样的方式获得适配器:
你的
php - 在 zend 框架 3 中创建动态导航
目前,我正在使用 Zend 框架 3 开发一个项目。在这个项目中,我必须创建动态导航意味着从数据库中获取导航菜单(数据)。我已经创建了静态导航,如中所述
https://docs.zendframework.com/tutorials/navigation/#setting-up-zend-navigation
但无法动态创建它。
php - Zend 3 - 不显示下拉菜单
在遵循 ZendFramework 的“入门:一个骨架应用程序”之后(它工作得非常好!),我正在尝试自定义添加相册表单。有关信息,我使用 Zend 的“3.0.2dev”版本。
在这个表单中,我使用了一个名为“语言”的下拉菜单(在 Zend 中,组件是 Zend\Form\Element\Select)。
问题是有一个文本输入而不是下拉菜单!!!!
学生/src/Form/EtudiantForm.php:
刚刚花了几个小时在其他网站上检查是否有错误,但没有。这种类型的表格似乎无法识别!
有没有人遇到过这个问题或有解决方案?
提前致谢
php - 在 zf3 中创建动态导航
我在我的项目中使用 zend framework3。我可以按照文档链接创建静态导航
现在我必须从数据库中获取菜单数据然后创建导航。为此,我正在使用我已将配置提供到 module.config.php 中,这是专辑模块的配置文件。
在 zend framework2 中,我们简单地传递一个带有工厂类的导航键
在zend framework3中,我正在做与下面相同的事情
我正在使用 Navigation\AlbumNavigationFactory::class 来调用工厂以获取数据。但我无法获得导航。任何帮助,将不胜感激。
php - 模块无法初始化 zf3 已搜索互联网
我在Zend Framework 3 应用程序中收到以下错误:
致命错误:未捕获 Zend\ModuleManager\Exception\RuntimeException:模块(服务)无法初始化。
我知道有一些答案,但是似乎没有一个指向 zf3 并且我已经扫描了它们而没有答案。我似乎无法通过研究找到答案。
我的应用程序是否有可能没有加载模块?我只是稍微修改了应用程序配置,所以它可能只是没有加载模块本身。
我有一个文件夹结构:
我已将模块添加到内部的模块数组中/config/application.config.php
。
这是我的module.config.php
这是我的Serve\Module.php
文件:
我的内部有一堆业务逻辑,Application\Module.php
但没有任何东西看起来会破坏加载模块。
我似乎无法通过研究找到答案。这里有什么问题?
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 实例?
预先感谢您。
php - 将 Apigility v1.4 注入 Zend Framework 3 时出现致命错误
为了开始使用 Apigility ,我在我的 ZF3 项目中添加了4 个新包:zfcampus/zf-apigility
、zfcampus/zf-apigility-admin
和(虽然不知道为什么但很公平)。zfcampus/zf-development-mode
rwoverdijk/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
模块列表:
php - 如何将用户重定向到上一页zend框架3
我正在设计一个网站,其中包含我的组和其他组,它们出现在两个不同的网页上。我的组和其他组都可以选择查看重定向到members.phtml
页面的每个组的成员。
现在我想members.phtml
在顶部的页面上添加一个返回按钮,该按钮将转到上一页(我的组/其他组)。有没有办法保存当前的 url 并将其发送到members.phtml
页面?