竭诚为您提供优质文档/双击可除
yii2,高级模板
篇一:【yii框架学习】—yii2高级应用安装(1)
【yii2框架学习】——安装yii2高级应用
基本信息:
□操作系统:win7旗舰版
□主机环境:phpstudy20xx(apache+php7.0+mysql)□php版本:php7.0
配置相关:
本人将phpstudy安装到d盘:1、添加到系统环境
【我的电脑】——【属性】——【高级系统设置】——【高级】——【环境变量】系统变量列表下的path——编辑——添加;d:\phpstudy\php70n(注意:前面要有;隔开)
2、php开启ssh扩展
修改php.ini,打开extension=php_openssl.dll
在phpstudy中这样开启:点击图标——其他选项菜单——php扩展及配置——php扩展——到php_openssl重启apache+mysql
3、安装composer
登录composer/download/下载软件。
△安装,会自动检测php版本,选择对应的php版本安装就好,例子的是
△代理可以不填进入下一步,直至完成
△检查是否安装成功,打开cmd窗口,输入命令:composer,出现下图表示安装成功
4
、下载yii2高级应用
□进入项目目录,本例子项目路径为d:\butmincmdcdd:\butmin
□运行命令下载yii高级应用:
phpcomposer.pharcreate-projectyiisoft/yii2-app-advancedadvanced2.0.9
因缺失composer.phar文件,此时运行报错:couldnotopenfile:composer.phar解决办法:①从下载composer.phar文件,
/download/manualdownload我这里选择1.2.0版本,将下载好的co
3、安装composer
登录composer/download/下载软件。
△安装,会自动检测php版本,选择对应的php版本安装就好,例子的是
△代理可以不填进入下一步,直至完成
△检查是否安装成功,打开cmd窗口,输入命令:composer,出现下图表示安装成功
4
、下载yii2高级应用
□进入项目目录,本例子项目路径为d:\butmincmdcdd:\butmin
□运行命令下载yii高级应用:
phpcomposer.pharcreate-projectyiisoft/yii2-app-advancedadvanced2.0.9
因缺失composer.phar文件,此时运行报错:couldnotopenfile:composer.phar解决办法:①从下载composer.phar文件,
/download/manualdownload我这里选择1.2.0版本,将下载好的co
mposer.phar文件放到项目路径里面。
再次运行
phpcomposer.pharcreate-projectyiisoft/yii2-app-advancedadvanced2.0.9
这时(yii2,高级模板)候运行成功出现下载信息
安装完毕后,项目目录多了一个名为advanced的文件夹及文件
5、安装yii2高级应用
□cdadvanced进入advanced目录,初始化项目ini.bat
□输入{
0}{yes}
□初始化成功
篇二:yii2教程之migration数据迁移修订版
yii2教程之数据库迁移migration本文翻译整理自官方yii2-guide:phpcomposer.pharself-update
1概念和入门
migration是以yii2中用php代码改写数据库ddl的一种做法,其主要好处是把数据库的操作以
再次运行
phpcomposer.pharcreate-projectyiisoft/yii2-app-advancedadvanced2.0.9
这时(yii2,高级模板)候运行成功出现下载信息
安装完毕后,项目目录多了一个名为advanced的文件夹及文件
5、安装yii2高级应用
□cdadvanced进入advanced目录,初始化项目ini.bat
□输入{
0}{yes}
□初始化成功
篇二:yii2教程之migration数据迁移修订版
yii2教程之数据库迁移migration本文翻译整理自官方yii2-guide:phpcomposer.pharself-update
1概念和入门
migration是以yii2中用php代码改写数据库ddl的一种做法,其主要好处是把数据库的操作以
迁移文件(.php)的形式代码化,进而实现版本管理,有效的支持了数据库相关的安装、调试等常见需求,包括:
createnewmigrations;创建迁移applymigrations;部署数据苦revertmigrations;将数据库回退到以往版本re-applymigrations;再次部署数据库showmigrationhistoryandstatus.查看数据库迁移历史和状态
以yii2高级模板为例,由于高级模板的后台部分backend实现了基于数据库“user”表登录的功能,在其console/migrations目录下带有一个m_.php格式的migration文件,如下图所示,注意migration中都实现了up函数,
同时一般应实现down函数,即数据库的”更改”和”回滚”方法。
当我们要创建这个包含user表的数据库时,需要通过命令yiimigrate来执行该php文件,通用的写法为:
yiimigrate--migrationpath=@app/migrations/db1--db=db1//指定了migration文件路径,--db
createnewmigrations;创建迁移applymigrations;部署数据苦revertmigrations;将数据库回退到以往版本re-applymigrations;再次部署数据库showmigrationhistoryandstatus.查看数据库迁移历史和状态
以yii2高级模板为例,由于高级模板的后台部分backend实现了基于数据库“user”表登录的功能,在其console/migrations目录下带有一个m_.php格式的migration文件,如下图所示,注意migration中都实现了up函数,
同时一般应实现down函数,即数据库的”更改”和”回滚”方法。
当我们要创建这个包含user表的数据库时,需要通过命令yiimigrate来执行该php文件,通用的写法为:
yiimigrate--migrationpath=@app/migrations/db1--db=db1//指定了migration文件路径,--db
指定某个具体数据库(如果在配置文件中定义了多个数据库连接的话)
以上面的advanced模板为例,从下载解压后,在命令行窗口cd到解压后的advanced目录,先运行:$phpinit
按提示生成main-local.php等配置文件,然后用navicat等管理工具新建一个名为“yii2advanced”的数据库,(由于上面phpinit在common/mail-local.php中写死了yii2advanced这个名字),然后在advanced目录下执行命令如下图所示,即可创建数据库并生成user表:
2从已有的数据库生成迁移文件
如果项目是历史遗留项目,我们又希望引入迁移管理机制,可以用一些工具从已有数据库生成migration文件。
当然,新项目也可以,毕竟在navicat等工具的帮助下创建一个较复杂的数据库比写代码更快。
一个比较好用的插件参见:
我已经用basic模板配好了该插件上传到里,即yii-basic模板(带有从现有数据库生成迁移文件的插件).zip,解压后只需进入命令行执行(注意好像要先新建一个名为yii2basic的空数据
以上面的advanced模板为例,从下载解压后,在命令行窗口cd到解压后的advanced目录,先运行:$phpinit
按提示生成main-local.php等配置文件,然后用navicat等管理工具新建一个名为“yii2advanced”的数据库,(由于上面phpinit在common/mail-local.php中写死了yii2advanced这个名字),然后在advanced目录下执行命令如下图所示,即可创建数据库并生成user表:
2从已有的数据库生成迁移文件
如果项目是历史遗留项目,我们又希望引入迁移管理机制,可以用一些工具从已有数据库生成migration文件。
当然,新项目也可以,毕竟在navicat等工具的帮助下创建一个较复杂的数据库比写代码更快。
一个比较好用的插件参见:
我已经用basic模板配好了该插件上传到里,即yii-basic模板(带有从现有数据库生成迁移文件的插件).zip,解压后只需进入命令行执行(注意好像要先新建一个名为yii2basic的空数据
库,当然还要配好config/db.php中的数据库连接):
$yiischemadump现有数据库名
补充说明!
上图中createtable最后一个参数会报unknown错误,可能是父类migration不再包含该属性,所以要在up函数开始增加:$tableoptions=null;
if($this->db->drivername===mysql){
$tableoptions=chaRacteRsetutf8collateutf8_unicode_ciengine=innodb;}
并且将改为$tableoptions
3错误调试
由于数据库的复杂性,写迁移文件或者运行yiimigrate命令难免有错,而yiimigrate是控制台命令,不好在ide中放断点调试,我们通常用日志文件查看并定位错误,其默认位置在runtime/logs/app.log,注意可以先打开app.log删除全部内容再运行一次
yiimigrate
4官方文档一定要认真阅读!
篇三:yii2.0学习笔记完全版
$yiischemadump现有数据库名
补充说明!
上图中createtable最后一个参数会报unknown错误,可能是父类migration不再包含该属性,所以要在up函数开始增加:$tableoptions=null;
if($this->db->drivername===mysql){
$tableoptions=chaRacteRsetutf8collateutf8_unicode_ciengine=innodb;}
并且将改为$tableoptions
3错误调试
由于数据库的复杂性,写迁移文件或者运行yiimigrate命令难免有错,而yiimigrate是控制台命令,不好在ide中放断点调试,我们通常用日志文件查看并定位错误,其默认位置在runtime/logs/app.log,注意可以先打开app.log删除全部内容再运行一次
yiimigrate
4官方文档一定要认真阅读!
篇三:yii2.0学习笔记完全版
yii2.0学习笔记
1.搭建环境及目录结构
1.1搭建环境
参考1:yii2.0框架下载安装-yii中文网/post/detail/35.html参考2:yii2.0-advanced高级版项目搭建(一)/post/detail/1.html
1.2.目录结构
basic/应用根目录
composer.jsoncomposer配置文件,描述包信息
config/包含应用配置及其它配置
console.php控制台应用配置信息
web.phpweb应用配置信息
commands/包含控制台命令类
controllers/包含控制器类
models/包含模型类
runtime/包含yii在运行时生成的文件,例如日志和缓存文件
1.搭建环境及目录结构
1.1搭建环境
参考1:yii2.0框架下载安装-yii中文网/post/detail/35.html参考2:yii2.0-advanced高级版项目搭建(一)/post/detail/1.html
1.2.目录结构
basic/应用根目录
composer.jsoncomposer配置文件,描述包信息
config/包含应用配置及其它配置
console.php控制台应用配置信息
web.phpweb应用配置信息
commands/包含控制台命令类
controllers/包含控制器类
models/包含模型类
runtime/包含yii在运行时生成的文件,例如日志和缓存文件
vendor/包含已经安装的composer包,包括yii框架自身
views/包含视图文件
web/web应用根目录,包含web入口文件
assets/包含yii发布的资源文件(javascript和css)
index.php应用入口文件
yiiyii控制台命令执行脚本
2.一些常规配置
2.1框架源的设置
在配置文件web.php中如下配置$config=[vendorpath=>d:\xampp\htdocs\www\yii2-vendor,]
2.2设置默认布局2)在所在的控制器中加入,
public$layout="mymain";
2.3设置默认控制器
在yii2-vendor\yiisoft\yii2\web.application.php中
public$defaultRoute=index;//默认路由
2.4设置默认首页
views/包含视图文件
web/web应用根目录,包含web入口文件
assets/包含yii发布的资源文件(javascript和css)
index.php应用入口文件
yiiyii控制台命令执行脚本
2.一些常规配置
2.1框架源的设置
在配置文件web.php中如下配置$config=[vendorpath=>d:\xampp\htdocs\www\yii2-vendor,]
2.2设置默认布局2)在所在的控制器中加入,
public$layout="mymain";
2.3设置默认控制器
在yii2-vendor\yiisoft\yii2\web.application.php中
public$defaultRoute=index;//默认路由
2.4设置默认首页
在配置文件web.php中如下配置,$config=[
defaultRoute=>index,//设置默认路由]
2.5数据库连接配置
在配置文件db.php中如下配置,本人数据库为wxj,用户名root,密码为空 return[
class=>yii\db\connection,
dsn=>mysql:host=localhost;dbname=wxj,
username=>root,
password=>,
charset=>utf8,
];
php软件安装包 2.6配置虚拟主机1)修改虚拟主机配置文件:xampp\apache\conf\f。给定相应的域名和地址
documentRoot"d:\xampp\htdocs\www\sqproject\weixinpay\web"
servernamepaycenter.social-touch
defaultRoute=>index,//设置默认路由]
2.5数据库连接配置
在配置文件db.php中如下配置,本人数据库为wxj,用户名root,密码为空 return[
class=>yii\db\connection,
dsn=>mysql:host=localhost;dbname=wxj,
username=>root,
password=>,
charset=>utf8,
];
php软件安装包 2.6配置虚拟主机1)修改虚拟主机配置文件:xampp\apache\conf\f。给定相应的域名和地址
documentRoot"d:\xampp\htdocs\www\sqproject\weixinpay\web"
servernamepaycenter.social-touch
errorlog"ample-error.log"
customlog"ample-access.log"common
2)到c:\windows\system32\drivers\etc\hosts
添加127.0.0.1paycenter.social-touch
3)在uRl地址中直接输入paycenter.social-touch
3.数据模型model
3.1model格式
model类也是更多高级模型如activeRecord活动记录的基类,模型并不强制一定要继承yii\base\model,但是由于很多组件支持yii\base\model,最好使用它做为模型基类。在model中主要是指定相应的表名和相应的规则
3.2model数据库连接
在配置文件db.php中
return[
class=>yii\db\connection,
customlog"ample-access.log"common
2)到c:\windows\system32\drivers\etc\hosts
添加127.0.0.1paycenter.social-touch
3)在uRl地址中直接输入paycenter.social-touch
3.数据模型model
3.1model格式
model类也是更多高级模型如activeRecord活动记录的基类,模型并不强制一定要继承yii\base\model,但是由于很多组件支持yii\base\model,最好使用它做为模型基类。在model中主要是指定相应的表名和相应的规则
3.2model数据库连接
在配置文件db.php中
return[
class=>yii\db\connection,
dsn=>mysql:host=localhost;dbname=wxj,
username=>root,
password=>,
charset=>utf8,
];
3.3model中的增删改查
在做增删改查是要引用数据模型useweixinpay\models\wpusers;
3.3.1添加数据
$model=newuser();
$model->username=username;
$model->age=20;
$model->insert();
3.3.2删除数据user::deleteall(name=小伙儿);删除name=小伙儿的数据;
user::findone($id)->delete();删除主键为$id变量值的数据库;
user::deleteall(age>:ageandsex=:sex,[:age=>20,:sex=>1]);删除符合条件的数据;
username=>root,
password=>,
charset=>utf8,
];
3.3model中的增删改查
在做增删改查是要引用数据模型useweixinpay\models\wpusers;
3.3.1添加数据
$model=newuser();
$model->username=username;
$model->age=20;
$model->insert();
3.3.2删除数据user::deleteall(name=小伙儿);删除name=小伙儿的数据;
user::findone($id)->delete();删除主键为$id变量值的数据库;
user::deleteall(age>:ageandsex=:sex,[:age=>20,:sex=>1]);删除符合条件的数据;
3.3.3修改数据先查询到用户名与密码匹配的数据—>再修改其密码-执行写入动作
$rel=wpusers::findone([username=>$username,password=>$oldpassword]);
$rel->password=$password;
if($rel->save())
3.3.4查询
单表查询
user::find()->orderby(iddesc)->all();此方法是排序查询;
user::findbysql(select*FRomuser)->all();此方法是用sql语句查询user表里面的所有数据;user::find()->andwhere([sex=>男,age=>24])->count(id);统计符合条件的总条数;user::findone($id);//返回主键id=1的一条数据;
user::find()->where([name=>ttt])->one();//返回[name=>ttt]的一条数据;
在用户表中以姓名为查询条件
$info=wpusers::
find
()->
$rel=wpusers::findone([username=>$username,password=>$oldpassword]);
$rel->password=$password;
if($rel->save())
3.3.4查询
单表查询
user::find()->orderby(iddesc)->all();此方法是排序查询;
user::findbysql(select*FRomuser)->all();此方法是用sql语句查询user表里面的所有数据;user::find()->andwhere([sex=>男,age=>24])->count(id);统计符合条件的总条数;user::findone($id);//返回主键id=1的一条数据;
user::find()->where([name=>ttt])->one();//返回[name=>ttt]的一条数据;
在用户表中以姓名为查询条件
$info=wpusers::
find
()->
where([username
=>$username])->asarray()->all();
在用户表中以姓名和密码为查询条件
$re=wpusers::find()->where([username=>$username,password=>$password])->asarray()->all();
多表联合查询查询
如要多表查询,先确定主表:如下主表(Relation关系表)
如下子表(programmer程序员表)
如下子表(project项目表)
=>$username])->asarray()->all();
在用户表中以姓名和密码为查询条件
$re=wpusers::find()->where([username=>$username,password=>$password])->asarray()->all();
多表联合查询查询
如要多表查询,先确定主表:如下主表(Relation关系表)
如下子表(programmer程序员表)
如下子表(project项目表)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论