欢迎来到天天文库
浏览记录
ID:8969999
大小:26.50 KB
页数:5页
时间:2018-04-13
《php框架yii整合press教程》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、PHP框架Yii整合WordPress一直使用yii来做网站,也和朋友合作做了几个成品。只是框架虽好,要自己做一个像wordpress那样完善且功能丰富的博客系统却是有些费力。本站上一个版本就是基于yii做的,虽然也是像模像样,自己却是知道里面有诸多不顺畅的地方,索性还是用了wordpress,当然也是不愿抛了yii提供的各种便利,那么就让她们华丽合体吧~~~google搜一下,会有几篇关于她俩整合的文章,都是在yii的官方wiki上的,一般有两种方法1在wordpress里面运行yii2在yii里面运行wordpress(本站使用的方法)RunanYiiApplicationins
2、ideanWordPresspage这篇大概是最早做这项尝试的,后面的几篇都有提到,属于第一种方法。IntegratingYiiwithWordPress这也是第一种方法。IntegratingWordPressandYii:yetanotherapproach这篇就开始用第二种方法了,看到似乎要改挺多代码的,也没有细看。IntegratingWordPressandYii:stillanotherapproach,usingYiiastherouter/controller这篇引用了上一篇文章,也是本站所使用的方法,稍微有些细节的修改,从逻辑上看相对简洁,两边都不需要做什么核心的修
3、改,正文中介绍的便是这种方法了,权当是翻译,也分享下使用原文方法遇到的问题和解决。IntegratingWordPressandYii,WorkingOutTheDetails.和上一种方法一样,有点小修改,提到了为yii页面使用wordpress主题的问题好了,言归正传,来看看yii和wordpress的合体大法吧。Step1建立yiiapplication这个根据yii的教程走就好了,总之这一步创建一个基于yii的基本站点并配置好数据库。假设目录为/xxx/websiteStep2安装wordpress将wordpress的整个目录放在/xxx/website,本文假设目录名为w
4、ordpress。在wp-config.php中配置使用的数据库,可以和yii使用同一个数据库,这样我们就可以在wordpress中使用yii的model的功能了。另外,还需要修改数据库的wp_options表数据.找到option_name为siteurl的行,修改option_value为http://你的域名/wordpress找到option_name为home的行,修改option_value为http://你的域名Step3定位yii的404页面到wordpress的404页面这里要写一个类ExceptionHandler的类给yii,创建文件/xxx/website/p
5、rotected/components/ExceptionHandler.php,代码如下<?phpclassExceptionHandler{publicfunction__construct(){define('YII_ENABLE_EXCEPTION_HANDLER',false);set_exception_handler(array($this,'handleException'));}publicfunctionhandleException($exception){//disableerrorcapturingtoavoidrecursiveerrorsresto
6、re_error_handler();restore_exception_handler();$event=newCExceptionEvent($this,$exception);if($exceptioninstanceofCHttpException&&$exception->statusCode==404){try{Yii::app()->runController("blog/index");}catch(Exception$e){}//ifwethrowanexceptioninWordPressona404,wecanus
7、e//ourmainerrorhandlertohandletheerror}if(!$event->handled){Yii::app()->handleException($exception);}}}?>Step4修改yii的入口文件/xxx/website/index.php这一步使得yii程序启动时加载wordpress的程序define('WP_USE_THEMES',true);$wp_did_header=true;req
此文档下载收益归作者所有