分页: 8/38 第一页 上页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 下页 最后页 [ 显示模式: 摘要 | 列表 ]

[不指定 2007/12/02 19:43 | by edwardproAdmin ]
北京一个孕妇因为丈夫没有签字,孕妇和孩子死了,媒体开始报道了,高谈阔论,什么法 什么人道 什么道义?可笑啊。。。这是一个很简单的事情:钱。

我们来仔细分析一下看看:

当天肖志军只带了100元,医院开出的治疗单要求交纳5000元担保费,作为肖志军不可能不想去救(我宁愿相信这是真的),但现实让他冷静,账户上只有3.3,身上只有100元,5000元对于富人也许只是一顿早餐钱,但对于他和他的妻子还有孩子确实一笔天文数字,面对钱,面对生活,他选择了现实,我个人没有任何对这样事件有太多的指责,因为交上5000元动了手术保全了孩子和妈妈,后面的费用绝不是5000元到底可能是5万 甚至10万,这样的代价是他们不敢面对的,他选择了事实而已,没有责任心没有责任感。同样没有责任感的是医院,医生只能用法用话语来表达,却也没有真正承担责任的勇气,他们放弃了,放弃的同时也放弃了两条生命,对于大自然这两条生命不过是自然淘汰的正常淘汰品,没有任何值得留恋的内容。但对于能够抗衡自然的人类难道不应该反思吗?法 规定 都不过是借口,最后的问题只是钱,没有钱就没有生命没有生的权利,这就是我们的现状,但有些卑劣的媒体却开始高谈阔论转移着话题,可笑啊,可悲啊,可叹!!!

这就是我们在创建的和谐社会,和谐吗?不过是50年前那场大跃进的一个翻版!我们发达了也更自信了,自信却发展过快,变成了自夸,于是和谐社会这个词出现了,全国上下的领导们,沉浸在和谐之中就没有看到宏观经济上的问题,贫富差距过大,已经是不争的事实,当年三毛流浪记,三毛看着富人门从门前经过的场景如今又回来了。我们在60年前赶走了大资本家的当权者,如今我们又在培养当权者成为大资产阶级,我说过,历史往往就是这样相似,你不信,那只能让你成为历史的一页。

也许肖志军的老婆的死没有几天就会忘记了,那些高谈阔论的同学们也会渐渐散去,寻找下一个高谈阔论的目标,但问题始终没有解决,量变终有一天变成质变!
Tags:

好久没有写了,平时上班,没啥兴趣了,周末xx也写点吧,今天说说User接口和权限控制的讨论。

首先来谈谈权限范围内具体几个工作:
1 权限菜单
2 权限控制(控制是否能访问)
3 登录控制

在ACEGI中,它的数据描述抽象成了一张田字表,圈圈叉叉,然后通过XOR得到权限值,但这种方法在ACEGI中使用我觉得还是比较麻烦的,当然麻烦的好处是人家确实性能高超,没有做不出来的东西,但一般如果只是简单的控制我觉得貌似有牛刀之嫌了。我理解的权限控制是这样的一种实现:
<?php
/*
@description 定义用户处理类的接口方法
@author edwardpro
*/
interface User{
 function isLogin($uid="");

 function login($user,$pass);

 function logout($user);

 function getUserInfo($uid="");

 function isValid($userinfo);
}
?>
方法和实现都很容易理解
isLogin判断是否登录
login、logout 登录退出
getUserInfo得到用户信息,包括得到权限信息
isvalid是否合法用户

看似比较松散的结构,但充分考虑的网页应用的局限性,和ACEGI这类产品级产品完全不同,通过自己实现如上述的5个方法我相信绝对可以达到权限控制的目标了。

这是一个被注入在Action中的User接口,在ACTION中会在构造函数中增加:
 function setUser(){
  require_once(USER_CLASS_PATH.'class.'.USER_CLASS_NAME.'.php');
  if(class_exists(USER_CLASS_NAME)){
   $cName=USER_CLASS_NAME;
   $this->userClass=new $cName();
  }
  if($this->userClass->isLogin()){
   //注册为登录状态
   $this->islogin=1;
   $this->userinfo=@$this->userClass->getUserInfo();
  }else{
   $this->islogin=0;
   unset($this->cookieData[sessionID]);
  }
 }

Tags: ,

zend新王者

