手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2011年06月的文章

在Yii框架中使用Hprose或PHPRPC

Yii:

XML/HTML代码
  1. Yii is a high-performance PHP framework best for developing Web 2.0 applications.  
  2.   
  3. Yii comes with rich features: MVC, DAO/ActiveRecord, I18N/L10N, caching, authentication and role-based access control, scaffolding, testing, etc. It can reduce your development time significantly. 

PHPRPC:

XML/HTML代码
  1. PHPRPC 是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用协议。  
  2.   
  3. 目前该协议的最新版本为 3.0。该版本目前已有以下几种语言的实现:  
  4.   
  5.     ASP,ActionScript,Delphi/C++Builder/Kylix,Java,JavaScript,NET,PHP,Python,Ruby,Perl,Lazarus(Free Pascal)  
  6.   
  7. 其中 ASP、.NET、Java、Ruby、Python 和 PHP 版本除了提供客户端实现外,还提供了服务器端实现。  

HPROSE:

XML/HTML代码
  1. Hprose (High Performance Remote Object Service Engine) 是一个商业开源的新型轻量级跨语言跨平台的面向对象的高性能远程动态通讯中间件。它支持众多语言,例如 C++, .NET, Java, Delphi, Objective-C, ActionScript, JavaScript, ASP, PHP, Python, Ruby, Perl 等语言,通过 Hprose 可以在这些语言之间实现方便且高效的互通。  
  2.   
  3. Hprose 易学易用,且功能强大,您只需很短时间的学习,就可以用它方便地构建出跨语言跨平台分布式的电信级应用系统。  

如何在Yii中使用Hprose或者PHPRPC呢?我这里简单介绍一下Yii下hprose的应用方法

 

1、下载hprose的PHP版本,嗯,别看了,是混淆过的,但不影响你使用。

2、将下载后的hprose拷贝到yii项目的/protected/extension/hprose目录下

3、新建一个apicontroller:

大小: 43.99 K
尺寸: 299 x 376
浏览: 1756 次
点击打开新窗口浏览全图

我这样的方式是最简单的,将一些actionIndex的方法都公开了,在实际应用中当然不可以这样。不过我这里是测试,当然是无所谓的

访问http://localhost/project/test/ (project是我的项目名称,test是controller, index是action,由于默认action是index,所以我省略了)

浏览器中返回了:

XML/HTML代码
  1. Fa4{s11"actionIndex"s11"afterAction"s5"hello"s3"sum"}z  

由此其实我们也可以基本确认有四个方法可以使用actionIndex,afterAction,hello,sum,这主要是因为我把当前类当成发布对象了。(不主张啊不主张)

 

4、继续下一步,

PHP代码
  1. <?php
  2. include("./protected/extensions/hprose/hproseHttpClient.php");  
  3. $client = new HproseHttpClient("http://localhost/project/test");  
  4. $result = $client->sum(1,2,3,4,5);  
  5. print_r($result);  

 

OK,浏览器输出了15,就这样完成了一个简单的HPROSE应用。

当然我这样的方式太简单了,文档在这里有下载,我就不再画蛇添足的提供了:http://www.hprose.com/documents.php。

因为只是简单的的一些应用,暂时也看不到hprose的性能比phprpc提升了多少。

---------------备注

由于Yii对于大小写敏感,因此在new HproseHttpServer();的时候,Hprose的H不能大写,否则,它会自动寻找HproseHttpServer.php,但由于PHP的hprose的文件中首字母都是小写。因此在new的时候就需要:new hproseHttpServer();

Tags: yii, hprose, phprpc

收到phpstorm序列号

在下载phpstorm的时候,向phpstorm申请了开源序列号,在经历了14天之后,终于收到了一封来自phpstorm的邮件,里面给了我一个序列号,可以使用一年。
非常开心,HOHO。
当然,在高兴之余也得谢谢thinkphp,因为我在申请的时候,是用的thinkphp的commiter的身份。幸好流年没有从google code的项目中将我删除。灰常感谢。。

