手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆

Yii笔记

首页 > PHP Framework >

本文纯粹是笔记,记下来怕忘了
1、终止当前操作,一般情况下是用exit,但用了Exit后无法看到trace的内容。所以要采用Yii::app()->end();
2、createUrl和createAbsoluteUrl,这两个函数,如果需要宣传自己的网址和内容,还是用createAbsoluteUrl函数吧。里面带了全部路径,而CreateUrl只会显示/home/xxx这样的路径,不利于SEO
3、widget默认的render无法使用theme中的模版,于是写一个类继承自CWidget,然后所有的widget都继承这个类,比如我这样实现了。。

PHP代码
  1. class Widget extends CWidget{  
  2.     private static $_viewPaths;  
  3.     /** 
  4.      * 重写CWidget中的getViewPath 
  5.      */  
  6.     public function getViewPath($checkTheme=false)  
  7.     {  
  8.         $className=get_class($this);  
  9.         if(isset(self::$_viewPaths[$className]))  
  10.             return self::$_viewPaths[$className];  
  11.         else  
  12.         {          
  13.             if($checkTheme && ($theme=Yii::app()->getTheme())!==null){  
  14.                 return self::$_viewPaths[$className] = $theme->getBasePath().DIRECTORY_SEPARATOR."widgets";  //这是我自己的路径
  15.             }  
  16.             $class=new ReflectionClass($className);  
  17.             return self::$_viewPaths[$className]=dirname($class->getFileName()).DIRECTORY_SEPARATOR.'views';              
  18.         }  
  19.     }  
  20. }  

覆写父类方法,使得getViewPath找到我指定的目录,我目录在themes/classic/下建了一个widgets的目录。这样的好处很多。。而且对于CSS和JS等路径都可以和标准视图一致

先写这么多。。。




本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"易栈网-膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

Tags: yii

« 上一篇 | 下一篇 »

只显示10条记录相关文章

php pack()函数详解与示例 (浏览: 63218, 评论: 6)
mongodb删除索引 (浏览: 39953, 评论: 0)
linux 查找目录或文件 (浏览: 36699, 评论: 1)
RabbitVCS 用后感 (浏览: 31636, 评论: 0)
Yiiframework(Yii框架)开发笔记:续四 (浏览: 28191, 评论: 3)
看上去不错:Chrome 扩展 Monster (浏览: 25370, 评论: 2)
redis:Error: read error on connection (浏览: 23987, 评论: 0)
yhustc:Twisted+AC自动机构建高效的过滤服务器 (浏览: 23969, 评论: 2)
项目管理流程图 (浏览: 23212, 评论: 0)
开发笔记记录 (浏览: 21598, 评论: 0)

2条记录访客评论


发表评论

评论内容 (必填):