第一次接触yii2框架,自己边学习边整理。
Yii是一个基于组件的高性能php框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主题化,I18N和L10N,Yii提供了今日Web
2.0应用开发所需要的几乎一切功能。事实上,Yii是最有效率的PHP框架之一。优点
纯OOP
用于大规模Web应用
模型使用方便
开发速度快,运行速度也快。性能优异且功能丰富
使用命令行工具。
缺点:
对Model层的指导和考虑较少
文档实例较少
英文太多
要求PHP技术精通,OOP编程要熟练!
View并不是理想view,理想中的view可能只是html代码,不会涉及PHP代码。
1.首先是yii2框架的目录结构
1、DOCUMENT 该目录主要存放一些文档需求,系统手册,项目配置文件,数据库备份文件等
2、app_backend后台应用系统目录,该目录存放所有后台代码源文件,有自己的配置文件、表单模型文件、数据模型文件等
3、app_demo该项目是示例应用,方便后续有新增应用(如:旅游应用,论坛应用等)进行直接拷贝,然后修改相关文件配置后即可正常使用
4、app_fis该应用下存放所有应用的模版文件,由前端人员开发本地模板,再由后端人员修改成后端模板,然后通过 fis 发布到对应的应用下
(偷偷告诉你,这样做的目的是让前后端人员共用一套模板,不论是已发布的线上模板还是本地开发的模板,前后端都可以修改,从而减轻前后端的压力,使工作更加的高效,合作更加的美好。当然啦,我是实践过了的
^^)
5、app_frontend 前台应用系统目录,该目录存放所有前台代码源文件,有自己的配置文件、表单模型文件、数据模型文件等
6、common 顾名思义,全站公用的资源文件存放目录,包括全站配置、全站第三方类、全站模型(表单,数据)等
@yii ——框架的目录。
@app——当前正在运行的应用程序的基本路径。
@common -公共文件目录。
@frontend——前端web应用程序目录。
@backend ——后端web应用程序目录。
@console -控制台目录。
@runtime——当前正在运行的web应用程序的运行时目录
@vendor ——基础框架目录。
@web——当前正在运行的web应用程序的url
@webroot——当前正在运行的web应用程序的web根目录。
2.从git仓库中拉取下来的代码文件
.gitignore ——git版本控制中忽略的文件和目录,如果你有一些你不想要的文件到你的源代码里面就把它添加到这个文件中。
composer.json——这个下面会描述 init——在Composer里面所描述初始化脚本
init.bat——和上面一样,不过是Windows下面的 LIENSE.md——这个就不说了 README.md——同上
requirements.php——Yii运行环境要求检测文件 yii——控制台程序引导文件 yii.bat——Windows下面的东东
提交代码到git仓库时,会将一些配置文件和脚本文件省略,所以需要进行一些初始化(在第一次安装yii框架时,也需要进行一些初始化)
#-----------------**./init (php init)**命令执行一下
Yii2 安装完以后,按照官方文档接下来就需要进行初始化 ./init,此处初始化时我们选择 Development
模式,初始化后会产生以下文件:
可以看出 Yii2 初始化的主要工作是产生一些配置文件和脚本文件,如果你使用 GitHub
作为代码版本库,你会发现这些配置和脚本文件默认是被忽略提交的,具体参见文件所在目录的 .gitignore 。
这意味着什么?当你通过 GitHub 将代码部署到生产服务器的时候,你需要再次通过 ./init 进行初始化;当然,那时你需要以
Production 模式进行初始化了;也许你会觉得很烦,但是当你操作后才发现这样的方式很灵活。
根目录下的 /vendor 是第三方代码库(包括Yii2源码等),默认情况下是忽略提交的,由 Composer 维护。
但由于 Composer 在中国被墙速度慢,所以此推荐将 /vendor 也加入版本库,具体操作:注释掉根目录下 /.gitignore
文件里的 /vendor 内容。