2008年12月18日 星期四

php ctemplate for win32

昨晚突然想到, 應該弄一下 php ctemplate 的 win32 binary,

因為 google ctemplate 原本就是 win32 ready, php 也是, 那為甚麼不順便做一下 php ctemplate php extension for win32 呢?

測試了一下, 東西已經丟上 github 了.

https://github.com/vanillahsu/php-ctemplate/tree


有需要的自己弄一份吧, binary 的話, 私下講吧.

2008年12月16日 星期二

pcre & pcrecpp

pcre 是 unix 上被使用的很頻繁的 regex library, 原本是 exim (一套 sendmail like 的 mail) 想要做 perl compatible regex library,

最後一堆軟體都不小心有用到, php 的 preg_* 後面就是 pcre.

最近把一個工作上, 其他同事慣用的 php template library 改成 php ext,

為甚麼要這樣做呢?

因為 coder & designer 已經用習慣, 叫他們改, 大概會殺人吧.

所以只好退而求其次, 一樣用他們習慣的 rule & style 去做.

而該 template library, 其實就是一堆 preg_match & preg_replace 組成的,

php ext 也照圖說故事, 該用的地方就用一下.

我是用 c++ 來改寫的, 所以一堆原本 php 的 array, 直接用 stl 就可以很快樂,

preg_* 的 function, 也是可以直接用 pcre c function 來做,

但是, 但是.

google 約在 2006 年左右, 貢獻了一個 c++ binding 給 pcre,  所以如果願意的話, cpp binding 用起來更爽快點.

2008年10月6日 星期一

socket with ssl

昨天做 net/spserver 的修改, 把原本少弄進去的 matrixssl, gnutls, xyssl 的東西補上,

看到 xyssl 的 sample code, 是讓一般的 tcp server & client 可以用 ssl 收發資料,

覺得還頗簡單的, 然後又去看了一下 openssl demo code,

我的第一印象, 就是覺得 openssl + socket 應該很難搞,

沒想到看了一下, 還真簡單

open socket 之後, 把 fd 用 SSL_set_fd 餵到 ssl 裡面,

再來就用 SSL_read & SSL_write 取代原本的 read/send 就好了.

真方便.

2008年8月27日 星期三

寫 open source 的東西

最爽的事情,

就是有人從你沒去過的國家,

寫信來問你寫的東西, 然後說他也想一起玩.

2008年6月18日 星期三

php qrcode

在 php 上面要產生 qrcode,

大部分的人都是用某日本人寫的 pure php 套件,

據說要 include 一堆東西, 才能使用.

其實, 我在 2007/04 就寫好了 pecl-qrencode, 他是 base on libqrencode 的 php extension,

FreeBSD 使用者可以在 ports/graphics/pecl-qrencode 下面找到,

用法也很簡單,

先產生一個 qrencode resource, 然後用 qr_save 把圖檔吐出來,

可以選擇要不要給檔名, 沒有直接吐到瀏覽器上.

$qr = qr_encode ('test for qrcode');
if (is_resource ($qr))
qr_save ($qr, '1.png');


or you can output direct to stdout.


$qr = qr_encode ('test for qrcode');
if (is_resource ($qr))
{
header ("Content-type: image/PNG");
qr_save ($qr);
}

2008年5月26日 星期一

mysql++

雖然很久以前試用過這套, 但是感覺沒有現在這麼好!!!

mysql++ 是 mysql client 的 c++ binding,

功能強大到不只是 c++ binding 而已,

一堆 stl 的搞法, 把用 c++ 做資料庫操作, 弄的很像寫 php 一樣簡單,

真是快活...

2008年4月29日 星期二

php extende & embedded at the same time.

之前在 Yahoo 已經幹過一次這種事情了,

現在還想幹一次, 台灣大概沒人像我這樣搞了吧.

現在的想法是, 用 c++ 寫個 daemon,

每次 tick 都從資料庫撈到要處理的資料, 然後讓 embed php 跑,

php 這邊應該會有的是, 一個 init function, 去註冊所有的 callback function,

然後 callback function 是從 c++ 去跑, 根據每次要處理資料不同而不同,

也只管 callback function return value 就好,

一切的一切,  就讓 callback function 自己處理呀!!!.