array CModule::_components 所有组件对象(CComponent的子类)将作为键值存在该数组中, 键名是定义该组件时使用的键名.例如: protected function registerCoreComponents()    {        $components=array(            'coreMessages'=>array(                'class'=>'CPhpMessageSource',                …
Yii中的错误及异常处理 Yii已经默认已经在CApplication上实现了异常和错误的接管,这是通过php的set_exception_handler, set_error_handler实现的.通过这两个PHP内置函数,可以对程序中未捕获的异常以及错误进行接管处理,从而提高程序的可维护性.这在大型系统是至关重要的,当发生错误时,我们希望能将相关详细信息记录,甚至是即时发送报警,从而缩短故障修复时间,提高整个系统的稳定性. 默认情况下,Yii会将异常处理分配给CApplication::ha…
在yii中 我们需要引入css 和 js 的时候,yii 自身有需要的类. 当我在views 视图层中引入css 和 js , <?php Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl .'/css/articleIndex.css');?> <?php Yii::app()->clientScript->registerScriptFile(Yii::app()->base…
yii中使用分页很方便,如下两种方法: 在控制器中: 1. $criteria = new CDbCriteria(); //new cdbcriteria数据库$criteria->id = 'id ASC'; //排序规则 $count = Exchange::model()->count($criteria); $pager = new CPagination($count); $pager->pageSize=30; $pager->applyLimit($criteria…
最近项目需要将利用gearman进行任务调度,目前所用框架为yii,在部署好gearman后,试图在yii中调用gearman,一直报错: 提示reverse函数没有定义,明明已经定义了啊!可能是当时脑子晕了,各种改,各种错.今天一看,将函数的private属性去掉,便可以正常运行了,只能说...…
yii中存在一些路径别名:ext:表示包含了所有第三方扩展的目录  参考:http://www.yiiframework.com/doc/guide/1.1/zh_cn/basics.namespace yiic中第三方扩展使用http://www.yiiframework.com/extensions/?page=11…
Yii AR 单行数据-自动缓存机制 | LOCKPHP Yii AR 单行数据-自动LOG机制 CActiveRecordBehavior进阶 | LOCKPHP 缓存 - 权威指南 - Yii Framework 中文社区 CRedisCache | Class Reference | Yii PHP Framework CMemCache - 类参考手册 - Yii Framework 中文社区 yii中缓存(cache)详解 - 一束光的日志 - 网易博客 Using Memcached…
yii中的自定义组件(组件就是一些自定义的公用类) 1.在项目目录中的protected/components/Xxxx.php 2.在Xxxx.php中定义一个类,类名必须与文件名相同 3.控制器中使用时,只需实例化该类既可,无需导包或包含文件,因为main.php配置文件中己经导入了这些文件 'import'=>array( 'application.models.*', 'application.components.*', ), 例如: protected/components/Page…
英文原文:http://www.yiiframework.com/wiki/394/javascript-and-ajax-with-yii /*** http://www.yiiframework.com/wiki/394/javascript-and-ajax-with-yii Javascript and AJAX with Yii translated by php工程师 http://blog.csdn.net/phpgcs 1. Official JS wrappers 1.1 Fo…
方法一: <?php Yii::app()->user->setFlash(‘success’,”Data saved!”); 设置键值名为success的临时信息.在getFlash后删除. 可以定义多种不同的键值名对象的消息. ?> <?php if(Yii::app()->user->hasFlash(‘success’)):?> 消息存在里, <div> <?php echo Yii::app()->user->getF…
开端筹办 Yii供给了强大的设备机制和很多现成的类库.在Yii中应用RBAC是很简单的,完全不须要再写RBAC代码.所以筹办工作就是,打开编辑器,跟我来. 设置参数.建树数据库 在设备数组中,增长以下内容: 'components' => array( //…… 'authManager'=>array( 'class'=>'CDbAuthManager',//认证类名称 'defaultRoles'=>array('guest'),//默认角色 'itemTable' =>…
在yii中定义全局变量最好的地方是入口脚本处.也就是web目录中的index.php文件 比如我们在defined('YII_ENV') or define('YII_ENV', 'dev');后写上 defined('ZYL_HEHE') or define('ZYL_HEHE','zhyoulun-hehe'); 并在我们教程(1)中建立的views/zhyoulun/helloworld.php文件里写上 <?php echo 'hello world!'; //全局变量 echo con…
缓存是用于提升网站性能的一种即简单又有效的途径.通过存储相对静态的数据至缓存以备所需,我们可以省去生成这些数据的时间.在 Yii 中使用缓存主要包括配置和访问缓存组件 . 内部方法 一.缓存配置: 1.单一缓存组件配置: Yii缓存可以在不同的级别使用.在最低级别,可用来缓存单个数据(数据缓存).往上一级,我们缓存一个由视图脚本生成的页面片断(片段缓存).在最高级别,可存储整个页面以便需要的时候直接从缓存读取.本文说明页面缓存的配置及实现效果: 实现分为2步: 1. 在config文件加入缓存组…
yii中可以很方便的使用memcache 一.配置在main.php的components中加入cache配置 array( 'components'=>array( 'cache'=>array( 'class'=>'CMemCache', 'servers'=>array( array( 'host'=>'server1', 'port'=>11211, 'weight'=>60, ), array( 'host'=>'server2', 'port'=…
开始准备 Yii提供了强大的配置机制和很多现成的类库.在Yii中使用RBAC是很简单的,完全不需要再写RBAC代码.所以准备工作就是,打开编辑器,跟我来.设置参数.建立数据库 在配置数组中,增加以下内容:‘components‘ => array(    //……    ‘authManager‘=>array(            ‘class‘=>‘CDbAuthManager‘,//认证类名称            ‘defaultRoles‘=>array(‘guest‘…
本人小菜鸟一仅仅,为了自我学习和交流PHP(jquery,linux,lamp,shell,javascript,server)等一系列的知识,小菜鸟创建了一个群. 希望光临本博客的人能够进来交流. 寻求共同发展.搭建平台. 本人博客也有很多的技术文档,希望能够为你提供一些帮助.仅仅为交流技术. QQ群:   191848169               QQ:450225664 写在前面 下面内容适合Yii 1.0.x,其它版本号可能有稍微的区别. 依据您的评论和反馈,本文会不断进行改动和补…
缓存是用于提升网站性能的一种即简单又有效的途径.通过存储相对静态的数据至缓存以备所需,我们可以省去生成 这些数据的时间.在 Yii 中使用缓存主要包括配置和访问缓存组件 . 内部方法 一.缓存配置: 1.单一缓存组件配置: Yii缓存可以在不同的级别使用.在最低级别,可用来缓存单个数据(数据缓存).往上一级,我们缓存一个由视图脚本生成的页面片断(片段缓存).在最高级别,可存储整个页面以便需要的时候直接从缓存读取.本文说明页面缓存的配置及实现效果: 实现分为2步: 1. 在config文件加入缓存…
在Yii中经常要生成URL,不管是为了自动跳转还是仅仅是一个链接.下面对Yii中的URL生成做了一个总结.提示:以下controllerX代表控制器X,actionX代表方法X.在Controller::action中,我们要输出一个链接,可以这样做: $this->createUrl(‘actionName’, array(‘params01′=>’value01′, ‘params02′=>’value02′) ); //Controller::createUrl($route,$p…
如果在Yii中,使用AR查询,不直接写sql,则在使用的时候会报错 Student::find() ->select("id,name,from_unixtime(create_time,"%Y-%m-%d") create_time") ->asArray() ->all(); 这样写会报错,因为AR中,会在查询时,以逗号为分割,默认给每一个元素加上"上引号",如果使用函数,会给整体再加上"上引号",出现转…
cookies: //新创建的cookie会从本地传到服务器上,然后从服务器获取. (1) cookie的发送 $cookies = Yii::$app->response->cookies; // 在要发送的响应中添加一个新的cookie eg:往cookies中添加用户名和密码 $cookies->add(new Cookie(['name'=>'username', 'value'=>$username,])); $cookies->add(new Cookie(…
背景: 对于一个大公司拥有多个分公司的应用场景下,我们通常需要配置多个sub-database(子数据库)来存储不同的数据纪录. 配置步骤: 1.在application骨架里面的主配置文件main.php的索引为components中新增一个'db2'=>array(//todo the code stub.); 例如: // application components 'components'=>array( 'db'=>array( 'connectionString' =>…
控制器初始化中添加事件处理方法,在需要触发的地方直接触发 public function init() { parent::init(); // TODO: Change the autogenerated stub Yii::$app->on('yii2event',function($event){ $args=$event->sender; echo $args['name']; echo "<br/>"; Yii::$app->off('yii2e…
在wamp环境下,运行一个Php yii的项目 出现问题: Use of undefined constant PRC - assumed 'PRC' 检测我的环境 PHP5.3 检测Php.ini中 date.timezone=UTC 将其改成 date.timezone=Asia/Shanghai 根据网络资料: PHP5.1.0以后date_default_timezone_set被重写,PRC无效了. 于是在代码中添加 date_default_timezone_set("Asia/Sh…
这里有几个概念很重要,我简单用大白话说一下; 权限:就是指用户是否可以执行哪些操作. 如:小张可以发帖.回帖.浏览,小红只能回帖.浏览 角色:就是上面说的一组操作的集合. 如:高级会员有发帖.回帖.删贴.浏览的权限,普通会员只有回帖.浏览的权限.比如小张是高级会员,那么他就可以执行发帖.回帖.删贴.浏览.而小红是普通会员,所以它就只能回帖.浏览. 另外角色还可以继承,中级会员除了普通会员的回帖.浏览功能外,还可以发帖.也就是说在普通会员的基础上又增加了一个发帖的权限. 在Yii2.0中 yii\…
import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpec; import org.apache.commons.codec.BinaryDecoder; import org.apache.commons.codec.bin…
研究Yii的同步登录大概2个多月,几乎查遍了网上所有资料和案例,但都不是很理想,最后摸索出整理出来以下配置方案. 以下配置文件在config.php中,所有需要同步的站点都需要填写.网上一些站点给出的有的只是一部分,导致我走了很多弯路,经过N次测试后,确定以下方案是完美的. [php] view plaincopyprint? 'components'=>array( 'user'=>array( //'class'=>'CWebUser',//你可以自定义你的Cwebuser 'ide…
Yii  这两个url表示方法容易混淆,区别如下: $this->CreateUrl('控制器/方法',get参数); $this->CreateUrl('方法');              //当前控制器 $this->CreateUrl('控制器/方法');              //从当前控制器跳转到其他的控制器 $this->CreateUrl('控制器/方法',array('id'=>1));      //同上,传get参数,数组形式 $this->C…
1.view中代码如下: <form name="frmBatchSettle" id="" action="" method="post" enctype="multipart/form-data">                     请选择包含批量IP称的EXCEL文件                    <input type="file" name=&q…
最近在研究PHP的Yii框架,很喜欢,碰到导出Excel的问题,研究了一下,就有了下面的方法: 1.首先在config/main.php中添加对PHPExcel的引用,我的方式是这样: // autoloading model and component classes 'import'=>array( /*'application.modules.srbac.controllers.SBaseController',*/ 'application.models.*', 'application…
Disable SHOW CREATE TABLE and SHOW COLUMNS in Yii为啥会显示:SHOW CREATE TABLE and SHOW COLUMNS 答案:This is how ActiveRecord retrieves the schema to power it's attributes. Since AR public properties are fetched from DB each time while using the model, this…