国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

php中Yaf框架集成zendframework2

2024-05-04 21:49:55
字體:
供稿:網(wǎng)友

本文章來為各位介紹php中Yaf框架集成zendframework2的例子,有興趣的可以和php粉絲網(wǎng)教程小編一起來看看,具體操作如下.

php框架 Yaf集成zendframework2,zf2的orm 可以作為獨(dú)立模塊用到y(tǒng)af中,而且zf2 composer service manger  cacheStorage 都可以集成到y(tǒng)af中.

一:public/index.php 加入composer

  1. chdir(dirname(__DIR__)); 
  2.  
  3. // Decline static file <a href="/tags.php/request/" target="_blank">request</a>s back to the PHP built-in webserver 
  4.  
  5. if (php_sapi_name() === 'cli-server' && is_file(__DIR__ . parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH))) { 
  6.  
  7. return false; 
  8.  
  9.  
  10. // Setup autoloading 
  11.  
  12. require 'init_autoloader.php'
  13.  
  14.  
  15. // Define path to application directory 
  16.  
  17. define("APP_PATH", dirname(__DIR__)); 
  18.  
  19.  
  20. // Create application, bootstrap, and run 
  21.  
  22. $app = new Yaf_Application(APP_PATH . "/conf/application.ini"); 
  23.  
  24. $app->bootstrap()->run(); 

根目錄 存放 init_autoloader.php

二:導(dǎo)入ZF2 模塊組件

vendor/ZF2  見頁尾下載包

三:更改bootstrap配置文件

  1. <?php 
  2. use Zend/ServiceManager/ServiceManager; 
  3.  
  4. use Zend/Mvc/Service/ServiceManagerConfig; 
  5.  
  6. use Zend/ModuleManager/Listener/ConfigListener; 
  7.  
  8. use Zend/ModuleManager/Listener/ListenerOptions; 
  9.  
  10. use Zend/ModuleManager/ModuleEvent; 
  11.  
  12. class Bootstrap extends Yaf_Bootstrap_Abstract { 
  13.  
  14. public function _initConfig() { 
  15.  
  16. $config = Yaf_Application::app()->getConfig(); 
  17.  
  18. Yaf_Registry::set("config"$config); 
  19.  
  20.  
  21. public function _initServiceManager() { 
  22.  
  23. $configuration = require APP_PATH . '/conf/application.config.php'
  24.  
  25. $smConfig = isset($configuration['service_manager']) ? $configuration['service_manager'] : array(); 
  26.  
  27. $serviceManager = new ServiceManager(new ServiceManagerConfig($smConfig)); 
  28.  
  29. $serviceManager->setService('ApplicationConfig'$configuration); 
  30.  
  31. $configListener = new ConfigListener(new ListenerOptions($configuration['module_listener_options'])); 
  32.  
  33. // If not found cache, merge config 
  34.  
  35. if (!$configListener->getMergedConfig(false)) $configListener->onMergeConfig(new ModuleEvent); 
  36.  
  37. // If enabled, update the config cache 
  38.  
  39. if ($configListener->getOptions()->getConfigCacheEnabled() && 
  40.  
  41. !file_exists($configListener->getOptions()->getConfigCacheFile())) { 
  42.  
  43. //echo "debug"; 
  44.  
  45. $configFile = $configListener->getOptions()->getConfigCacheFile(); 
  46.  
  47. $content = "<?php/nreturn " . var_export($configListener->getMergedConfig(false), 1) . ';'
  48.  
  49. file_put_contents($configFile$content); 
  50.  
  51.  
  52. $serviceManager->setService('config'$configListener->getMergedConfig(false)); 
  53.  
  54. Yaf_Registry::set('ServiceManager'$serviceManager); 
  55.  
  56.  
  57. public function _initSessionManager() { 
  58.  
  59. Yaf_Registry::get('ServiceManager')->get('Zend/Session/SessionManager'); 
  60.  
  61.  
  62. public function _initPlugin(Yaf_Dispatcher $dispatcher) { 
  63.  
  64. $user = new UserPlugin(); 
  65.  
  66. $dispatcher->registerPlugin($user); 
  67.  
  68.  

四:mvc測(cè)試

  1. <?php 
  2. use Zend/Session/Container as SessionContainer; 
  3.  
  4. use Zend/Db/TableGateway/TableGateway; 
  5.  
  6. class IndexController extends Yaf_Controller_Abstract { 
  7.  
  8. public function indexAction() { 
  9.  
  10. $adapter = $this->getDbAdapter(); 
  11.  
  12. $table = new TableGateway('zt_user'$adapter); 
  13.  
  14. $entities = $table-><a href="/tags.php/select/" target="_blank">select</a>(); 
  15.  
  16. <a href="/tags.php/foreach/" target="_blank">foreach</a> ($entities as $entity) { 
  17.  
  18. var_dump($entity->username); 
  19.  
  20.  
  21. $cache = $this->getStorage(); 
  22.  
  23. $cache->setItem('cache''cachedata'); 
  24.  
  25. echo $cache->getItem('cache'); 
  26.  
  27. $this->getLogger()->alert('log'); 
  28.  
  29. $this->getView()->assign("content""Hello World"); 
  30.  
  31.  
  32. /** 
  33.  
  34. * db adapter 
  35.  
  36. * @return /Zend/Db/Adapter/Adapter 
  37.  
  38. */ 
  39.  
  40. public function getDbAdapter() { 
  41.  
  42. return Yaf_Registry::get('ServiceManager')->get('Zend/Db/Adapter/Adapter'); 
  43.  
  44.  
  45. /** 
  46.  
  47. * storage 
  48.  
  49. * @return /Zend/Cache/Storage/StorageInterface 
  50.  
  51. */ 
  52.  
  53. protected function getStorage() { 
  54.  
  55. return Yaf_Registry::get('ServiceManager')->get('Zend/Cache/Storage/StorageInterface'); 
  56.  
  57.  
  58. /** 
  59.  
  60. * logger 
  61.  
  62. * @return /Zend/Log/Zend/Log/Logger 
  63.  
  64. */ 
  65.  
  66. protected function getLogger() { 
  67.  
  68. return Yaf_Registry::get('ServiceManager')->get('Zend/Log/Logger'); 
  69.  
  70.  

這樣你訪問public下的index.php 會(huì)輸出hello word字樣.

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 交城县| 吴旗县| 朝阳区| 汉中市| 莫力| 灵山县| 汝南县| 临邑县| 新巴尔虎左旗| 板桥市| 涪陵区| 浮梁县| 吴忠市| 禹城市| 察隅县| 霍城县| 图木舒克市| 安吉县| 西华县| 云浮市| 红原县| 兴化市| 堆龙德庆县| 台前县| 巴彦淖尔市| 乌拉特中旗| 兴和县| 合水县| 曲阳县| 叙永县| 南涧| 昌吉市| 偏关县| 茶陵县| 句容市| 巩义市| 南投市| 盘山县| 进贤县| 菏泽市| 盐津县|