您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    是时候使用Vue2和Yii2进行前后端分离开发啦
    时间:2017-04-10 21:58 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    前后端分离之后,后台语言的选择一下子多了,只要能处理请求,返回JSON就可以了。不过据说PHP是世界上最好的语言,所以本教程选的是PHP,当然,站在巨人的肩膀上,选个好用不浮夸的框架也是必要的,不然重复发明轮子会占用很多玩耍的时间,不利于身心健康。性能什么的,不要计较太多,如果幸福的烦恼来临,多花点钱,多搞几台机器的事而已。废话不多说,撸起袖子加油干!

    1.安装Yii2

    Yii2通过composer-asset-plugin整合bower和npm上的前端库到composer的安装上,如果之前安装过这个插件,就不用安装啦,直接

    composer create-project --prefer-dist yiisoft/yii2-app-basic basic 

    如果没有安装过asset-plugin,就先安装插件,再创建一个新的Yii2程序:

    composer global require "fxp/composer-asset-plugin:^1.2.0"  

    composer create-project --prefer-dist yiisoft/yii2-app-basic basic 

    稍等片刻,就能安装好啦。

    配置下虚拟主机,以apache为例,打开apache目录下的httpd-vhosts.conf配置文件,添加配置:

    是时候使用Vue2和Yii2进行前后端分离开发啦

    DocumentRoot指向的是刚刚创建的Yii2程序的web目录,ServerName是本地域名,配置好apache配置后,需要再改一下hosts文件,以Win7为例,打开 C:\Windows\System32\drivers\etc\hosts 在文件最后添加一行

    127.0.0.1 basic.backend.local 

    保存,重启Apache,打开浏览器,打开地址 看到熟悉的 Congratulations!大字,说明安装配置完成啦!

    2.配置Yii2支持API调用

    2.1 添加API相关Controller的基础类,这里取名BaseAPIController:

    namespace app\controllers;  

    use yii\filters\ContentNegotiator; 

    use yii\rest\Controller; 

    use yii\web\Response; 

    use Yii;  

    class BaseAPIController extends Controller 

        public function behaviors() 

        { 

            $behaviors = parent::behaviors(); 

            unset($behaviors['authenticator']); 

     

            $behaviors['corsFilter'] = [ 

                'class' => \yii\filters\Cors::className(), 

                'cors' => [ 

                    // restrict access to 

                    'Access-Control-Request-Method' => ['*'], 

                    // Allow only POST and PUT methods 

                    'Access-Control-Request-Headers' => ['*'], 

                    // Allow only headers 'X-Wsse' 

                    'Access-Control-Allow-Credentials' => true

                    // Allow OPTIONS caching 

                    'Access-Control-Max-Age' => 3600, 

                    // Allow the X-Pagination-Current-Page header to be exposed to the browser. 

    (责任编辑:admin)