phpstorm在一段时间的使用过程中感觉还是比较爽的,我对它进行了一些简单的配置
1、把字体換成我习惯的字体(参考dualface的更换netbeans字体)
2、将快捷键換成了netbeans的用法
3、将代码的配色基本換成了与netbeans一致的。。方便我更換IDE
4、配置了一些代码的美化功能等。

上图,由于我不知道那个号码是否有用,所以我屏蔽了。。。
大小: 61.71 K
尺寸: 500 x 262
浏览: 1919 次
点击打开新窗口浏览全图

Tags: phpstorm, 序列号, thinkphp

关于序列化javascript

不想多说什么,其实很多人在序列化上面纠结了很多了。
比如这篇javascript 序列化 ,它可是有完整的代码的哦,其实在很久之前,PHPRPC里就实现了PHP的序列化,还有PHPJS.org里也有相应的代码。当然这里我贴的还是我文中链接中的代码:

JavaScript代码
  1. function serialize(_obj)  
  2. {  
  3.    // Let Gecko browsers do this the easy way  
  4.    if (typeof _obj.toSource !== 'undefined' && typeof _obj.callee === 'undefined')  
  5.    {  
  6.       return _obj.toSource();  
  7.    }  
  8.    
  9.    // Other browsers must do it the hard way  
  10.    switch (typeof _obj)  
  11.    {  
  12.       // numbers, booleans, and functions are trivial:  
  13.       // just return the object itself since its default .toString()  
  14.       // gives us exactly what we want  
  15.       case 'number':  
  16.       case 'boolean':  
  17.       case 'function':  
  18.          return _obj;  
  19.          break;  
  20.    
  21.       // for JSON format, strings need to be wrapped in quotes  
  22.       case 'string':  
  23.          return '\'' + _obj + '\'';  
  24.          break;  
  25.    
  26.       case 'object':  
  27.          var str;  
  28.          if (_obj.constructor === Array || typeof _obj.callee !== 'undefined')  
  29.          {  
  30.             str = '[';  
  31.             var i, len = _obj.length;  
  32.             for (i = 0; i < len-1; i++) { str += serialize(_obj[i]) + ','; }  
  33.             str += serialize(_obj[i]) + ']';  
  34.          }  
  35.          else  
  36.          {  
  37.             str = '{';  
  38.             var key;  
  39.             for (key in _obj) { str += key + ':' + serialize(_obj[key]) + ','; }  
  40.             str = str.replace(/\,$/, '') + '}';  
  41.          }  
  42.          return str;  
  43.          break;  
  44.    
  45.       default:  
  46.          return 'UNKNOWN';  
  47.          break;  
  48.    }  
  49. }  

或许你也可以看一下PHPRPC的代码 。。我就不贴了提供下载一下,可以从这里下载:http://www.phprpc.org/zh_CN/download/ 【有序列化也有反序列化哦。。。】
我提供的只有PHPSerialize.js,请下载:phpserializer.js

Tags: serialize, javascript, 序列化

RSS「已死」,电子书格式什么时候死?

RSS已死?说实话我还没有仔细想过会死,但RSS目前已经不在流行是真的,现在RSS更多的是被用来做数据传输,RSS之所以还没有死是因为RSS阅读器越来越被移动客户端所接受。而基于WEB的RSS已经成为垃圾数据的来源。信息轰炸可不是一件轻松的事情,每天看着上千条RSS,你会有多少去看呢?
RSS阅读器可以将一些你所关注的RSS下载到本地方便以后阅读,这是一件好事,对于编辑来说是好事,因为可以从海量数据中进行搜索定位并且找到自己的资料。也就是说全文的RSS输出已经变成了数据来源,而不再是阅读对象了。【一家之言】
现在来看看apple4us上怎么说:

