MENU

Category: 程序

基于php框架的多国语言思路

不难知道,想使网站多国语言化,最简单的方法便是直接调用在线翻译。傻子都知道这种做法是做了等于没做,体验一定是非常不佳的。直接机翻,不可行。

在网上查了一下,最正统的解决方法是使用gettext扩展,然而我没有接触过,这里就不提它了。本文中的方案,我们从一个请求开始。

请求执行到调度器之前,使用一段代码判断cookie中有无语言项并判断其合法性(是否有这个语言)。若cookie中无而已登录账户,则将本账户指定的语言写入cookie。若仍无,跳转至语言选择页面。有的情况下,将语种写入常量LANG。程序继续执行到控制器,View层模版均需为不同的语言编写不同文件,如某路径为"Tpl/cn/index_index.tpl"。动态输出的内容也需要处理。为了避免空间复杂度太大,我们为每个控制器(必要时为某些方法)单独编写语言文件。形如:

<?php
return array(
    'key'=>'value'
);

Read More

对emlog的小调整

博客一直积着几个小问题没有解决,上周一并处理掉了。现在写出来,也许某些点会对大家有所帮助。

Read More

我又被坑了之百度云网盘再次坑爹

昨天被某货呼叫说VA China下载中心中下载内容点击后出现下载百度云管家客户端的情况。毫无疑问——又坑了。VA China下载中心调用了我VPS上的直连接口进行分流,既然那边坑了,那么肯定使用了相同代码的ANN也坑了。事不宜迟,各种常用开发工具伺候,拿到代码,开工调试。

第一步:访问一个下载页面,分析js变化。结论:dlink中混入了大量百度云管家客户端的下载链接,原匹配无效;但云管家客户端的expire time是10000小时,而真实文件为8小时。

Read More

计划任务的胜利——Fsdbase On PHP

继昨日解决FSD在Linux运行之后,今天又被问到Perl的安装——想得到这与FSD有关:FSDBase需要Perl的支持。不得不佩服fsdbase的作者,几个文件每个都是2000 lines+的代码量,果断不看(本来就没接触过perl)。看到fsdbase目录下有个setup.sh,打开看看,在末尾发现了一小段提示,意为使用者需要在crontab中添加运行fsdbase的脚本,每分钟执行一次。事已至此,基本上就能明白fsdbase的原理了,和想象中的基本一致,也和拐总以前透露的方法差不多。这样一来,心里就有底了。接下来当然是使用php写一个差不多功能的东西,一来是帮助他人,二来是试试之前的epdb到底是否好使,三来也算是完成两三年来没能做到给fsd统计在线时间的心愿吧。

Read More

面向对象初探——epdb数据库类库

首先文章前说几句,这篇博文可能是8月这个疯狂的月份最后一篇原创的技术性文章了。在2013年的这些写php的日子里,真的学到了很多。从改实例开始,到自己磕磕绊绊地纯粹为了实现功能而书写代码,到开始全面地了解自己开发过的应用的整体的结构,到书写一个个简单的POP程序,到系统地了解一门语言使它成为计算机生活中不二的好帮手,仿佛让我看到了两三年前开始玩FS的那些日子。今天带来的,是这两天花几个小时编写的一个很简单的MySQL数据库操作封装类。写数据库类库的想法源于开发iTracker 2.0/FQMS应用程序接口的时候,那会儿写个SQL语句、排错真是要命啊。现在写一个类库,简化操作,也算是对面向对象的一次入门尝试了。整体思想与操作方法与ThinkPHP的数据库操作差不多,算是向我最喜爱的PHP框架ThinkPHP致敬了。

Read More