php extension

PHP扩展开发之细枝末节

ZTS(Zend Thread Safety)
当要使用Zend线程安全(Zend Thread Safety)时,需要在configure时,使用–enable-maintainer-zts参数,这种情况下,就会定义这个名为ZTS的宏。同时在处理PHP内置数据时,需要在函数调用时的最后一个参数后使用TSRMLS_XX标记。
TSRMLS_XX一般有4种形式,关于何时该使用哪一个,看下面这里

TSRMLS_D  in declarations as only param
TSRMLS_C  in uses (calls) as only param
static void my_helper(TSRMLS_D);
    static void some_function(TSRMLS_D) {
    my_helper(TSRMLS_C);
}
TSRMLS_DC in declarations after last param w/o comma 
TSRMLS_CC in uses 

PHP扩展开发及入门解惑

687474703a2f2f692e696d6775722e636f6d2f476972494f57732e706e67
说在最前面
作为PHP程序猿,如果不懂得PHP内核、不懂得PHP扩展开发,仿佛是一件很”羞耻”的事情,嗯,的确很”羞耻”!虽说已经接触PHP已经有三年多的时间了,可是一直都没有机会或者说从没自己主动的去学习过,所以觉得更加”羞耻”了。在这种情况下,如果你被面试官发问说你接触PHP很久的时间有没有学习过PHP底层的知识的时候,你懂的,会更加更加”羞耻”。So,别废话,是该捯饬捯饬PHP扩展了。