[不指定 2007/11/28 17:39 | by edwardproAdmin ]
就在我不断需要抱怨zend studio的垃圾的时候zend的新一代PHP IDE诞生了,他的名字叫 Neon,目前是beta版本,而且只能用到12月18日。


这次zend是基于eclipse开发的,看来以后eclipse开发人员也会很好找工作啊^^,放弃了zend studio的框架,终于得到了革命性的提升:
1 判断是否包含了当前class需要的php文件
2 终于可以做出如下的代码完成: $a->obj1->method1(); 对于php的OO开发这是非常重要的提升。
3 基于sftp等的远程断点调试,不用再为本地开发环境配置而头痛


简单试用了下目前还没有把现有工程转换过去的打算,不过新的小玩意会尝试下下,看来这个就是以后PHP开发人员的标准开发工具了。
Tags:
在公司项目中实验了一把PHP下的MVC,在我看了不多的几个MVC框架,我个人对其封装不算满意,zend的没看过看过介绍,但其层次和组织结构过于复杂而且其重点也是在于通过zend框架使得功能更方便。倒是国内的两大主力fleaphp和thinkphp,flea我曾经简单用过,感觉各方面都还不错,重量也把握不错,thinkphp对内核的东西改变较多,而且有些思路也相当不错。think的代码我基本上都读了(0.92)现在好像有1.0了,没有再仔细读,但基本思路已经了解了。于是非常冲动,也想实验一把,曾经也为了体验一把MVC设计,基于spring的mvc框架做了较大规模的封装(不过事后发现是我对spring了解不够足,其实我做的封装spring也基本都做了,包括所谓的command概念我居然也实现了一个类似的玩意)。这次手痒于是我们就开始吧。但在实践中遇到了相当大的阻力,首先是进度根本无法保证,导致最后被罚了1k工资,但我并不太在乎这点,因为从这里边积累大量宝贵经验,当然也让我对PHP彻底失去了兴趣,不过这是后话,首先来看看我的MVC概念。

个人的MVC思路均来自于《J2EE设计模式(J2EE Design Patterns)》一书,最基础的框架:


这是一个标准的单分法器模型,但我会作几点说明:
1 RequestObjected,这个是所有用PHP的程序员可能不理解的地方,事实上PHP是一种为网站所生的语言,JAVA这方面没有任何的天生优势,JSP更感觉是一个可笑的玩具,现在大多数做企业应用还在用传统的JSP技术是会被BS的,BS的地方我在这里不做讨论了。回来吧,首先我们知道PHP对于Request有非常理想的封装了,包括如下的全局对象,$_GET $_POST $_COOKIES $_REQUEST $_SESSION 但请大家注意,这些对象都是全局变量,对于封装来说这是完全违反对象法则的,所以我对$_GET 等等做了封装在我的类里边会在BaseAction中有一个叫ParamData用作request对象 cookieData对应cookies sessionData对应session,为什么这么做,对于一般人的理解这样等于增加了消耗,那你就错了,我绝不单单为了对象而作生搬硬套,这样做的好处有如下:
1) 完成request层的编码转换,比如开发UTF-8的前台是,目前所有的框架都使用了,不同的文件编码模式,这个方法在我看来非常愚蠢,可以看到fleaphp就有utf-8和gbk两种编码的源码,这种方法对于开发来说不是什么好事情,而我在这里做了封装就可以在基类做自动化转换,已知我的程序都是gbk编码,那么你用什么编码在配置文件中有,可以实现对request的自动编码转换,再也没有编码困扰了。
2) 使得这些只读对象成为了可读写的对象,很多人会问这是干什么?当然有用!因为你别忘记了过滤器,这些过滤器本身也是一个缩小版的action如果得不到它的“爸爸”怎么干活?但这些过滤器都是没有返回的(我设计成没有返回的,因为PHP的对象太差)但这样就有问题了,我做了一个操作怎么告诉爸爸呢?比如我做一个验证工作,过滤了某些request的危险字符,怎么告诉爸爸?好了我的paramData对象就是干这个的,如果你用$_GET $POST,那么你只能哭爹喊娘了!
2 模板,这边模板写得非常粗略,这也是我的一个亮点,当然我得承认这个思路来自于目前公认的最好的MVC实践ROR的思路,顺便说下我整个框架的配置非常少,这些都是ROR的约定代替配置的思路,对于JAVA习惯用SPRING的同志,我想写个几百k的配置文件很正常,更有甚者以配置长度论水平,这也是一个笑谈啦,但至少在PHP不用这样,原因就是PHP是脚本,本身PHP的任何程序都是脚本,只要你需要,完全可以这么搞。好了,说了一段废话,回到模板,ROR的思路是什么?我现在这样实现的

