在php_mysqlnd中的PHP_MINIT_FUNCTION中mysqlnd库的初始化
static PHP_MINIT_FUNCTION(mysqlnd)
{
REGISTER_INI_ENTRIES();
mysqlnd_library_init();
return SUCCESS;
}
主要作con和conn_data的方法函数的初始化,注册一些回调函数。结构体中的定义函数在mysqlnd_structs.h文件中,结构体实体定义主要是通过宏来实现。
#define MYSQLND_CLASS_METHOD_TABLE_NAME(class) mysqlnd_##class##_methods
#define MYSQLND_CLASS_METHOD_TABLE_NAME_FORWARD(class) struct st_##class##_methods MYSQLND_CLASS_METHOD_TABLE_NAME(class)
#define MYSQLND_CLASS_METHODS_START(class) MYSQLND_CLASS_METHOD_TABLE_NAME_FORWARD(class) = {
#define MYSQLND_CLASS_METHODS_END }