昨天在 Twitter 上推了一下 NetNewsWire 的作者布兰特·西蒙(Brent Simmons)写的「当我们谈 RSS 时我们谈些什么」。很多人喜欢叫嚷说「RSS 已死」。西蒙说,死掉的是 RSS 阅读器,以及「看到喜欢的网站,用 RSS 阅读器去订阅之」这样一种用例(use case)。作为协议格式的 RSS 不仅没有死,使用范围反而在日益扩大。

最重要的是:西蒙认为这是好事:用户不必再关心格式。她们只是想读新闻、博客、播客、朋友的状态更新等种种内容。在后 Twitter / Facebook 的世界里,她们希望这种内容以实时更新的方式被推送到自己眼前。至于背后的技术是 RSS、还是 Atom、还是 JSON……睬它都傻。

这让我想到知乎上的一个问题:你会选择什么样的电子书格式?为什么?(需要有知乎帐号方可访问)

问题是这么说的:

当一本电子书同时提供多个格式如 txt、chm、pdf、epub、mobi 等的时候,你会选择哪个格式?为什么?

目前为止有七十一人回答这个问题,每人都有自己的偏好。

这是很有问题的。

在真正的电子阅读时代,你不会去关心电子书的格式,正如看纸书时,大部分人不会去关心这本书用的是骑马订还是锁线胶装。做电子阅读软件的人,也不会把「我们支持 XXX、XXX 格式」作为卖点。她们会说:我们有谁谁谁的书。

在中文电子书的语境里想象这种景况可能比较困难,那么看看英文电子书的老大 Kindle 好了。Kindle 用的格式叫 AZW。懂行的人会告诉你那是封装过的 HTML。但无数掏钱买 Kindle 书的人不需要知道这个,你也很少看到亚马逊吹嘘 Kindle 能支持多少种格式,虽然它的确支持 mobi 和 PDF。

西蒙说,2002 年的普通互联网用户的「geek 指数」高于今天。在当年,网上的人们有耐心和兴趣去研究「订阅 RSS」这件事背后的一整套繁复和抽象的观念。今天不行了。

同理,今天中国的电子书受众有耐心和兴趣去研究各种电子书格式,这本身就说明电子书还完全没有成熟──注意,不是「市场」没有成熟,也不是「产业」 没有成熟,是做电子阅读的人、以及她们做出的东西,还没有成熟。研究格式,是软件的设计和开发者应该做的事情,这种工作不应该转嫁到用户身上──如果你想 从用户身上赚钱的话。

------------------
正如文中所说的一个选择,对于我来说如果是大屏幕的电脑或者平板,那可能会更多的使用PDF,如果是小屏幕的话,我会用txt或者chm。因为这两种最方便查看。但如果文件中很多参考图片之类的,那当然是pdf。epub的还需要单独的阅读器,不是说PDF不要,而是很方便。。。

Tags: rss, 电子书

孤岛天才——超强记忆

在看纪实频道的探索节目时,看到了本文标题的节目,突然间想起很多很多以前的事情。但同样又忘记了很多事情。

5岁以后25岁以前有很多事情我都记在了心里,到现在我还能大致回忆的出,但是一些真正的细节什么的,确实是忘记了。
幼儿园的事情,小学二年级,三年级四年级五年级等的事情。初一初二等等。。。很多到现在都留在记忆里。小时候读过的书,看过的书还有很多都记忆着,读书的时候,背书背到几乎连哪一页都记得下来。。。。
直到在局里的时候,一两年前放的文件的位置也都能记得住。。。但,真正开始从事IT之后,发现记忆力越来越差,我一直怀疑可能是因为用电脑的时间过长了,导致记忆力会降低很多。
在看电视的时候,发现那些白痴学者们的一些特长,感觉自己和他们的差距还是很明显的,毕竟我不是白痴也不是学者。。。。。但记忆力的衰退是很明显的。
为了加强自己的记忆能力,我要开始学会用笔来记录东西,否则再过几年,真的就啥也记不住 了。

OK事实上我也就发发牢骚说自己的头发越来越少了,记忆力越来越差了等等。。。。。

Records:181234