- 浏览: 406499 次
- 性别:
- 来自: 上海
-
最新评论
-
goahead2010:
有用
JS遍历对象或者数组 -
bishibaodian:
不要在这样找笔试题了,一次就这么几个,还没过瘾就没有了,去安装 ...
整理了一份招PHP高级工程师的面试题 -
smallearth:
不错
整理了一份招PHP高级工程师的面试题 -
ipodao:
暂时没发现啊!
IE域名带有下划线导致的session丢失 -
ipodao:
谢了
JS遍历对象或者数组
文章列表
一个contoller里怎么调用另一个controller里的action,Acontoller调用SiteContoller的actionShow($id),
Java代码
$control=Yii::app()->runController('site/show/id/2');
不带参数的actionShow()
'defaultOrder'=>array('title' => false), false是升序,true是倒叙
1.自定义分页
使用CPagination呈现相关信息到页码. 当数据需要渲染到多页时,我们可能使用去呈现信息,诸如itemCount, pageSize, currentPage,等等. 这些信息被传递到pagers
Java代码
YII中的session和cookie
- 博客分类:
- Yii
一,在Yii中使用session 与原生态php5的session使用差别是,php5使用session_start();$_session['key'] = $value; 在yii中,session已经被封装。不需要start,但需要new一个session对象。
Java代码
/***** 方式一、实例添加 *****/
YII Behavior重用
- 博客分类:
- Yii
转载自:http://hudeyong926.iteye.com/blog/1483828
用behavior的好处是可以通过“插入”的方式来获得新的功能。你当然可以直接把代码写在model里。不过如果类似的代码需要在若干个model里实现,那么behavior就可以让你重用这段代码 。
yii框架已经提供了一个CTimestampBehavior 行为类,只要设置好createAttribute和updateAttribute两个属性,,它分别对应你数据库表的创建时间和更新时间字段。像创建一篇文章时我们通常都会需要记录创建时间,更新时记录它的更新时间,详细使用,在你的Model ...
一、多表关联的配置
在我们使用 AR 执行关联查询之前,我们需要让 AR 知道一个 AR 类是怎样关联到另一个的。
两个 AR 类之间的关系直接通过 AR 类所代表的数据表之间的关系相关联。
从数据库的角度来说,表 A 和 B 之间有三种关系:一对多(one-to-many,例如 tbl_user 和 tbl_post),一对一( one-to-one 例如
tbl_user 和 tbl_profile)和 多对多(many-to-many 例如 tbl_category 和 tbl_post)。
在 AR 中,有四种关系:
BELONGS_TO(属于): 如果表 A ...
YII自带的模型验证
- 博客分类:
- Yii
// CValidator.php
public static $builtInValidators=array(
'required'=>'CRequiredValidator', // 验证属性值必需有值,不能为空
'filter'=>'CFilterValidator', // 用过滤器转换属性的值
'match'=>'CRegularExpressionValidator', // 验证属性值匹配一个正则表达式
'email'=>'CEmailValidat ...
CDbCriteria 常用方法
- 博客分类:
- Yii
/**
* 传递变量
*/
$criteria->addCondition("id = :id");
$criteria->params[':id']=1;
/**
* 一些public vars
*/
$criteria->select = 'id,parentid,name'; //代表了要查询的字段,默认select='*';
$criteria->join = 'xxx'; //连接表
$criteria- ...
YII中的Asset
- 博客分类:
- Yii
简而言之,yii中protect目录下面的内容都是受保护的,但是如果你有使用module的话,一些必须要被访问的例如css,js文件都是要可以访问的,于是,yii就会在webroot下面的assets文件夹下面生成随即数字的文件来存放不同module下面的文件,举例如下:
我有一个后台管理模块admin
首先要在AdminModule.php中设置你的asset资源位置,假如我admin模块下面的资源文件放置在/protected/modules/admin/assets
private $_assetsUrl;
public function ge ...
在你的wwwroot下面放置.htaccess文件,可以做访问规则控制
内容示例如下:
.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .* good.html
</IfModule>
good.html
<h1>Good!</h1>
效果:
无论访问wwwroot下面的什么地址,都是显示的good.html的内容
客户端有一个HTML文件,是用来提交输入信息的.但问题是: 每次按刷新时,我发觉并不是整个页面重新被装载.好似是缓存里的.因为文本框中 仍出现上次输入的值. 只有在地址栏中按回车整个页面才重新装载. 应当怎样避免这个问题? 在html里head区加上这么一段代码: <meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="content-type" content="no-cache, must-revalid ...
JS操作cookie
- 博客分类:
- Web
var Cookie=new Object();
Cookie.setCookie=function(name, value, option){
var str=name+'='+escape(value);
if(option){
if(option.expireHours){
var d=new Date();
d.setTime(d.getTime()+option.expireHours*3600*1000);
str+='; expires='+d. ...
自带的不带管理功能,直接用的是srbac
1.下载extension
http://www.yiiframework.com/extension/srbac/
2.解压到module目录下
3.编辑main.config如下:
a.modules
'modules'=>array(
// uncomment the following to enable the Gii tool
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>' ...
在一个web应用中,可能有多个地方需要进行验证。比如“注册"时username、email、password这三项必须要填写,但是在“找回密码”时,可能只有email需要。所以,在Yii框架中,如果将这三项都设置为"required"那肯定是不可取的。
最好的解决办法莫过于建立不同的验证场景,通过"on"将一个场景与相应的规则相关联。来看一个User Model中rules()的例子:
public function rules() {
return array(
//Set required ...
在Yii为Model生成的Controller中,有一个accessRules()方法,用来限制谁可以做什么。这是涉及一个web应用的安全性的重要部分。比如有些删除和更新操作只能由管理员来完成,普通用户没有操作的权限等等,这些都需要通过accessRules()来设置。
这是Yii默认生成的代码:
public function accessRules()
{
return array(
array('allow', // allow all users to perform 'list' and 'show' actions
...
YII中创建自己的widget
- 博客分类:
- Yii
1.构建自己的widget testWidget.php
在目录 /protected/widget/test/testWidget.php
<?php
class testWidget extends CWidget{
public function init()
{
//当视图中执行$this->beginWidget()时候会执行这个方法
//可以在这里进行查询数据操作
}
public funct ...