• <menu id="w2i4a"></menu>
  • logo Zend Studio-Zend Server相關(guān)

    文檔首頁(yè)>>Zend Studio-Zend Server相關(guān)>>Zend Studio教程:Zend Framework 2集成(2/3)——?jiǎng)?chuàng)建和配置新的ZF2模塊(下)

    Zend Studio教程:Zend Framework 2集成(2/3)——?jiǎng)?chuàng)建和配置新的ZF2模塊(下)


    Zend Studio是新一代的專業(yè)級(jí)智能PHP IDE,它旨在幫助開(kāi)發(fā)人員提高工作效率,創(chuàng)造出高品質(zhì)的PHP應(yīng)用程序!它包含了PHP開(kāi)發(fā)所必須的部件,通過(guò)一整套的編輯、調(diào)試、分析、優(yōu)化和數(shù)據(jù)庫(kù)工具,Zend Studio加速開(kāi)發(fā)周期,并簡(jiǎn)化復(fù)雜的應(yīng)用方案。

    點(diǎn)擊下載Zend Studio免費(fèi)版

    Zend Studio中的Zend Framework 2集成教程,一共有四個(gè)步驟,小編將其分為三個(gè)部分,本篇文章主要講述Zend Studio中的Zend Framework 2集成教程的第二部分下半部分內(nèi)容——使用ZF2服務(wù)定位器創(chuàng)建和注冊(cè)新服務(wù)。(查看上半部分內(nèi)容點(diǎn)擊這里

    四、使用ZF2服務(wù)定位器創(chuàng)建和注冊(cè)新服務(wù)

    我們現(xiàn)在將使用Content Assist和ZF2 ServiceManager將控制器文件中的代碼重構(gòu)為新服務(wù)。

    ref_icon_28x33.png要?jiǎng)?chuàng)建新服務(wù):

    1、在PHP資源管理器中,轉(zhuǎn)到module | Downloads | src,然后右鍵單擊“下載”文件夾。

    2、選擇New | Class。將顯示“新建PHP類”對(duì)話框。

    15new_php_class_thumb_200_350.png

    3、將新類命名為“DownloadsService”,并在Namespace字段中輸入“Downloads”。

    4、單擊完成。在您的編輯器中添加并打開(kāi)新的PHP類。

    5、輸入以下代碼:

    <?php
    namespace Downloads;
    class DownloadsService {
    	function getFilesList() {
    		return array("download1.zip", "download2.zip");
    	}
    	function getFilesPath() {
    		return "http://...";
    	}
    	function getFilesSize(){
    		return 50;
    	}
    }
    ?>

    6、保存文件。

    7、打開(kāi)模塊的控制器文件(module | Downloads | src | Downloads | Controller | DownloadsController.php)。

    8、向“indexAction”公共函數(shù)添加一個(gè)新變量:

    1. 開(kāi)始輸入“$ downloadService = $ this-> get”。

      Content Assist將顯示獲取選項(xiàng)

      16content_assist1_getservicelocator_thumb_400_250.png

    2. 選擇getServiceLocator并繼續(xù)輸入:

    $downloadService = $this->getServiceLocator()->get('downloadsService');

    9、在下面的行中,鍵入“$ downloadService->”并按Ctrl + Space以顯示Content Assist。Content Assist不顯示downloadService類中定義的任何方法,這意味著Zend Studio無(wú)法確定Service Locator應(yīng)返回的PHP對(duì)象。

    10、要解決此問(wèn)題,請(qǐng)使用項(xiàng)目屬性將服務(wù)名稱映射到PHP類:

    1. 在PHP Explorer中,右鍵單擊項(xiàng)目,然后選擇“屬性”。

    2. 選擇Zend Framework | “服務(wù)定位器”,在“服務(wù)定位器”對(duì)話框中,單擊“添加”。

    3. 在“名稱”列下,輸入服務(wù)的名稱——downloadService。

    4. 在“類型”列下,鍵入“下載”,然后按Ctrl + Space。

      Content Assist顯示PHP類。

      17content_assist2_properties_dialog_thumb_300_300.png

    5. 選擇DownloadsService類,然后單擊“確定”。

    11、返回控制器文件,在“$ downloadService->”后按Ctrl + Space以顯示Content Assist。這次,Content Assist列出了相關(guān)的PHP對(duì)象。

    18content_assist3_php_objects_thumb_400_300.png

    12、現(xiàn)在我們可以通過(guò)用服務(wù)調(diào)用替換模擬數(shù)據(jù)來(lái)完成控制器的開(kāi)發(fā)。使用Content Assist調(diào)用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、在模塊配置文件中注冊(cè)服務(wù):

    1. 打開(kāi)Downloads模塊的配置文件(module | Downloads | config |  module.config.php)。

    2. 在文件中的結(jié)束括號(hào)前添加一個(gè)新空白行,然后按Ctrl + Space顯示Content Assist。

    3. 選擇“service_manager”。

    4. 在“service_manager”數(shù)組中,添加一個(gè)“invokables”數(shù)組。

    5. 在第二個(gè)數(shù)組中,輸入“downloadsService”=>“Downloads \“。

      Content Assist顯示DownloadsService服務(wù)。

    19content_assist4_thumb_400_400.png

    15、選擇它,然后保存文件。

    完成的代碼應(yīng)如下所示:

     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、刷新瀏覽器。請(qǐng)注意,“下載”模塊現(xiàn)在顯示DownloadService中定義的值。

    20zf2_project_launched_with_changes3_thumb_600_450.png

    相關(guān)文章:

    Zend Studio使用教程:Zend Framework 2集成(1/3)——?jiǎng)?chuàng)建和部署新的ZF2項(xiàng)目

    Zend Studio教程:Zend Framework 2集成(2/3)——?jiǎng)?chuàng)建和配置新的ZF2模塊(上)


    想要購(gòu)買Zend Studio正版授權(quán),或了解更多產(chǎn)品信息請(qǐng)點(diǎn)擊“咨詢?cè)诰€客服”

    掃描關(guān)注慧聚IT微信公眾號(hào),及時(shí)獲取最新動(dòng)態(tài)及最新資訊

    1563778777.jpg


    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();