翻譯|使用教程|編輯:莫成敏|2019-08-19 14:38:18.510|閱讀 501 次
概述: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@fc6vip.cn