提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:莫成敏|2019-08-19 14:38:18.510|阅读 427 次
概述:Zend Studio是新一代的专业级智能PHP IDE,它旨在帮助开发人员提高工作效率,创造出高品质的PHP应用程序!本篇文章主要讲述Zend Studio中的Zend Framework 2集成教程的第二部分下半部分内容——使用ZF2服务定位器创建和注册新服务。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
Zend Studio是新一代的专业级智能PHP IDE,它旨在帮助开发人员提高工作效率,创造出高品质的PHP应用程序!它包含了PHP开发所必须的部件,通过一整套的编辑、调试、分析、优化和数据库工具,Zend Studio加速开发周期,并简化复杂的应用方案。
Zend Studio中的Zend Framework 2集成教程,一共有四个步骤,小编将其分为三个部分,本篇文章主要讲述Zend Studio中的Zend Framework 2集成教程的第二部分下半部分内容——使用ZF2服务定位器创建和注册新服务。(查看上半部分内容点击这里)
四、使用ZF2服务定位器创建和注册新服务
我们现在将使用Content Assist和ZF2 ServiceManager将控制器文件中的代码重构为新服务。
要创建新服务:
1、在PHP资源管理器中,转到module | Downloads | src,然后右键单击“下载”文件夹。
2、选择New | Class。将显示“新建PHP类”对话框。
3、将新类命名为“DownloadsService”,并在Namespace字段中输入“Downloads”。
4、单击完成。在您的编辑器中添加并打开新的PHP类。
5、输入以下代码:
<?php namespace Downloads; class DownloadsService { function getFilesList() { return array("download1.zip", "download2.zip"); } function getFilesPath() { return "//..."; } function getFilesSize(){ return 50; } } ?>
6、保存文件。
7、打开模块的控制器文件(module | Downloads | src | Downloads | Controller | DownloadsController.php)。
8、向“indexAction”公共函数添加一个新变量:
开始输入“$ downloadService = $ this-> get”。
Content Assist将显示获取选项
选择getServiceLocator并继续输入:
$downloadService = $this->getServiceLocator()->get('downloadsService');
9、在下面的行中,键入“$ downloadService->”并按Ctrl + Space以显示Content Assist。Content Assist不显示downloadService类中定义的任何方法,这意味着Zend Studio无法确定Service Locator应返回的PHP对象。
10、要解决此问题,请使用项目属性将服务名称映射到PHP类:
在PHP Explorer中,右键单击项目,然后选择“属性”。
选择Zend Framework | “服务定位器”,在“服务定位器”对话框中,单击“添加”。
在“名称”列下,输入服务的名称——downloadService。
在“类型”列下,键入“下载”,然后按Ctrl + Space。
Content Assist显示PHP类。
选择DownloadsService类,然后单击“确定”。
11、返回控制器文件,在“$ downloadService->”后按Ctrl + Space以显示Content Assist。这次,Content Assist列出了相关的PHP对象。
12、现在我们可以通过用服务调用替换模拟数据来完成控制器的开发。使用Content Assist调用PHP方法:
getServiceLocator()->get('downloadsService'); return array("filesList"=> $downloadService->getFilesList(), "filePath" => $downloadService->getFilesPath(), "fileSize" => $downloadService->getFilesSize()); } public function fooAction() { // This shows the :controller and :action parameters in default route // are working when you browse to /module-specific-root/downloads/foo return array(); } }
13、保存文件。
14、在模块配置文件中注册服务:
打开Downloads模块的配置文件(module | Downloads | config | module.config.php)。
在文件中的结束括号前添加一个新空白行,然后按Ctrl + Space显示Content Assist。
选择“service_manager”。
在“service_manager”数组中,添加一个“invokables”数组。
在第二个数组中,输入“downloadsService”=>“Downloads \“。
Content Assist显示DownloadsService服务。
15、选择它,然后保存文件。
完成的代码应如下所示:
array( 'invokables' => array( 'Downloads\Controller\Downloads' => 'Downloads\Controller\DownloadsController', ), ), 'router' => array( 'routes' => array( 'module-name-here' => array( 'type' => 'Literal', 'options' => array( 'route' => '/download', 'defaults' => array( '__NAMESPACE__' => 'Downloads\Controller', 'controller' => 'Downloads', 'action' => 'index', ), ), 'may_terminate' => true, 'child_routes' => array( 'default' => array( 'type' => 'Segment', 'options' => array( 'route' => '/[:controller[/:action]]', 'constraints' => array( 'controller' => '[a-zA-Z][a-zA-Z0-9_-]*', 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', ), 'defaults' => array( ), ), ), ), ), ), ), 'view_manager' => array( 'template_path_stack' => array( 'Downloads' => __DIR__ . '/../view', ), ), 'service_manager' => array( 'invokables' => array( 'downloadsService'=>'Downloads\DownloadsService', ), ), );
16、刷新浏览器。请注意,“下载”模块现在显示DownloadService中定义的值。
彩票走势图相关的文章:
Zend Studio使用教程:Zend Framework 2集成(1/3)——创建和部署新的ZF2项目
Zend Studio教程:Zend Framework 2集成(2/3)——创建和配置新的ZF2模块(上)
想要购买Zend Studio正版授权,或了解更多产品信息请点击
扫描关注慧聚IT微信公众号,及时获取最新动态及最新资讯
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@capbkgr.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