首页
学习
活动
专区
圈层
工具
发布

Yii2使用$this->context获取当前的ModuleControllerAction

使用Yii2的时候,在某些场景和环境下需要获得Yii2目前所处于的module(模型)、Controller(控制器)、Action(方法),以及会调用控制器里面已经定义过的一些公共的方法等.对于这些问题...使用Yii2的时候,在某些场景和环境下需要获得Yii2目前所处于的module(模型)、Controller(控制器)、Action(方法),以及会调用控制器里面已经定义过的一些公共的方法等.对于这些问题...php //得到Yii2的当前的控制器Controller echo $this->context->id; //输出结果:site //得到Yii2的当前的控制器Action echo $this->...context->action->id; //输出结果:login //得到Yii2的当前的控制器Modules echo $this->context->module->id; //输出结果:basic...(默认简单的Basic) //得到Yii2的当前的控制器里面的方法 echo $this->context->actionHello(); //输出结果:Hello World!!!

1.4K51
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    3分钟短文 | Laravel模型获取最后一条插入记录的ID编号

    代码比较简单,知识将 request 的 input 内容复制给 Company 模型的属性,然后调用 save 方法将数据存入。 那么,如果想要获取存入后数据条目的ID,如何返回呢?...其实,save 方法本身就是链式调用的,会返回当前的 Company 模型对象。...返回的是当前写入的条目的ID。...但是,如果是并发的系统,或者在流程处理中,没有使用 Company 模型进行数据操作,而是 DB::statement,DB::insert 这些,获取到的,可就不是最后的ID了。...兼容的写法,需要考虑多用户并发操作,以及数据更新源不同的情况。那么需要使用独立的方式: DB::getPdo()->lastInsertId(); 这样就可以了,基本上不会出错。

    3.8K10

    使用YII2构建一个定时任务管理后台

    显而易见的就是不知道这种鬼链接是什么个东西,想停不敢停怕背锅,久而久之就扔上面 http请求的方式触发任务,任务多的时候占用webserver的资源(如果是以cli模式触发就算了,当我没说) 无法记录任务运行的状态...,例如: 是否运行成功,运行一次耗时多少(你千万别跟我说在每个任务记录个里日志啥的好吧) 我将围绕如何解决以上三个问题来展开我的实现过程 创建一个专门管理定时任务的表 CREATE TABLE `tb_crontab...替换成自己的数据库配置组件名称 return Yii::$app->tfbmall; } /** * 获取switch字段对应的文字 * @author...进入yii根目录运行 php yii crontab/index即可看到效果 最后祭出我做好的的增删改查定时任务管理界面 这一块就劳烦你自己动动手仿照做出来吧 ?...用crontab 一分钟运行一次 * * * * * cd /yii-project/ && php yii crontab/index 旧的CronParser类不完善有BUG,所以附上最新的 crontab

    1.4K51

    React进阶(2)-上手实践Redux-如何获取store的数据

    的组合,代码就是文字描述的最佳的体现,解释 你将在本文学习到 编写Redux的的基本流程 如何获取store中公共的数据,并展示到页面上 如何更改store的公共数据,实现组件的数据与store的同步更新...命令行终端下安装redux第三方库 yarn add redux 2....组件内如何获取store中数据,通过调用getState方法获取store中的数据,该方法能够获取到store上存储的所有状态,该方法放置的位置是在constructor函数里面 this.state...结语 本文并不是什么高大上的内容,主要是对学习Redux的一个小小的初探 用几句简单归纳下:组件如何获取store中的数据 安装redux,然后从redux中引入createStore这个方法,并调用它...,完成新旧数据的替换, 而在组件中如何获取store的数据,是通过getState方法进行获取store中的所有状态

    3.2K20

    React进阶(2)-上手实践Redux-如何获取store的数据

    +Flux的组合,代码就是文字描述的最佳的体现,解释 你将在本文学习到 编写Redux的的基本流程 如何获取store中公共的数据,并展示到页面上 如何更改store的公共数据,实现组件的数据与store...命令行终端下安装redux第三方库 yarn add redux 2....组件内如何获取store中数据,通过调用getState方法获取store中的数据,该方法能够获取到store上存储的所有状态,该方法放置的位置是在constructor函数里面 this.state...(都说男人只要穿上西服,就秒变男神,我双手双脚赞同) 结语 本文并不是什么高大上的内容,主要是对学习Redux的一个小小的初探 用几句简单归纳下:组件如何获取store中的数据 安装redux,然后从...这个的决定,最终该函数返回最新结果会返回给store,完成新旧数据的替换, 而在组件中如何获取store的数据,是通过getState方法进行获取store中的所有状态 那么如何保持页面的组件与store

    2.3K10

    Yii2 VS thinkphp5.0

    但是从目前对tp5一周的使用时间来看,tp5相对于yii2来说,确实是弱爆了。 1、Yii2所有的操作都是对象操作。所有的对象都继承Yii中的Object对象。TP中,有对象也有函数。...TP中的各个对象没有明显的继承关系。各自为类,定义不同的属性以及方法。 2、Yii2架构组织明确,同一类的对象必定有一个父类,在父类中定义相同的方法。...YII2中,数据model时跟数据表完全映射的。一个model对象就是一条数据记录。对象的属性数据就是记录中各字段的内容。TP5中,数据model时一数据表的操作对象。提供一些数据操作方法而已。...Yii2中,new model(),然后调用save()方法,这个model就是一个完整的数据表记录,数据表的多有字段映射成为对象属性。TP中的save()方法是把记录写入数据库。然后就没了。...难道TP要让人家插入一条数据库在查询一次去获取数据吗? 时间差不多,后续接着更新。欢迎大家关注。

    2.8K20

    Yii2 ActiveRecord 模型

    在插入记录的时候,使用new关键字创建AR 模型对象; 在查询、更新、删除的时候,都是用find()方法创建对象。...随机小技巧 当表单提交操作时,如出现“Unable to verfy your data submission”错误,是被Yii2框架的CSRF验证拦截了。...子句的条件 indexBy string 作为查询结果数组的索引 join string 如何加入其他的表 limit integer 要返回最多记录数 offset integer 要返回从0开始的偏移量...orderBy string 如何对结果进行排序 paranms array 以参数占位符为索引的查询参数列表 select mixed 被选中的列 with mixed 相关联的查询标准 列举一段代码来说明...例如,['and', 'type=1',['or','id=1','id=2']]将会生成type=1 AND (id=1 OR id=2) between: 第一个操作数为字段名称,第二格和第三个操作数代表的是这个字段的取值范围

    2.9K10

    Spring Cloud 2.x系列之如何获取配置中心的配置

    如何获取配置中心的配置 在Spring Cloud 2.x系列之配置中心这一篇博文里学习了如何git获取配置文件。大概的流程可以用下图来概括。...Spring Cloud 2.x系列之配置中心这篇博文说的是ConfigServer,本篇将和大家看看如何编写一个ConfigClient从Config Server获取配置。...2、 创建maven项目sc-config-client,对应的pom.xml如下 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:...然后验证一下config sever是否启动成功 方式一:访问注册中心,可以看到configsever已经注册到注册中心了 方式二:访问配置文件对应的路径看看是否可以获取配置文件,如果能获取到说明启动成功...的值为prd时访问 http://127.0.0.1:8200/config/getValue 可以看到spring.cloud.config.profile配置不一样时,分配获取到git仓库的application-dev.yml

    78720

    如何获取完整的GWAS summary数据(2)------ MRCIEU GWAS数据库

    在上一期的内容中,我和大家简单介绍了如何从GWAS catalog数据库中获取完整的GWAS summary数据,不知道大家有没有掌握?...今天,我将和大家分享另一个可以下载完整GWAS summary数据的网站(https://gwas.mrcieu.ac.uk/),一看到网址里的“mrcieu”大家是不是想到这个网站肯定和“TwoSampleMR...其实这个网站就是“TwoSampleMR”包所依赖的数据库,将它和“TwoSampleMR”包结合使用可以达到事半功倍的效果。...假设我们现在想寻找BMI(body mass index)的GWAS数据,可以在搜索栏里输入“body mass index”然后回车(如下图所示): 返回的结果如下图所示,这里我们需要关注标红的“GWAS...VCF文件的,那说明它的完整GWAS summary数据不是公开的或者需要到别处去找(大概率是非公开的)。

    5.8K20

    聊聊Yii2和ThinkPHP5的文件缓存

    Yii2和ThinkPHP5缓存操作提供的公共方法对比 Yii2缓存提供的方法 get 获取缓存 set 设置缓存数据 exists 判断缓存是否存在 mset multiSet 方法别名,批量设置缓存...mget multiGet 方法别名,批量获取缓存 add 添加缓存返回true,存在则不做操作 madd 批量添加多个,返回成功插入数组 delete 删除缓存 flush 清空缓存所有数据...如果要实现原子操作的自增自减,两个框架都需要开发者自己去实现。 Yii2缓存过期方式通过修改文件的更改时间记录过期时间。...ThinkPHP5 则是在缓存文件中插入过期时间数据,根据文件最后修改时间以及过期时间确定缓存是否过期。 Yii2缓存有gc机制,在每次写入缓存的时候会以一定的概率删除过期缓存文件。...ThinkPHP5 则是在读取缓存的时候,如果缓存过期则删除。如果缓存保存的是多层级的文件夹,Yii2会删除缓存文件夹,但是ThinkPHP5 不会删除。

    1.8K20

    Yii数据库操作方法指南

    ,因此要获取结果集的记录可以这样: $dataReader=$command->query(); // CDbDataReader::read()可以一次获取一行数据,到末尾时返回false while...=$dataReader->readAll(); queryXXX() 形式的方法会直接返回匹配的记录集合,当query()不是,他返回一个代表结果集的对象 // YII中的CDbTransaction...// 因此,读取一行记录,列值将自动填充到对应的PHP对象中 // 比如这样: $connection = Yii::app()->db; $sql = "SELECT username, email...// 当然,如果你确定执行的结果集中只有一行,可以添加->queryRow();来直接获取。...// 如果关系查询执行后没有匹配的结果,返回将会是NULL或空的数组。 2).eager loading approach   热心的关系查询 //这名字真的很萌!

    2.5K70

    Yii2之数据库迁移(Migrate)

    因为一个数据库结构发生改变的时候源代码也经常会需要做出改变,Yii 提供了一个 数据库迁移 功能,该功能可以记录数据库的变化, 以便使数据库和源代码一起受版本控制。...如下是所有这些数据库访问方法的列表: yii\db\Migration::execute(): 执行一条 SQL 语句 yii\db\Migration::insert(): 插入单行数据 yii\db...\Migration::batchInsert(): 插入多行数据 yii\db\Migration::update(): 更新数据 yii\db\Migration::delete(): 删除数据 yii...数据库中会出现一个叫做migration的表,用来记录迁移记录,如图: ? 选中的就是当前迁移操作生成的记录。 会生成一个数据表test_table并且插入一条数据。 ?...\yii migrate/redo ##重做最近一次提交的迁移 .\yii migrate/redo 3 ##重做最近三次提交的迁移 列出迁移 可以通过指令列出提交或者未提交的迁移: .

    2.2K41
    领券