yii提供了完善的角色权限控制,但是那个东西比较庞大,我就希望三级权限即可,游客可以看前台,普通用户和管理员可以登录前台并管理内容,后台只有管理员可登录。并且没有太多的权限需要细分,可以后台可以使用全局的一个权限控制,直接判断是否是管理员即可。
用yii的同学都知道,yiic自动生成的项目中,使用了accessControl这么一个filter,其自动调用Controller的accessRules函数,生成的函数内容数组中,有一个很明显的就是其有roles属性。
我就想,我是否能直接写一个accessRules函数,然后直接只有roles=>admin才是allow操作呢?可是roles又是如何判断的呢?带着问题一路查看源码,在CAccessRule里面有这么一大段。大致是对每条rule会先调用isUserAllowed,这里面又会调用isUserMatched和isRoleMatched,分别对user和role进行检查。
阅读全部内容…
Tags: php, yii
yhustc On
Web开发
@ 2011-06-27 15:06:58 |
没有评论
Yaf是Yet another Framework的意思,知名博客风雪之隅的作品。通过PHP扩展机制,实现了URL路由、业务逻辑与视图分离等功能。预计下一版加入ORM。
性能也是非常的不错,作者做了一个测试。倒不是跟其他的PHP框架对比,而是跟原生PHP的面向对象编程对比,我们看看对比的文件。
原生PHP的代码:
阅读全部内容…
Tags: php
yhustc On
Web开发
@ 2011-05-13 12:35:35 |
1条评论
开始在本地调试没有发现这个问题,新系统上线后发现YII报500错误。说是layout中有个变量没有设置,可是我明明在render函数里面设置了这个变量。后来查看代码才知道,原来layout中要用变量需要用this指针的pull形式。具体怎么回事看代码就很明了了。输出的layout仅仅是把局部模板作为content值传入外部模板。并没有做render推送的变量的合并。
阅读全部内容…
Tags: php, yii
yhustc On
Web开发
@ 2011-05-08 14:05:46 |
没有评论
做个备份,慢慢更新
1、他的验证码类不好用。配合CActiveForm的话,每次验证都会被自动更换session里面的验证码,导致每次验证都是错误的。除非你把testLimit设置的不等于1,让同一验证码能持续访问几次后再更新session值。但是这个就不能防灌水机了,因为可以配合人肉识别验证码。所以我自己实现了一个widget。
2、如何结合使用event和behavior,在guide手册上面没有说。测试了一下,首先为类绑定行为,然后添加事件时是关联的行为函数,在进行event触发的时候无法通过CComponent.php 567行“else if(method_exists($object,$method))”。因为能调用行为的相关方法,是因为有魔术方法,但是method_exists检查是无法通过的。也就是除非你用CActiveRecordBehavior实现相关model操作的event处理,普通情况下event没法与behavior结合使用。
阅读全部内容…
Tags: php, yii
yhustc On
Web开发
@ 2011-05-07 17:36:56 |
2条评论
昨天有个网友问我thinkphp中的自动验证问题,给他解答了一下,他说按照我的方法不管用。我问他验证函数写在Common.php还是写在Model类中,他说写在Model类中。我就纳闷了,Model对数据进行验证,使用自己的成员函数作为验证函数是理所当然的啊,当然,Common.php中的函数作用域是全局的,放在这里当然也是可以的,为什么放在Model中却不行呢?
把源代码找出来看,恍然大悟
阅读全部内容…
Tags: php
yhustc On
Web开发
@ 2008-07-09 10:40:46 |
没有评论
今天在群里遇到一个人,说到web方面的server push的功能。当时无法理解,搜了搜资料。贴过来给大家看看。原贴里面图片连接失效了,我搜了一个,不知道是不是这个图。
Comet is a programming technique that enables web servers to send data to the client without having any need for the client to request it. This technique will produce more responsive applications than classic AJAX. In classic AJAX applications, web browser (client) cannot be notified in real time that the server data model has changed. The user must create a request (for example by clicking on a link) or a periodic AJAX request must happen in order to get new data fro the server.
阅读全部内容…
Tags: php
yhustc On
Web开发
@ 2008-04-08 18:32:00 |
没有评论
传英文数据很easy,中文的话,用AJAX的POST方式。我自己试过是没有问题,结果有一天一个网友跟我说POST过去还是乱码。我觉得应该就是前后的字符集没有对上号的问题吧。
后来建议他改用GET传递的,但是中文数据要escape一下。PHP在unescape。
PHP的unescape两个实现贴一下。
阅读全部内容…
Tags: javascript, php
yhustc On
Web开发
@ 2007-12-02 16:03:00 |
没有评论
1。PHP header() 函数
网上很多资料这样写:php的函数header()可以向浏览器发送Status标头,如 header(”Status: 404 Not Found”)。
但是我发现实际上浏览器返回的响应却是:
HTTP/1.x 200 OK
Date: Thu, 03 Aug 2006 07:49:11 GMT
Server: Apache/2.0.55 (Win32) PHP/5.0.5
X-Powered-By: PHP/5.0.5
Status: 404 Not Found
Content-Length: 0
Keep-Alive: timeout=15, max=98
Connection: Keep-Alive
Content-Type: text/html
查了一些资料,正确的写法是:
header(”http/1.1 404 Not Found”);
阅读全部内容…
Tags: php
yhustc On
Web开发
@ 2006-09-20 09:28:00 |
没有评论
转注:此为处理SOAP/Web services接口时的常见错误,特转载留存。
转自:[url]http://sushener.spaces.msn.com/Blog/cns!BB54050A5CFAFCDD!600.entry[/url]
正常调用Web Service,结果发现返回数据(UTF-8编码)有乱码,调试发现echo '<h2>Response</h2><pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';为正常,没有乱码,但是$result = $client->call($action, array('parameters' => $param));后$result就是乱码,解决方式如下:
$client->soap_defencoding = 'UTF-8';
$client->decode_utf8 = false;
/********************************************************
好像直接修改nusoap源文件中这两处代码没有作用啊,昨天直接改源码,还是一串????
********************************************************/
Tags: php
yhustc On
Web开发
@ 2006-09-20 09:27:00 |
没有评论
问题:
如果你在网上搜索 “apache配置”,搜到的页面大多都会建议你在httpd.conf中加上这么一句:AddDefaultCharset GB2312。对于新手而且是只用GB2312编码的开发人来说,这么做是ok的。
但是如果要想使用UTF-8字符集的话,比如 在test.php文件中需要有
meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ 这段代码。这时你再打开浏览器访问test.php页面的话,你看到的是正确的页面。但是如果实际上浏览器还是以GB2312编码解释从服务器返回的response,为什么呢?原因是浏览器是根据http应答消息头部中的 Content-type: text/html; charset=GB2312 来决定使用何种编码解释应答,也就是说apache服务器仍然用GB2312编码传递数据。
阅读全部内容…
Tags: php
yhustc On
Web开发
@ 2006-09-18 16:12:00 |
没有评论
最新评论