Yii Widget的使用

小插件解决大问题,做网站,最喜欢使用这种东西,不需要重写代码,直接调用,传递参数,就得到想要的模块,yii也有次功能,看代码:$this->beginWidget('CBootStrapPortlet',array('title'=>'博文分类',//导航标题'htmlOptions'=>array('class'=>'navnav-pillsnav-stacked'),//样式定义'tagName'=>'ul',//'decorationCssClass'=>'active','titleCssClass'=>'','contentCssClass'=>''));$this->widget('CBootStrapMenu',array('items'=>$this->blogType,'htmlOptions'=>array('class'=>''),));$...

object-c 信息传递

Objective-C最大的特色是承自Smalltalk的信息传递模型(messagepassing),与今日主流的C++差异甚大。Objective-C里,与其说对象互相调用方法,不如说对象之间互相传递信息更为精确。此二种风格的差异主要在于程序如何看待调用方法/传送信息这个动作。C++里类型与方法的关系非常严格清楚,一个方法必定属于一个类型,而且在编译时(compiletime)就已经紧密绑定,你不可能去调用一个不存在类型里的方法。但在Objective-C,类型与信息的关系比较松散,调用方法视为对对象发送信息,所有方法都被视为对信息的回应。所有信息处理直到运行时(runtime)才会动态决定,并交由类型自行决定如何处理收到的信...

object-c Hello World实例

这里示范一个基础的HelloWorld程序。#import<Foundation/Foundation.h>intmain(intargc,char*argv[]){NSAutoreleasePool*pool=[[NSAutoreleasePoolalloc]init];NSLog(@"HelloWorld!");[pooldrain];return0;}以上是Xcode的旧版"HelloWorld"程序代码,在4.3.1xcode的代码为:#import<Foundation/Foundation.h>intmain(intargc,char*argv[]){@autoreleasepool{NSLog(@"HelloWorld!");}return0;}

Yii CRUD操作

对于喜欢操作sql语句的人来说和对于sql语句基础不是很好的,能够明白每个CRUD操作是什么意思很重要,简单的介绍个例子,代码如下:classPostextendsCActiveRecord{public$fixtures=array('posts'=>'Post','tags'=>'Tag',);publicfunctionfindPost(){//调用find时,我们使用$condition和$params指定查询条件。//此处$condition可以是SQL语句中的WHERE字符串,$params则是一个参数数组,//其中的值应绑定到$condation中的占位符。$post=$this->posts('post1');$fPost=Post::model()->find('id=:id',array(':id'=>$post->id));//SELECT*FROM`tbl_post``t`WHERE`t`.`id`=1LIMIT1$fPost=Post::model()->find('?',array($post->id));//SEL...

Yii在IIS下的伪静态处理

Yii在IIS下的伪静态处理是,在根目录建立httpd.ini文件,然后使用IIS的伪静态规则,写入自己需要的规则:我购买的虚拟主机在香港,因为windows的主机比较多,于是我也中招了,于是四处寻求方法,四处尝试,终于找到了适合Yii的伪静态规则:代码如下:[ISAPI_Rewrite]#3600=1hourCacheClockRate3600RepeatLimit32RewriteEngineOn#伪静态规则RewriteBase/RewriteCond%{REQUEST_FILENAME}!-fRewriteCond%{REQUEST_FILENAME}!-dRewriteRule^(.*)/(.*)$$1/index.php?$2RewriteRule!\.(js|ico|gif|jpe?g|bmp|png|css)$index.php[L]我在虚拟机上测试通过了,哈哈,希望对你也有用

Yii-Gii的安装和配置

Gii是基于web的Yiiframework代码生成器。开始配置可以在你的应用程序配置文件中增加以下代码以使用该模块:'modules'=>array('gii'=>array('class'=>'system.gii.GiiModule','username'=>'dev','password'=>'yiidev',),),运行打开浏览器,输入http://localhost/yourapp/index.php?r=gii,使用刚才在配置文件中填的username和password登录。

Yii 分页设置

yii自己是带有自动分页功能的。只要在对应的controller里面,类似下面这样鞋代码,就会实现的$dataProvider=newCActiveDataProvider('Blog',array('pagination'=>array('pageSize'=>10),'criteria'=>array('order'=>'create_dateDESC')));但是样式还是yii中已经写好的,那么对于我,我要改掉这个样式,使用我提供的样式,可以像我下面这样写<?php$this->widget('zii.widgets.CListView',array('dataProvider'=>$dataProvider,'itemView'=>'_view','...

Yii CDbCriteria常用方法

Yii的ActiveRecorder包装了很多。特别是把SQL中把where,order,limit,IN/notIN,like等常用短句都包含进CDbCriteria这个类中去,这样整个代码会比较规范,一目了然。$criteria=newCDbCriteria;$criteria->addCondition("id=1");//查询条件,即whereid=1$criteria->addInCondition('id',array(1,2,3,4,5));//代表whereidIN(1,23,,4,5,);$criteria->addNotInCondition('id',array(1,2,3,4,5));//与上面正好相法,是NOTIN$criteria->addCondition('id=1','OR');//这是OR条件,多个条件的时候,该条件是OR而非AND$criteria->addSearchCondition('name','分类');//搜索条件,其实代表了。。wherenamelike‘%分类%’$criteria->addBetweenCondition('id',1,4);//between1and4$criteria->c...

Yii开启错误日志

生产环境中的Web应用常需要具有完善的事件日志功能。在我们的博客应用中,我们想记录它在使用时发生的错误。这些错误可能是程序错误或者是用户对系统的不当使用导致的错误。记录这些错误可以帮助我们完善此博客应用。为启用错误日志功能,我们修改应用配置如下,returnarray('preload'=>array('log'),......'components'=>array('log'=>array('class'=>'CLogRouter','routes'=>array(array('class'=>'CFileLogRoute','levels'=>'error,warning',),&nb...

Yii简单的基于角色的访问控制

publicfunctionfilters(){returnarray('accessControl',//performaccesscontrolforCRUDoperations);}publicfunctionaccessRules(){returnarray(array('allow','action'=>array('admin'),'roles'=>array('staff','devel'),),array('deny',//denyallusers'users'=>array('*'),),);}用户模型在用户表中新增一列,列名roles。建立相应的模型。在这里它将被命名为“User”。当添加用户可以给他们分配角色“管理员”,“用户”,“员工”等等。验证在文件protected/components/UserIdentity.php添加如下内容:classUserIdentityextendsCUserIdentity{private$id;publicfunctionauthenticate(){$record=User::model()->fin...

Yii扩展类可以放在extensions目录下面

下面举个例子:如果我想写个截取字符串长度的函数功能,可以在extensions目录下面见一个文件,命名为Helper.php代码如下:classHelperextendsCController{publicstaticfunctiontruncate_utf8_string($string,$length,$etc='...'){$result='';$string=html_entity_decode(trim(strip_tags($string)),ENT_QUOTES,'UTF-8');$strlen=strlen($string);for($i=0;(($i<$strlen)&&($length>0));$i++){if($number=strpos(str_pad(decbin(ord(substr($string,$i,1))),8,'0',STR_PAD_LEFT),'0')){if($length<1.0){break;}$result.=substr($string,$i,$number);$length-=1.0;$i+=$number-1;}else{$result.=substr($string,$i,1);$le...

Yii中urlManager的配置

第一步:在main.php配置文件的component域中添加urlManager模块,并加入urlrules.$urls=include(dirname(__FILE__).'/urlrules.php');::'urlManager'=>array('urlFormat'=>'path','showScriptName'=>false,//隐藏index.php'urlSuffix'=>'.html',//后缀'rules'=>$urls,),第二步:在同级目录下写urlrules.php.如:returnarray('/index.html'=>'site/index',//首页'search'=>'search/index',);第三步,当然是配置服务器的rewrite模块,使得入口为index.php1)apache下,在网站根目录下建立.htaccess如下:Options+FollowSymLinksIndexIgnore*/*RewriteEngine...