模板path= BasePath+actionName/MethodName.DocmentType
所以你会看到我的模板目录下文件爆多,这是一般人应用所没有的,但我至少认为这里有两个好处:
1 可以对应找到所有的文件
2 可以有效的灵活配置,和ROR的思路有点不同,我至少可以通过Action改变当前模板(ROR也可以啦,不要误解了),但后面会在Action部分说到一个创新的地方就是内存模板概念(首先说明这对于很多人是蛮新颖的,但在我们公司这已经一直这样用了,我只是拿过来改个名字封装下而已),所以这里必须要有个灵活的方法。
下面看一个典型的Action吧:
<?php
require_once(RAILS_PHP_LIB.'/class.Action.php');
class tag extends Action {

//主页方法
function index(){
$user = $this->userClass->getUserInfo($this->paramData['userid']);
$articles = m("articles.getArticleList",array("page"=>1,"user_id"=>$this->paramData['userid'],"size"=>50));
$this->addTemplateData("user",$user);
$this->addTemplateData("articles",$articles);
}


}
?>

至于代码的含义以后会介绍的,这里大家只是看看,模板的用法,大家会问模板呢?当然是在基类中实现的,至于基类怎么实现就是各自的事情,我个人觉得如果有兴趣可以重写或者继承覆盖,因为只要实现几个方法就好了。

好了,今天讲到这里,我要干活去了,忘记介绍这个东西的名字了叫:RAILS PHP,目的很清楚了,其中有不少ROR的思路,当然我对ROR的理解并不深用得也不算多,只做过两个小东西,不过我个人很喜欢ROR的思路,呵呵,今天作为引子就写到这里,下面看看我接下来会写什么:

为验证准备——UserClass接口
最核心的类——Action
Action的儿子MemoryAction
Action的流程控制,唯一没有真正对象化的地方
Action的过滤器
神奇的模板,原来Smarty可以这样玩——RTemplate
数据库层,失败的作品,但我想说说我的规划思路
分法器,异乎寻常的简单
Cache我心中的痛,PHP你为什么没有真正的Static
应用的扩展文档模型——给做CMS和BLOG等文档系统一点小思路
最后的结尾,未来的发展之路

最后说几句,对于PHP我是菜鸟,真正用PHP不过8个月的光景,只是我觉得语言是相同的其实都一样PHP虽然差,但也应该是对象语言至少可以做到,虽然这点在公司的老程序员面前得不到一点肯定,但我只想证明我的思路没问题,欢迎有人来拍砖,共同讨论才能帮助我进步,虽然个人已经非常bs php了,但是要靠它吃饭拿工资没办法,但是yy下总可以吧,那就y啦。

还要抱怨的是开发工具,我的同事们都是用editplus的我实在无法接受那样的IDE,用了zend,不过即便如此有几个问题无法解决:
1 类中应用了另外一个类,那么那个类就无法代码提示
2 对于类型无法事先确定,而我的多数函数参数都受到设计模式的影响,均是传对象的,这样就开发和调试带来了很多莫名其妙的问题,常常被参数缺失而困扰
但这些问题不能抱怨zend不能抱怨eclipse,因为PHP就是没有类型的即使所谓的class在我看来只是一个名字声明而已,这非常糟糕,看看netbeans的ruby ide如果能达到这个水平基本上无憾了可以,但现实却那么打击人,抱怨一下。
Tags: ,

如果爱II

[不指定 2007/11/25 00:02 | by edwardproAdmin ]
你也许爱着
你也许想着
爱是习惯
爱是生活
爱是希望

执着着
迷惑着
彷徨着
希望着

要么用希望勾勒出自己的未来
要么用未来赌自己的下一个希望

没有理由和藉口

[不指定 2007/11/24 22:51 | by edwardproAdmin ]

上班这点事其实很有学问,没有理由和藉口,只有一个结果,最近以来从未有过的压力一直压着我,很不爽还不如说需要把问题搞搞清楚,怎么做?

没有掌控就没有成果,如果只要成果,那么过程只能自己控制,我恰恰都比较放松,这种轻松姿态是正经人所不能接受的,那好吧,入乡随俗,改改贝。

