ThinikPHP 前端URL模式
摘要:一 U方法 ThinkPHP有强大的URL解析功能,支持多种URL模式,但这也为前端开发带来了困难,如果URL模式改变了,但前端手工编码调用服务端的URL也要相应的改变,否则就有问题了,因此ThinkPHP提供了一个U方法来产生特定模块,特定方法的URL。 U('[项目://][路由@][分组名-模块/]操作? 参数1=值1[&参数N=值N]'): U('Index/index'),产生一个...
阅读全文
ThinkPHP Mongo驱动update方法支持upsert参数
摘要:Mongo数据库update操作有一个相对于Mysql的关键特性,它可以使用upsert模式,当更新的数据不存在时,直接插入,但是ThinkPHP的Mongo驱动居然不支持这一特性,没办法,自力更生了。 ThinkPHP的driver层,见由于支持多种DB,又使用了继承,使用得类层次结构较深,负责Mongo驱动的是DbMongo.class.php,文件位于ThinkPHP\Extend\Dri...
阅读全文
ThinkPHP Logic层
摘要:ThinkPHP的LIB目录下默认有Action,Behavor,Widget三个文件夹,Behavor与Widget没有用到就没有也了解,Action层可以看做是对用户行为的一种抽象,比如用户想登陆、注册、加关注、翻译单词都会被抽象为Action层的某个方法,在具体的实践中发现有这样一个问题,有时候用户的行为需要多个Action联合才能完成,ThinkPHP提供了一个R方法来完成跨Action调...
阅读全文
eclipse中编译调试skynet
摘要:一 编译 虽然可以使用gdb调试skynet,但总是没有能在IDE里调试那样痛快,所以这里想办法把源码放进eclipse for c++ IDE中。在eclipse建立的项目的原则是以skynet里的makefile为参考,makefile里有多少个target,就建立多少个工程,skynet自带的makefile生成的目标有两类,一类是可执行文件如...
阅读全文
Skynet框架2-分离Master与Harbor
摘要:Skynet默认的配置是把Master与Harbor集成到一个结点了,为了更清楚的了解Skynet框架,需要分离Master与Harbor,这就需要了解Skynet是如何配置的及Skynet的启动流程及各个参数的作用. root = "./"thread = 8logger = nilharbor = 1address = "127.0.0.1:2525"master...
阅读全文
Skynet框架(1)
摘要:云风开源了skynet框架,Git了代码,根据指导粗略看了一下,在Centos编译运行,一切都很顺利。skynet框架是从一个网游服务器中抽出来的,但却不一定需要用在网游里,skynet的模式是master-harbor,一个master下挂着多个harbor,最大支持255个harbor,Git上的代码配置情况是一个全局配置服务结点,一个结点是既是harbor又是master,为了研究代码的方便...
阅读全文