Controller_Abstract的改造

Controller_Abstract 是所有Controller的父类,改造它可以节省很多时间。

比如execute方法,execute是每个action执行时都在执行的方法。

function execute($action_name, array $args = array())
    {
        //如果action为login,imgcode,不判断登陆用户信息。省得在每个action中进行判断
        if (!in_array($this->_context->action_name, array("login", "imgcode"))){
            if (is_null($this->_app->currentUser())){
                return $this->_redirect(url(‘admin/login‘));
            }
        }
}

  

时间: 2024-08-05 19:31:52

Controller_Abstract的改造的相关文章

微信小程序豆瓣电影项目的改造过程经验分享

在学习微信小程序开发过程中,一部分的难点是前端逻辑的处理,也就是对前端JS的代码编辑:一部分的难点是前端界面的设计展示:本篇随笔基于一个豆瓣电影接口的小程序开源项目进行重新调整,把其中遇到的相关难点和改进的地方进行讨论介绍,希望给大家提供一个参考的思路,本篇随笔是基于前人小程序的项目基础上进行的改进,因此在开篇之前首先对原作者的辛劳致敬及感谢. 1.豆瓣电影接口的小程序项目情况 豆瓣电影接口提供了很多相关的接口给我们使用,豆瓣电影接口的API地址如下所示:https://developers.d

Delphi的WebBrowser改造,对网页中Alter等对话框的改造方法(通过COM来改造)

刚有一段时间没做博客了,今天刚好有人问了这个问题,而自己以前也弄过,于是这里有了一篇新的博文. 关于改造WebBrowser控件的一些技巧,大家可以参考MSDN或者蒋晟写的一个东西,里面有讲的很详细的,今天我就说一下这个alter对话框的修改和过滤的方法: 很简单,只要咱们继承IDocHostShowUI这个接口,实现里面的ShowMessage方法就行了. 废话不多说,代码在这里: DelphiCode: unit Unit2; interface uses Windows, Messages

改造 Ace Admin 模板的 ace_tree 组件的 folderSelect 样式

*注:我用的Ace Admin版本为1.3.4 Ace Admin 是一个轻量,功能丰富,HTML5.响应式.支持手机及平板电脑上浏览的优秀管理后台模板. 关于tree的使用,html文件夹下treeview.html给了静态数据的例子,examples下treeview.html给了动态PHP语言的例子. 但是exmaple下的那个treeview,当参数“folderSelect=true”时:如图: 当点开 后,如图: 都不能再收起来,而我想改造成 folder点击选择,也象item样式一

《开源框架那点事儿25》:对框架模板引擎实现方式的改造实录

点滴悟透设计思想,Tiny模板引擎优化实录! 增加框架设计兴趣小组:http://bbs.tinygroup.org/group-113-1.html Tiny模板引擎的实现方式原来是採用的编译方式,近期发生了一些问题.因此我认为有必要把编译方式调整为解释方式,为此就開始了此次实现活动. 编译方式存在的问题 当时採用编译方式.主要是考虑到编译方式在执行时不必再去遍历语法树.因此就採用了编译方式. 可是在实际应用其中,出现了例如以下问题: 文件路径冲突的问题 因为採用的是编译方式,这个时候就存在在

简单直接的CUDA改造

把前一篇中的MNIST数据识别程序进行了简单的CUDA改造,得到的结果很差,一个epoch从大约5秒变成了50秒. 也可以理解,我把每个操作(比如mul, add)单独拎出来实现,结果由于不知道自己的上下文,就不要不断的 __syncthreads. 不过还是有一些收获,第一次写CUDA程序,最终还是基本保证了程序的正确性. // 修正: 5秒和50秒的对比有错,因为两个网络的结构不一样,把之前的网络改成和CUDA程序一样的网络之后,时间变成了 30 vs 50,CUDA还是慢一些. 1 #in

Js中找任意对象的原型方法及改造原型

Java中有运行时类型识别,js可以很方便的模仿这个特性,因为所有js对象都有一个属性constructor(构造器),表示这个对象的构造方法,原型与构造方法同名,所以可以通过这儿知道任意对象的原型名称.具体可以看代码(这里简单的封装了): function runToChain(obj){ var chainName=obj.constructor.name; return chainName; } 知道对象原型后,可以通过原型的prototype属性为原型添加可改造属性和方法,改造原型.

Windows Azure Web Site (15) 基于Azure Web App的企业官网改造

<Windows Azure Platform 系列文章目录> 1.用户场景: C公司是全球大型跨国连锁餐厅,在世界上大约拥有3万间分店.其IT系统主要部署其海外数据中心,或者租用其他IDC托管机房.因为国内外网访问Internet的连通性问题,或者是由于IDC托管机房的互联网带宽不够.在国内的消费者访问其官方网站的速度非常不理想. 客户急需一个稳定且快速的平台,能够保证消费者快速访问其官方网站,获得该公司的最新资讯. 2.架构设计 C公司官网技术平台采用流行的开源技术.Web服务器采用是Li

ASPCMS改造中

10月中旬的时候,芹芹大神给我接了个做网站的活,一番商量过后,我以低得说出来丢人TT的价格接了.主要是想借此摸清网站制作的一条龙服务. 目前根据ASPCMS开源管理系统,做了个大致的构架,下面上草图: 接下来会对在改造过程中所遇到的问题进行记录总结.

Java并发框架——AQS阻塞队列管理(三)——CLH锁改造

在CLH锁核心思想的影响下,Java并发包的基础框架AQS以CLH锁作为基础而设计,其中主要是考虑到CLH锁更容易实现取消与超时功能.比起原来的CLH锁已经做了很大的改造,主要从两方面进行了改造:节点的结构与节点等待机制.在结构上引入了头结点和尾节点,他们分别指向队列的头和尾,尝试获取锁.入队列.释放锁等实现都与头尾节点相关,并且每个节点都引入前驱节点和后后续节点的引用:在等待机制上由原来的自旋改成阻塞唤醒.如图2-5-9-4,通过前驱后续节点的引用一节节连接起来形成一个链表队列,对于头尾节点的