实际开发中最近需要用到这样的rewrite:

http://www.test.com/a/b/c/?id=1

类似这样的rewrite,但apache中这样的规则似乎不可行,曾经尝试了这样的正则
RewriteRule ^/(.*)/(.*)/(.*)/\?(.*)$      index.php?action=$1&method=$2&user=$3&$4

但apache似乎不领情,这样的规则貌似是解析不出来的,原因我想也只可能是本身的url定位规则问题,apache和那些容器类服务器貌似不一样,它在原则上自作聪明地解析了参数表,但这种分类对于如今的mvc系统是完全不合时宜的,看看ruby的url规则就是最好的典范,似乎对于apache来说基本无望配置出这样的rewrite规则来。个人认为的解决方案就是推出一个新的rewrite模块,这种模块本身直接把整个url串拿来匹配,不解析url,这样?就会被以querystring德身份带入,相信也就能解决这样的矛盾,同理还有很多类似的问题。

目前我用的解决方法是

用~ 代替 ?  这个让url看起来比较不专业

摇滚真的蛮简单的

[不指定 2007/11/18 01:25 | by edwardproAdmin ]
早上没事情做又随便唱唱了,说实话我已经基本失去了大部分音乐的灵感,或者说都用完了,不过有时候很随性地用白话唱唱最近的事情也不错,和弦随便弹弹f g am em 。。。组合下就行了,原来摇滚就是这个感觉,简单自然,不需要太多技巧,就是属于你的音乐,这也是它被大家喜欢的道理吧,当然层次高点能引起广泛的共鸣就是好作品,像我呢唱完也就忘记了,歌词旋律乏善可陈的,那就是自己欣赏下就好了,最近工作压力比较大,事情也多,买吉他的事情一直搁置着,看来下周准备买啦,哈哈哈,不知道电吉他弹唱民谣是啥感觉,哈哈哈哈。。。。

重温如果爱

[不指定 2007/11/18 01:10 | by edwardproAdmin ]
如果爱,好看不仅因为情节,还有音乐,歌好听是关键,真的很不错的

也许爱,爱也许就是这样简单,至少电影中的刻画还是很能引起共鸣的,也许就生活在身边

如果爱,如果爱就是这样简单就好了

PS:最后金城武那部手机就是当年我的最爱X800,可惜坏了,怀念啊。。。

可怜的妈妈

[不指定 2007/11/13 10:47 | by edwardproAdmin ]
昨日在公司加班,遇到一个妈妈来找儿子,原来是公司的见习,第一天上班,被派去采访什么活动了,所以晚上没按时回家,妈妈就以为儿子出意外了,跑来找人,感觉事情非常莫名,做妈妈做得很累,这么大的孩子了,还要这样看护着,妈妈很累,孩子也很累,都说这代史跨了的一代,看来也不错啊,溺爱会害死人的。

万恶的无域声明

[不指定 2007/11/08 12:31 | by edwardproAdmin ]
查了整整一天的问题居然是一个极其弱智的问题。两个程序因为历史原因使用了同名不同内容的类,结果require之后造成了PHP的编译系统的死锁,表现就是访问会立即404错误,真是郁闷。。。

无类型的可怕

[不指定 2007/11/07 13:59 | by edwardproAdmin ]
不要怪我无知,我今天才知道:

$t = new Object();
$t->a = 'a';

这样都可以的。。。无法想象,对于类型居然可以这样践踏。。。这样的操作比js的prototype还要过,对类的封装是一种践踏,这样PHP所有的extends implaments都是毫无意义的,都只是一种表象而已。。。

水痘随想

[不指定 2007/11/05 10:19 | by edwardproAdmin ]
得水痘了,这个对于一个27岁的人来说这是非常令人不可思议的,因为这是小孩病,可我为什么小时候不得呢?我苦苦笑答:因为我小时候家里照顾得好,没染上,所以没得。

实际的原因也差不多,只是加了一条,因为用了疫苗,可是这疫苗害人啊,经过这次得病知道了这种疫苗不是终身的,有效期大约10年,而在学校,每个人学校都会关照,出了学校就没人管了。事实也大概说明了这点,我去打针的时候,前后遇到4个成人和我一样。医生也说,现在小孩得这个病的和大人差不多多。

