为了账号安全,请及时绑定邮箱和手机立即绑定

Yii框架不得不说的故事—高效篇(2)

withy PHP开发工程师
难度中级
时长 2小时27分
学习人数
综合评分9.80
77人评价 查看评价
9.9 内容实用
9.9 简洁易懂
9.6 逻辑清晰
  • 缓存操作
    查看全部
  • 老师能不能给下CRUD的的介绍 我对应的model一直无法输入 生成的C无法用 对应的View层路径不对
    查看全部
  • $this->beginCache('cache_div')开启局部缓存 $this->endCache()结束局部缓存
    查看全部
    0 采集 收起 来源:片段缓存介绍

    2018-03-22

  • 其他可用的依赖关系 自己去看
    查看全部
  • DB依赖
    查看全部
  • 表达式依赖
    查看全部
  • 在调用 spl_autoload_register() 进行autoloader注册之后,Yii将 calsses.php 这个文件作为一个映射表保存到 Yii::$classMap 当中。这个映射表,保存了一系列的类名与其所在PHP文件的映射关系
    查看全部
  • Yii的类自动加载,依赖于PHP的 spl_autoload_register() , 注册一个自己的自动加载函数(autoloader),并插入到自动加载函数栈的最前面,确保Yii的autoloader会被最先调用。类自动加载的这个机制的引入要从入口文件 index.php 开始说起 <?php defined('YII_DEBUG') or define('YII_DEBUG', false); defined('YII_ENV') or define('YII_ENV', 'prod'); // 这个是第三方的autoloader require(__DIR__ . '/../../vendor/autoload.php'); // 这个是Yii的Autoloader,放在最后面,确保其插入的autoloader会放在最前面 require(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php'); require(__DIR__ . '/../../common/config/aliases.php'); $config = yii\helpers\ArrayHelper::merge( require(__DIR__ . '/../../common/config/main.php'), require(__DIR__ . '/../../common/config/main-local.php'), require(__DIR__ . '/../config/main.php'), require(__DIR__ . '/../config/main-local.php') ); $application = new yii\web\Application($config); $application->run(); 这个文件主要看点在于第三方autoloader与Yii 实现的autoloader的顺序。不管第三方的代码是如何使用 spl_autoload_register() 来注册自己的autoloader的,只要Yii 的代码在最后面,就可以确保其可以将自己的autoloader插入到整个autoloder 栈的最前面,从而在需要时最先被调用
    查看全部
    0 采集 收起 来源:类的延迟加载

    2018-03-22

  • sql_autoload_register
    查看全部
    0 采集 收起 来源:类的延迟加载

    2015-11-05

  • 缓存中的依赖关系: 1、文件依赖(FileDependency):一旦文件改变,缓存将失效 2、表达式依赖(ExpressionDependency):一旦表达式改变,缓存将失效 3、DB依赖(DbDependency):一旦数据改变,缓存将失效
    查看全部
  • 设置缓存时间
    查看全部
  • Table Prefix
    查看全部
  • 2.attributeLabels详解: //返回数据库字段,以字段名为(key),注释为:(values) //1.为Ruels()提供数据返回错误的信息 //2.表单(用户操作),提示输入框中要输入什么。以及输入多少位 public function attributeLabels() { return [ 'id' => 'ID号', 'title' => '这是一个标题', ]; }
    查看全部
  • Gii: 1.r=gii会判断是模块还是控制器,如果是模块的话会交给模块处理(GII模块),否则的话交给控制器处理(应用主体(也是个模块)) 2.所有的模块都是挂在应用主体之上的
    查看全部
    0 采集 收起 来源:gii工具简介

    2015-10-11

  • basic/models/TbPrefix.php <?php //gii工具之数据模型配置介绍 //1.在Model Generator页面勾选上Use Table Prefix配置项后生成的活动记录发生哪些变化。点击Generate之前先检查有没有配置'tablePrefix' =>'tb_'(位于basic/config/db.php)。 //在Model Generator页面的Table Name表框里输入t,会弹出tb_prefix表,这张表是在yii数据库里的。系统怎么知道要到yii里去找tb_prefix表?而不是到其它数据库里找呢? //原因是在basic/config/db.php里有一个dbname=yii的配置项,所以系统才会知道到哪一个数据库里去找这个表的相关信息。 namespace app\models; use Yii; class TbPrefix extends \yii\db\ActiveRecord { public static function tableName() { //2.tableName返回的内容不再是单纯的表名了,而是返回{{%没有了表前缀的表名}},这里表前缀不见了,但是没有关系,因为生成活动记录前勾选了Use Table Prefix。 //当我们使用TbPrefix活动记录来操控表的时候,框架会把{{%prefix}}转换成tb_prefix。系统是怎么知道在prefix前面加上tb_这么一个表前缀的呢?系统实际上也是根据配置信息去找这个表前缀tb_然后加在prefix前面的。 //在basic/config/db.php里有'tablePrefix'这么一个配置项,框架会把'tablePrefix'的值'tb_'拿出来加在prefix前面,这样系统就知道能去操控的表的名字是tb_prefix。 return '{{%prefix}}'; } public function rules() { return [ [['id', 'fid'], 'required'], [['id', 'fid'], 'integer'] ]; } public function attributeLabels() { return [ 'id' => 'ID', 'fid' => 'Fid', ]; } }
    查看全部

举报

0/150
提交
取消
课程须知
学习本门课程之前,建议先了解一下知识,会更有助于理解和掌握本门课程 1、掌握PHP基本的语言语法 2、对MVC开发方式有一定的了解
老师告诉你能学到什么?
1、YII的延迟加载 2、YII的多级缓存 3、GII工具的使用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!