yii2实战之初见端倪PHP框架大PK安装yii2项目初始化配置服务小结

PHP框架大PK

php框架有很多种,在国内应用较多的有:Thinkphp, Yii, Laravel, Codeigniter等。关于这些框架,孰优孰劣,是一个极具争议性的话题。各方支持者总能拿出自己的理由,把自己喜欢的框架捧上天,将其他框架喷成翔。

因此,冒昧地给这些框架作排名是不明智的,很容易成为众矢之的。诚如黑格尔所说:“存在即合理”,流行的PHP框架必然有其存在的市场基础,要么是简单易学,撸起袖子直接开干,学习成本低,公司易招人;要么是高效强大,代码优雅,安全健壮,但学习门槛高,公司招人成本大。

其实,完全没必要纠结于要学习哪种框架,选框架又不是选老婆,只能选一个。我们完全可以多掌握几个框架,而且是必须要这么做,不然思路会很狭隘。

本系列文章之所以选用yii2构建一个完整的应用,基于我最近在深入了解yii2,便将自己对于yii2的理解表达出来,希望能帮助那些想了解yii2的同学。如果你对yii2感兴趣,欢迎入坑。如果你对yii2不感兴趣,更希望你能抽空了解下,给yii2一个机会,让她展现魅力,我相信,不喜欢用yii2的人,绝大部分是使用的姿势不对。好比普通人拿屠龙宝刀,只能用于切西瓜,还嫌其笨重。yii2享誉盛久,绝非浪得虚名。

那么,现在开始我们的yii2之旅吧, 少年...

加油,少年

安装yii2

现代化的php框架都支持用composer安装,yii2自然也不例外。如果你对composer不了解,到composer中文网补课。

很悲剧的是,由于众所周之的原因,国内访问国外网络很慢,虽然composer为大多数PHP项目作了中国镜像,可对于yii2的有些插件并没有作镜像。因此,在没有梯子的情况下,用composer安装yii2很大可能是失败...

composer安装失败

我尝试了好几次,都没成功...

看了composer中文社区的说明,我也很无奈啊...

yii2使用composer安装失败的原因

我也很绝望啊

于是,我放弃挣扎了,直接下载文档包

归档文件下载地址

下载yii2归档文件

项目初始化

将归档文件解压,重命名为yii, 进入目录,执行 php init

初始化yii

查看yii版本

项目建立后的第一件事,就是将项目推送到远程git仓库,相信我,使用git是你写任何代码之前最明智的选择。由于github的速度较慢,建议用国内的gitee作为个人代码仓库。

以下是我的项目仓库链接, 关于yii2的实战系列教程代码都会提交到此项目,欢迎star

配置服务

yii2有两套模板,一个是基本模板,一个是高级模板。我们下载的是高级模板,自带了前台与后台目录,因此需要设置两个域名,host配置如下:

127.0.0.1   frontend.test # 前台
127.0.0.1   backend.test # 后台

web服务器,我选用nginx,以下是nginx的配置:

server {
        charset utf-8;
        client_max_body_size 128M;

        listen 80; ## listen for ipv4
        #listen [::]:80 default_server ipv6only=on; ## listen for ipv6

        server_name frontend.test;
        root        /path/to/yii-application/frontend/web/; # 你的项目路径
        index       index.php;

        access_log  /path/to/yii-application/log/frontend-access.log; # nginx日志存放在项目目录下
        error_log   /path/to/yii-application/log/frontend-error.log;

        location / {
            try_files $uri $uri/ /index.php$is_args$args;
        }

        location ~ ^/assets/.*\.php$ {
            deny all;
        }

        location ~ \.php$ {
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_pass 127.0.0.1:9000;
            try_files $uri =404;
        }
    
        location ~* /\. {
            deny all;
        }
    }
     
    server {
        charset utf-8;
        client_max_body_size 128M;
    
        listen 80; ## listen for ipv4
        
        server_name backend.test;
        root        /path/to/yii-application/backend/web/; # 你的项目路径
        index       index.php;
    
        access_log  /path/to/yii-application/log/backend-access.log;
        error_log   /path/to/yii-application/log/backend-error.log;
    
        location / {
            try_files $uri $uri/ /index.php$is_args$args;
        }
    
        location ~ ^/assets/.*\.php$ {
            deny all;
        }

        location ~ \.php$ {
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_pass 127.0.0.1:9000;
            try_files $uri =404;
        }
    
        location ~* /\. {
            deny all;
        }
    }

注意:将/path/to/yii-application/修改为你的本地项目路径; 在项目根目录新建log目录存放nginx日志, 不然会报错!

重启nginx服务 浏览器访问:http://frontend.test

前台界面

后台:http://backend.test

浏览器访问:http://backend.test

后台界面

将log目录添加到.gitignore,提交代码到远程仓库。

小结

本小节讲了如何安装配置yii2。下节将讲解yii2的控制器和视图是如何交互数据的。敬请关注...

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

如何给你的女神修Mac电脑

话不多说,直接进入正题,如果你或者你的女神使用 Mac 遇到以下这些问题的话,你可以来看看怎么解决。

752
来自专栏黑白安全

2018最新款渗透测试框架,Fsociety搞定各种姿势脚本

Fsociety是一款最新的渗透测试框架,可以帮助各位兄弟在安全测试过程中拥有变身成黑客所需要的各种姿势脚本。(仅供专业人士安全测试。切勿干违法的事情。)

793
来自专栏JackieZheng

可视化工具gephi源码探秘(二)---导入netbeans

  在上篇《可视化工具gephi源码探秘(一)》中主要介绍了如何将gephi的源码导入myeclipse中遇到的一些问题,此篇接着上篇而来,主要讲解当下通过my...

2038
来自专栏小白课代表

matlab 2016b

1254
来自专栏用户2442861的专栏

GUN 意思

http://blog.csdn.net/luoweifu/article/details/50153461

642
来自专栏FreeBuf

BadUSB橡皮鸭综合利用 | 使用橡皮鸭渗透电脑测试

前言: 等了3个月期待已久的橡皮鸭终于到货了,在hack5上面买的https://hakshop.com ;44.99美元。(真是心疼啊)。托朋友买的,因为淘宝...

1818
来自专栏企鹅号快讯

Ubuntu 18.04 LTS将默认采用XOrg会话

Canonical公司的Ubuntu桌面总监Will Cooke今天宣布,即将推出的Ubuntu 18.04 LTS(仿生海狸)操作系统将默认采用X.Org图形...

24310
来自专栏小白课代表

matlab 2016a

1143
来自专栏编程直播室

编程星球——水·滴创刊号 20180514

1624
来自专栏小白课代表

Microsoft Office 2019 RTM版各版本!几乎等于正式版!!!

Microsoft Office 2019 正式版很快就要发布了,目前最新版为 Office 2019 RTM版,不过仅支持Win10系统。

4938

扫码关注云+社区