介绍php中Yaf框架集成zendframework2的例子
发布时间:2023-09-15 11:00:26 所属栏目:PHP教程 来源:
导读:本文章来为各位介绍php中Yaf框架集成zendframework2的例子,有兴趣的可以和php粉丝网教程小编一起来看看,具体操作如下.
php框架 Yaf集成zendframework2,zf2的orm 可以作为独立模块用到yaf中,而且zf2 composer serv
php框架 Yaf集成zendframework2,zf2的orm 可以作为独立模块用到yaf中,而且zf2 composer serv
本文章来为各位介绍php中Yaf框架集成zendframework2的例子,有兴趣的可以和php粉丝网教程小编一起来看看,具体操作如下. php框架 Yaf集成zendframework2,zf2的orm 可以作为独立模块用到yaf中,而且zf2 composer service manger cacheStorage 都可以集成到yaf中. 一:public/index.php 加入composer chdir(dirname(__DIR__)); // Decline static file <a href="/tags.php/request/" target="_blank">request</a>s back to the PHP built-in webserver if (php_sapi_name() === 'cli-server' && is_file(__DIR__ . parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH))) { return false; } // Setup autoloading require 'init_autoloader.php'; // Define path to application directory define("APP_PATH", dirname(__DIR__)); // Create application, bootstrap, and run $app = new Yaf_Application(APP_PATH . "/conf/application.ini"); $app->bootstrap()->run(); 根目录 存放 init_autoloader.php 二:导入ZF2 模块组件 vendor/ZF2 见页尾下载包 三:更改bootstrap配置文件 <?php use Zend/ServiceManager/ServiceManager; use Zend/Mvc/Service/ServiceManagerConfig; use Zend/ModuleManager/Listener/ConfigListener; use Zend/ModuleManager/Listener/ListenerOptions; use Zend/ModuleManager/ModuleEvent; class Bootstrap extends Yaf_Bootstrap_Abstract { public function _initConfig() { $config = Yaf_Application::app()->getConfig(); Yaf_Registry::set("config", $config); } public function _initServiceManager() { $configuration = require APP_PATH . '/conf/application.config.php'; $smConfig = isset($configuration['service_manager']) ? $configuration['service_manager'] : array(); $serviceManager = new ServiceManager(new ServiceManagerConfig($smConfig)); $serviceManager->setService('ApplicationConfig', $configuration); $configListener = new ConfigListener(new ListenerOptions($configuration['module_listener_options'])); // If not found cache, merge config if (!$configListener->getMergedConfig(false)) $configListener->onMergeConfig(new ModuleEvent); // If enabled, update the config cache if ($configListener->getOptions()->getConfigCacheEnabled() && !file_exists($configListener->getOptions()->getConfigCacheFile())) { //echo "debug"; $configFile = $configListener->getOptions()->getConfigCacheFile(); $content = "<?php/nreturn " . var_export($configListener->getMergedConfig(false), 1) . ';'; file_put_contents($configFile, $content); } $serviceManager->setService('config', $configListener->getMergedConfig(false)); Yaf_Registry::set('ServiceManager', $serviceManager); } public function _initSessionManager() { Yaf_Registry::get('ServiceManager')->get('Zend/Session/SessionManager'); } public function _initPlugin(Yaf_Dispatcher $dispatcher) { $user = new UserPlugin(); $dispatcher->registerPlugin($user); } } 四:mvc测试 <?php use Zend/Session/Container as SessionContainer; use Zend/Db/TableGateway/TableGateway; class IndexController extends Yaf_Controller_Abstract { public function indexAction() { $adapter = $this->getDbAdapter(); $table = new TableGateway('zt_user', $adapter); $entities = $table-><a href="/tags.php/select/" target="_blank">select</a>(); <a href="/tags.php/foreach/" target="_blank">foreach</a> ($entities as $entity) { var_dump($entity->username); } $cache = $this->getStorage(); $cache->setItem('cache', 'cachedata'); echo $cache->getItem('cache'); $this->getLogger()->alert('log'); $this->getView()->assign("content", "Hello World"); } /** * db adapter * @return /Zend/Db/Adapter/Adapter */ public function getDbAdapter() { return Yaf_Registry::get('ServiceManager')->get('Zend/Db/Adapter/Adapter'); } /** * storage * @return /Zend/Cache/Storage/StorageInterface */ protected function getStorage() { return Yaf_Registry::get('ServiceManager')->get('Zend/Cache/Storage/StorageInterface'); } /** * logger * @return /Zend/Log/Zend/Log/Logger */ protected function getLogger() { return Yaf_Registry::get('ServiceManager')->get('Zend/Log/Logger'); } } 这样你访问public下的index.php 会输出hello word字样. (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