从病理来说,这个病应该得一次才安全,因为只有得过才能真正免疫,靠疫苗始终只是一种被动的防守,但我们的家长和老师却一种用一种抗自然的方式,最后的结果是得病的时候是一个错误的时间,错误的地点,仅此而已。

想到了拔苗助长,水痘也是如此,只是在我们认为万无一失的时候,一个小小的疏忽却让我们所有的努力化为灰烬,最后还是选择了自然选择法,可以说是一种回归。

人的技术强大了,他们想要改变自然,但事实证明,改变有时候并没有那么有效,只要一个小疏漏就能导致功亏一篑。

又想到了抗洪,抗洪的法则就是分洪而不是阻碍,因为阻止是阻止不了的,只有分流才能一了百了。回到水痘身上,其实从医学角度,成人水痘会获得更多的伤害,我也这么体会到的,有几天在产生抗体的日子,绝对生不如死,浑浑沉沉。我在想是不是病毒压抑了许久终于爆发了,所以爆发的能量很大(以上言论无科学依据)?我这么猜想来着,就像弹簧一样,压得越紧,跳得越高,这就是弹簧,越是想避免却越是避免不了,往往会爆发更大的牺牲。就像战争一样,小事情不谈,到大了就流血了。

谨记水痘的教训,要正视要面对,不要逃避,干活吧^^

色戒与戒色

[不指定 2007/11/04 07:57 | by edwardproAdmin ]

戒色,哦,不应该叫色戒,否则会显得很文盲,但实际上电影这种艺术就是这样模模糊糊的,往往搞清楚和模糊只是一步而已,说的当然是我还没有看过的电影李安的《色。戒》。故事大概讲述了一个暗杀者和被暗杀者之间的故事,暗杀者一个女性最后因为日久生情,最后行动失败了,被暗杀者是一个大汉奸也就这样苟且了。

回到色戒和戒色的讨论,其实在我看来怎么叫意思都是一样的,这是一个巧妙之处,无论你用什么方式念基本上只能一个理解。我理解的色戒是男人要戒色,但也有同志理解女人要戒色,否则就和那个女学生一样最后暗杀任务完不成了。人性大概如此吧,每每都会有很多诱惑,每次都会给自己找点客观理由出来。因为对于汤唯来说,暗杀就是暗杀,色诱就是色诱,却会爱上了一个死人,典型的工作生活不分的人,最后只能得到失败的结果。而梁朝伟这次又演绎了一个不分正邪的角色,和经典的:“我是一个警察”一样,这部片子又将成为他的经典电影,人物的复杂性格和矛盾在电影中也体现出来,这就是优秀的电影吧,期待去看一下,哈哈哈

封杀

[不指定 2007/11/01 12:54 | by edwardproAdmin ]
突然间又开始封杀了。

boss堂的主持人,那个台湾人,曹xx听说被封杀,上班这点事将停播,boss堂会换人。理由自然是节目低俗,经常看看上班这点事,其实也不过是一种讥讽的态度去说了下办公室的小龌龊而已,其实也是很正常的事情,哪有思想境界那么高的人?

今天听到的另外一条标准更可笑了,广电部对镜头的限制标注,颈部以下13cm以上部分,否则就定义为色情内容,而因此色戒的大量肉镜头成为了封杀的对象,我就搞不懂了,色情内容的定义是按照镜头还是按照内容,照这么理解,AV是不是只要全身打个马赛克也可以被叫做艺术片了?活生生把一部片子去剪掉几刀。在变形金刚中出现过把日本人认成了中国人,这也算违规,其实用脑子想想也知道,一个从没来过亚洲的美国人,怎么可能搞清楚这个是中国人还是日本人,就像在我们面前站一个法国一个德国人也不能马上分辨出来一样,归根到底这是不懂。

再看看生活时尚频道,现在所有栏目前面都加了一个和谐 生活叫:和谐生活 时尚叫和谐时尚 这搭得到关系么?那是不是以后出门就要说和谐早上好,和谐我坐地铁了,和谐我上班了,和谐我吃午饭了,和谐我开会了,和谐我下班了,和谐我睡觉了。。。

这不由得想起了,当年所有书上都有一句毛主席教导我们一样,太可怕了。。。社会在进步,经济在发展,思想政治却在倒退,不多说啦,想想说说例子就行了,开17大机房全部封闭,不准人员出入,这个和17大有什么关系。。。
分页: 8/38 第一页 上页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 下页 最后页 [ 显示模式: 摘要 | 列表 ]