竭诚为您提供优质文档/双击可除
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
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的一种做法,其主要好处是把数据库的操作以
迁移文件(.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
指定某个具体数据库(如果在配置文件中定义了多个数据库连接的话)
  以上面的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学习笔记完全版
  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在运行时生成的文件,例如日志和缓存文件
  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设置默认首页
  在配置文件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
  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,
  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]);删除符合条件的数据;
  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
  ()->
  where([username
  =>$username])->asarray()->all();
  在用户表中以姓名和密码为查询条件
  $re=wpusers::find()->where([username=>$username,password=>$password])->asarray()->all();
  多表联合查询查询
  如要多表查询,先确定主表:如下主表(Relation关系表)
  如下子表(programmer程序员表)
  如下子表(project项目表)
 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。