久石让的吉他独奏 天空之城

我的php编辑器:vim(windows or linux), macvim(mac osx )

kohana版本: 2.34
PHPRPC介绍: PHPRPC

以下是实现kohana 使用 PHPRPC的具体实例,已经应用在一具体的项目中。功能不算强大,算是抛砖引玉吧。

Library 中 Rpc.php

<?php defined('SYSPATH') OR die('No direct access allowed.');

class RPC_Core {

private static $instance;

private static $data;

private static $server;

private $phprpc;

public static function instance()
{
if (!isset(self::$instance))
{
$class = __CLASS__;
self::$instance = new $class;
}
return self::$instance;
}

public function __construct()
{
//self::$server = "http://172.16.7.5";
$this->phprpc = TRUE;
$this->phprpc = FALSE;
self::$server = "http://site.fj";
}

public function __call($name, $args){

$class = $name;

$method = $args[0];

$args = array_slice($args,1);

if($this->phprpc)
{
require_once(MODPATH.'phprpc/phprpc_client.php');
$client = new PHPRPC_Client(self::$server.'/server/data/'.$class.'/'.$method);
return $client->{$method}($args);
}else{
$class = 'As_'.$class;
$class = new $class;
return $class->{$method}($args);
}
}
}

服务器上Controllers中的 server.php

<?php defined('SYSPATH') OR die('No direct access allowed.');

class Server_Controller extends Controller {

public function data($class)
{
$method = $this->uri->segment(4);
require_once(MODPATH.'phprpc/phprpc_server.php');

$server = new PHPRPC_Server();
$class = 'As_'.$class;
$server->add($method , new $class);
$server->start();
}
}

服务器端事物处理文件 Library 中 As_user.php

<?php defined('SYSPATH') OR die('No direct access allowed.');
class As_user_Core {
public function hello($name)
{
return 'hello world '.kohana::debug($name);
}

public function test()
{
return '-m-';
}
}

客户端测试Controllers 代码

public function test()
{
echo 'rpc test ...................................<br/>';
$rpc = Rpc::instance();
echo $rpc->user('hello',$class='class',$name='1');
}

Command-Shift-3 整个屏幕
Command-Shift-4 鼠标选择
Command-Shift-4 空格 当前应用程序借口

echo kohana::debug($orm_object-&gt;validate()-&gt;errors());

我有租用DH服务器一台
开发用电脑,若干(地点不同)
主要是使用git来做好版本控制,并且同步各台电脑的代码
git就我一个人用,不支持多用户

1.在DreamHost建立git源

$ mkdir git
$ cd git
$ git  --bare init
$ git  --bare update-server-info
$ chmod a+x hooks/post-update
$ touch git-daemon-export-ok

2.在本机 Initializing a repository

$ mkdir cola
$ cd cola

$ git init
$ git remote add origin ssh://USER@MACHINE.dreamhost.com/home/USER/git/cola.git
$ git config branch.master.remote origin
$ git config branch.master.merge refs/heads/master

$ touch README
$ git add .
$ git commit -m &quot;initial repository&quot;

$ git push --all
$ git pull

3.获得我的服务器源

$ git clone ssh://USER@MACHINE.dreamhost.com/home/USER/git/cola.git

4.用branch来记录每天的开发
我用了一个名字为steps的branch来记录和同步每天开发的代码,有了阶段性的成果后merge到master上面

$ git branch steps
$ git push origin steps
$ git fetch origin
$ git checkout -b steps

搞定,散花!
这样可以很好的利用git来做版本控制,并且还可以用它的branch来同步我项目中不同机子上面的代码。

两年前,我站在南京地铁大厦旁28路车站,我刚刚辞去了我人生的第一份工作。我看着站牌看了很久考虑去哪里,一个漫无目的的中午。最后,我去旁边大排档要了一碗牛肉面,味道不好,吃的很开心。当时,经济拮据的自己,付了房租真没多少钱吃饭了。花钱最开心的不是你钱多乱撒,而是当你穷到只有六十块钱的时候,还能满足的在KFC买个全家桶,一个人傻笑着吃完。
现在依然觉得一无所有的我,无形中已经被加上了很多东西,我不会去漫无目的站在公交站台想着去哪里,也不会一个人傻笑着去吃全家桶。当我再次去做这些事情的时候,我很难想象有两年前的淡然。
每天晚上依旧发呆,脑子依旧在转,于是把注意力转移到游戏。玩累了,倒头就睡。
害怕漫无目的的躺在床上等睡着,害怕一夜不睡后看到窗外渐渐变亮的天空。总是感觉闷闷的,憋的厉害。
现在的我,没有舞台,没有掌声。有得到就有付出,我在权衡。
也许会回到付不起房租,不能大口吃肉,口袋空空的状态。回到那种期待下一秒惊喜,永远不知道明天会是怎样的状态。
最近也被一些世俗的事情小小打击了下,选择了就没有退路了。
我有勇气放弃我现在稳定的高收入的工作,看似稳定的生活。却没有足够的勇气去流浪。
我差点就忘记了自己要什么了,改变就在眼前!
以后的路,依旧一个人走……

echo View::factory('profiler/stats');

完全版本(带GET参数):

$current_uri = URL::site($this-&gt;request-&gt;uri).'?'.http_build_query($_GET, '&amp;');

干净版本:

$current_uri = URL::site($this-&gt;request-&gt;uri);

转眼见,用kohana也有一年时间了。和icyleaf认识也差不多一年了。这一年用kohana做了一些应用,感觉自己在不断的进步着。
icyleaf说,用kohana做个论坛吧,DZ7和Project Bable都不适合现在kohana中文论坛。而且也算是个kohana的教学例子。我看行!于是就有了这里的开始:用kohana做个论坛。
项目代号:alpaca ,神兽的学术名字,很有喜感。
希望这个项目我能坚持下去。不需要做的很大。好用就行。我希望它是一个专一的,微型的技术论坛。最近在开始思考,想做些新的东西出来。
有了完整的思路我会在这下面继续更新下去,敬请期待!