问题标签 [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.
zend-framework - Zend Framework 3 [UnexpectedValueException] 无效的版本字符串“^1.1.0”
我正在尝试在 Windows 7 中安装 Zend Framework 3。我从 Git 下载了 Skeleton 并运行composer install
. 但得到错误
[UnexpectedValueException] Invalid version string "^1.1.0"
。
详细信息:PHP 版本 5.6.3、XAMPP 版本 5.6.3
php - 用于互连服务的 ZF3 服务 DI 的有效模式
据我了解,有效的模式是:
- 实例化所需服务(FooService)的 FooControllerFactory
- 带有构造函数的 FooController __construct(FooService $fooService)
- Controller 获取一些基本数据并从服务中获取结果
- 该服务包含所有必需的业务逻辑这是一个基础服务。最终,该服务将需要其他服务来进行各种活动。例如 CacheService、SomeOtherDataService。
问题是,包含/注入这些其他互连服务的有效/适当模式是什么?
我们目前已经非常简化了一个真实的例子:
拍卖控制器
拍卖服务
车辆服务
建议的有效模式示例
拍卖控制器
车辆服务
一些注意事项:
- 服务仅在某些情况下相互连接,在 95% 的情况下它们是独立的
- 拍卖有很多不需要车辆的功能
- Vehicle 具有 VehicleController 和 VehicleService ,它们仅在某些情况下与 do Auction 相关,它是具有其他功能的独立模块
- 在控制器中注入所有需要的服务将浪费资源,因为并非每个操作都需要它们(在现实生活中的应用程序中,我们有更多互连的服务,而不仅仅是两个)
- 在多个服务中编写相同的业务逻辑只是为了避免使用服务定位器显然是一种无效的模式,是不可接受的。
zend-framework-mvc - ZF3 zend-mvc-skeleton 国际化不起作用
我正在尝试评估是否已经是开始迁移到 ZF3 的正确时间(或继续使用 ZF2 开发我的应用程序)。因此,我安装了 mvc-skeleton 应用程序并浏览了 MVC 教程(这里),它运行良好,直到我进入国际化部分。
我安装了组件(即 zend-i18n 和 zend-mvc-i18n 组件),创建了翻译文件(即 en_US.mo 和 en_US.po)并将它们复制到我的module/Application/language/
文件夹中,并在应用程序配置文件中添加了配置。
当然,在 layout.phtml 文件中添加要翻译的文本
但是,由于某种原因它不起作用
我的问题很简单。你在这方面取得了成功,或者你知道它有什么问题吗?任何帮助将不胜感激。非常感谢。
php - 将 ZF2 服务管理器转换为 ZF3
我有一个简单的 ZF2 应用程序,它使用两个表和一个服务,我正在尝试将其转换为在 ZF3 上运行。我不知道如何更新服务管理器代码。这是其中一个控制器的示例
我应该使用什么代码来代替 getServiceLocator() 调用,因为 ZF3 不再支持该调用?在 Stack Overflow 的其他地方,有人回答了另一个问题并建议使用 createService 函数,但这也已从 ZF3 中删除。
php - 在 ZF3 上安装时的 Doctrine orm 模块错误
我按照本教程安装 ZF 并安装了 zend-mvc 版本 3.0.1,之后我尝试安装学说 orm 模块:php composer.phar require doctrine/doctrine-orm-module
我收到此错误:
如何安装 ZF3 和 Doctrine ORM 模块而不出现此错误?
zend-framework-mvc - 一个模块中多个控制器的 ZF3 zend-mvc 通用路由不起作用
我在 ZF3 中,使用 zend-mvc-skeleton 并尝试配置一个通用路由,该路由将匹配尽可能多的 URL,以便能够创建新的控制器(当然包括操作方法),并立即拥有它们可用的。
文档中描述的常用方法是编写与控制器和操作匹配的路由(与 ZF2 相同)。
这是我的module.config.php
它就像一个魅力http://localhost/
并http://localhost/application
调用文件内的类的indexAction()
函数 。IndexController
/module/Application/src/IndexController.php
但是,当我尝试fooAction()
在同一个控制器(即 IndexController)中获取该功能时,它不起作用。它没有正确解决http://localhost/application/foo
。我收到以下错误:
如果我尝试http://localhost/bar/foo
在fooAction()
.barController
你知道这有什么问题吗?任何帮助将不胜感激。非常感谢。
zend-framework - 使用 OAuth2 和 ZF3-MVC 保护 REST API
我正在尝试让https://github.com/zfcampus/zf-oauth2与我的ZF3-MVC 应用程序一起工作(好的,一种解决方案可能是等待 Apigility 更新)。
我已经成功实现了 oauth2-server-php ( https://github.com/bshaffer/oauth2-server-php ),它的 zf-oauth2 模块支持 ( https://github.com/zfcampus/zf-oauth2 ) 和为 ZF3 改编了 zf-oauth2 客户端(https://github.com/API-Skeletons/zf-oauth2-client)。
但是,我现在完全被困在 zf-oauth2 模块的建议之后试图保护我的 API y:
您可以使用以下代码保护您的 API(例如,在控制器的顶部):
其中 $this->server 是 OAuth2\Server 的一个实例(参见 AuthController.php)。
我读过这篇文章(使用 ZF2 Oauth2),但它不符合 ZF3。我想有一种更有效的方法,而不是复制/粘贴 zf-oauth2 模块的控制器和工厂来从头开始实例化服务器。
有人知道如何在我的 API 控制器中实现 OAuth2\Server 的实例吗?
php - ZF3 导航“插件”错误
在https://docs.zendframework.com/zend-navigation/quick-start/之后,我尝试为我的应用程序进行导航。我注册了一个导航,我将 DefaultNavigationFactory 添加到服务管理器,但是当我尝试打印导航时出现错误。
这是我的模块/应用程序/config/module.config.php:
但是当$this->navigation('default')->menu()
,我得到这个错误,不包括堆栈跟踪:
php - Zend 框架无法路由已翻译的子路由
我是 Zend 框架 3 的新手,正在尝试翻译路线,但我已部分成功。我能够翻译主路线并将其重定向到所需的位置,但对于子路线,翻译工作但重定向不起作用。你能帮帮我吗,我的代码在下面。
模块.config.php
模块.php
还有我的语言文件 de_De.php
根据我上面的代码,我可以使用路由“ language.devgrafioffshore.com/de/Einstellung ”重定向到设置控制器
但无法重定向到 language.devgrafioffshore.com/de/Einstellung/hinzufügen这应该重定向我添加操作,但我得到
请求的 URL 无法通过路由匹配。
先感谢您。再见!
php - Zf3 控制器无法访问位于另一个模块中的模型类表
我是 Zend 框架的新手。有没有办法从我的活动控制器访问位于另一个模块中的模型类表?作为 ZF3 中的再见服务定位器,我无法访问位于其他模块中的模型类表。
以前在 ZF2 控制器中
由于服务定位器足以将函数从控制器调用到位于另一个模块中的模型类。有没有办法在没有服务定位器的情况下在 ZF3 中实现类似的功能?
提前谢谢各位。再见!