Submitted by gouki on 2010, May 5, 1:54 PM
Yii的用户登录,如果不算上权限的话,恐怕真的是很简单的登录。
简单的判断,简单的处理一下就完事了。
但我今天还真的被简单的折腾了一下。
User登录,需要写几个地方
1、components目录下的UserIdentity.php中,需要加一个判断用户的方法,返回errorCode,当然没有错的话就返回0,这是常用ERROR_NONE
2、model目录下的loginForm,里面有简单的判断处理,如果登录成功,调用CWebUser中的login方法。起初的时候,我一直没找到Yii::app()->user是哪个类。。
3、由于Yii::app()->user->login方法的特殊性,因此,必须要在UserIdentity.php中设定好getId,getName,和states变量。当然最简单的就是判断是否取到用户数据,如果取到的话,直接$this->setPersistentStates($usermodel->getAttributes());如果没有id,name的变量,那么即使你登录了,还是会显示没有登录的。我就是在这里被折腾了好久。
over。。。
Tags: yii, 重构
PHP Framework | 评论:2
| 阅读:22976
Submitted by gouki on 2010, May 5, 10:54 AM
Yii是在iorange的推荐下使用的,这两天我才刚刚在使用。做点笔记而己,没有其他
1、就象我在neatcn.com写的,创建项目非常简单,yii.bat这个命令就可以完成了。详细就在http://www.neatcn.com/show-57-1.shtml
2、项目目录中components中的文件,会在autoload中被引用,也只有这一个目录下的会被autoload,其他的都是有固定规范的。(不知道有没有理解错)
3、model目录下居然是tablemodel和form两种的集合,有点乱(官方的例子是这样的),不过想着form的validation也是用tablemodel来完成的,又能够理解这种做法,普通的tablemodel类继承cActiveRecord。
4、Controllers目录下是控制类,默认是SiteController,和其他框架默认是indexController有点不一样。继承自CController类。controller类中有一个layout的变量,可以设定layout。一般可以手工指定,如果同一个类里有不同的layout,估计还是要写个方法才行
5、Model的activeRecord返回的是对象,而不是象其他框架默认返回数组,因此取集合时要用getAttributes方法,当然,如果是只有一条数据,也可以直接$model->fieldname这样的方式来获取值 。
才学了这么一点,慢慢来吧。。重构路是漫长的。
Tags: yii, 重构
PHP Framework | 评论:0
| 阅读:19632
Submitted by gouki on 2010, April 29, 10:55 PM
一直在犹豫,是否要重构sablog,还是说仅仅把前台的模版系统重构一下就完事。
曾经想过是采用thinkPHP或者fleaPHP(用不惯Qee),但后来有各种各样的原因,导致就没有重构。
现在,文章数据也多了,有2年的数据了,也因此想要增加一点新功能,所以就在想着是否要重构一下。否则新功能加起来就很繁琐。
同时还要考虑一下模版,因为现在的模版太挫了,很多广告位都无法设定好,不是在顶部就是在侧部,根本没有人想点,如果在中间,或许点击的次数会多一点?
当然,我需要考虑的是缓存,一直以来sablog都是用的自带的文件缓存,虽然文件数量不大,但总也占着资源,为什么不把APC开启并使用呢?呵呵。。。
可是我还要考虑的是我原先博客里的代码高亮,虽然有想过要换到synaxhilight上面,但原来的数据怎么办?我总不可能一个个的改吧?
再然后就是,如果是换系统,那又得考虑数据迁移了,现在这样的后台,我还能够接受。一旦换系统,后台我还不一定能够熟悉呢。
最后,同一文章存放多个分类。。。【被朋友说话打断了,郁闷】
反正,就是一想法。
Tags: yii, sablog, 前端, 重构
PHP | 评论:5
| 阅读:24516
Submitted by gouki on 2009, July 5, 9:12 AM
最近想看看yii,也想看看他的demo,就去了demo网站:http://www.yiiframework.com/demos/,挺有意思。
创意?不知道
下载一个vm虚拟机,直接在vm里面跑起来。挺不错
我试了一下,下载下来19M,解开后,稍有点大70多M,直接放到vm server里就可以运行了。
根据官方所说,它支持:
The following components are installed on this appliance:
- PHP 5.2.3 (in fast-cgi mode)
- Lighttpd 1.4.7 (mod_rewrite and fast-cgi enable)
- Yii 1.0.6 (including demos)
- PostgreSQL 8.2.4
- phpPgAdmin 4.1.3
- Linux kernel 2.6.17.7
居然不是mysql,看来mysql太大了,而且太适合cgi之类的进程?(windows下的精简版用过,好象也不是特别大。还是说yii对postgreSql有特别的优待?)
再试了一下,居然也支持ssh连接。
但是缺点
1、无法切换到root
2、无法关机???halt不行,shutdown说没有这个命令
3、wget??不能下载?本来想装个samba看看的。。看来只能算了。只能当成普通的虚拟机玩玩吧。
最后再说一点,可以考虑象这样的打包方式进行演示。代码加密,环境配置好,windows下面用小型整合包,linux下面用这样的虚拟机,两份同时给客户展示。。
或许会有更多不同的用户体验?
也是猜猜而已。。。
Tags: yii, linux, vmserver, applications
PHP Framework | 评论:3
| 阅读:29355