1.1.Yii2 是什么
Yii2 是一个高性能,基于组件的 PHP 框架,用于快速开发现代 Web 应用程序。 名字 Yii2 (读作 易)在中文里有“极致简单与不断演变”两重含义,也可看作 Yes It Is! 的缩写。
1.2.Yii2 最适合做什么?
Yii2 是一个通用的 Web 编程框架,即可以用于开发各种用 PHP 构建的 Web 应用。 因为基于组件的框架结构和设计精巧的缓存支持,它特别适合开发大型应用,如门户网站、社区、内容管理系统(CMS)、电子商务项目和 RESTful Web 服务等。
1.2.1.Yii2 和其他框架相比呢?
如果你有其它框架使用经验,那么你会很开心看到 Yii2 所做的努力:
和其他 PHP 框架类似,Yii2 实现了 MVC(Model-View-Controller)设计模式并基于该模式组织代码。
Yii2 的代码简洁优雅,这是它的编程哲学。它永远不会为了刻板地遵照某种设计模式而对代码进行过度的设计。
Yii2 是一个全栈框架,提供了大量久经考验,开箱即用的特性:对关系型和 NoSQL 数据库都提供了查询生成器 和 ActiveRecord;RESTful API 的开发支持;多层缓存支持,等等。
Yii2 非常易于扩展。你可以自定义或替换几乎任何一处核心代码。 你还会受益于 Yii2 坚实可靠的扩展架构,使用、再开发或再发布扩展。
高性能始终是 Yii2 的首要目标之一。
Yii2 不是一场独角戏,它由一个强大的开发者团队提供支持,也有一个庞大的专家社区,持续不断地对 Yii2 的开发 作出贡献。Yii2 开发者团队始终对 Web 开发趋势和其他框架及项目中的最佳实践和特性保持密切关注,那些有意义的最佳实践及特性会被不定期的整合进核心框架中,并提供简单优雅的接口。
2.Yii2难
Yii2难, 难在什么地方?
Yii2中融合两项新的技术所以导致上手比较难:
1.Composer项目管理
2.Bootstrap网页布局
3.Composer
3.1.什么是Composer
Composer 是 PHP 的一个依赖管理工具。它允许你申请项目所依赖的代码库,它会在你的项目中为你安装他们。
3.2.Composer帮你解决什么问题
1.你有一个项目依赖于若干个库。
2.其中一些库依赖于其他库。
3.你声明你所依赖的东西。
4.Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。
3.3.安装Composer
1.下载:
https://getcomposer.org/Composer-Setup.exe
2.安装
安装时需要选中PHP的可执行文件:
Composer的安装路径同时被设置到系统变量的path中。所以可以在dos命令下直接使用composer命令。
3.4.代码库放在哪里和下载前提
代码库被放在github上,Composer根据命令自动从github中下载。
1.PHP必须开启curl.openssl扩展
2.注册github的账号
3.5.Composer的常用命令
3.5.1.修改下载代码库的地址
因为github在功能比较慢,修改代码库下载地址,使用中国镜像:
composer config -g repositories.packagist composer http://packagist.phpcomposer.com
3.5.2.下载github上的完整项目
composer create-project --prefer-dist yiisoft/yii2-app-advanced yii-application -vvv
将yiisoft用户(github的用户)下的yii2-app-advanced项目下载到yii-application文件夹下面, yii-application就是一个项目。
3.5.3.下载代码库并且安装到项目中
composer require --prefer-dist yiisoft/yii2-bootstrap -vvv
安装yiisoft用户(github的用户)下的yii2-bootstrap到项目中
4.使用Composer安装Yii高级模板
4.1.安装高级模板
使用一下两个命令完成Yii2基础项目高级模板的安装,项目被安装在yii2文件夹中:
composer global require "fxp/composer-asset-plugin:~1.0.3"
composer create-project --prefer-dist yiisoft/yii2-app-advanced yii2 -vvv
第一次安装需要等待很久, 因为他需要从网上下载
4.2.安装过程中输入github的密钥
安装过程中出现上面提示:说明需要你到这个地址申请github的密钥,并且将密钥填写上去。 到这个地址时需要登录github:
将该密钥复制粘贴到:
只需要右键一下就可以粘贴了。 只是看不到效果而已。
4.3.错误解决方案
Your requirements could not be resolved to an installable set of packages.
如果提示上面的错误:
执行: composer update -vvv
5.Yii2高级模板的目录结构
backend——后台web程序
common——公共的文件
console——控制台程序
environments——环境配置
frontend——前台web程序
6.运行Yii2高级模板
6.1.初始化高级模板
6.2.为项目配置数据库参数
创建数据库newyii2,并且该项目中使用。
6.3.设置两个虚拟主机
<VirtualHost *:80>
ServerName backend.dev
DocumentRoot D:\demo2\newyii2\backend\web
<Directory "D:\demo2\newyii2\backend\web">
# use mod_rewrite for pretty URL support
RewriteEngine on
# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.php
RewriteRule . index.php
# use index.php as index file
DirectoryIndex index.php
# ...other settings...
Allow from all
AllowOverride all
Options Indexes FollowSymLinks
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName frontend.dev
DocumentRoot D:\demo2\newyii2\frontend\web
<Directory "D:\demo2\newyii2\frontend\web">
# use mod_rewrite for pretty URL support
RewriteEngine on
# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.php
RewriteRule . index.php
# use index.php as index file
DirectoryIndex index.php
Allow from all
AllowOverride all
Options Indexes FollowSymLinks
</Directory>
</VirtualHost>
c:\Windows\System32\Drivers\etc\hosts
127.0.0.1 frontend.dev
127.0.0.1 backend.dev
7.资源
下面都是github上的yii2做的源代码, 安装并且参考对我们写代码非常有帮助。
https://github.com/DevGroup-ru/dotplant2
https://github.com/iiYii/getyii
https://github.com/funson86/funshop
原文地址:http://www.itsource.cn