我有幾個用C(而不是C++)編寫的小型庫和包裝,我希望通過擴展提供給PHP。我在writing proper PHP extensions上閱讀了幾篇教程,看起來並不困難,但是我不想在維護擴展庫和庫之外的麻煩。用於製作PHP擴展的SWIG,你試過了嗎?
我看到SWIG支持與Zend PHP 5兼容的構建擴展,這對我來說非常合適。但是,根據SWIG文檔,支持似乎是測試版。
我的庫是很常見的,如使用的在C元例如:
int main(void)
{
struct libfoo *foo;
char **tmp;
foo = foo_init();
if (foo == NULL) {
fprintf(stderr, "Could not allocate foo\n");
return 1;
}
tmp = foo_parse(foo, "/foo/foo.txt");
......
foo_finit(foo);
}
有沒有人有任何經驗與使用痛飲做出了這樣簡單的庫擴展分享?有誰知道使用C語言編寫的使用SWIG將PHP擴展作爲構建的可選部分的免費/開源項目?
在此先感謝,我希望得到一些反饋意見。如果它是積極的,我會花一些時間來真正瞭解SWIG。如果沒有,我會花時間手工製作分機。
我想我會選擇稍後嘗試SWIG更簡單的事情。現在,我只研究現有的curl和mysql實現,它們與我的小型庫相比複雜(就PHP而言)。 – 2009-01-17 16:35:50