好奇yaf是如何在启动时加载各个类的,于是看了下源码。
1.yaf.c
PHP_MINIT_FUNCTION(yaf)
{
/* startup components */
YAF_STARTUP(application);
YAF_STARTUP(bootstrap);
}
YAF_STARTUP(application) 展开后是
zm_startup_yaf_application(type, module_number )
2.yaf_application.c
YAF_STARTUP_FUNCTION(application)
{
}
YAF_STARTUP_FUNCTION(application) 展开后是
int zm_startup_yaf_application(int type, int module_number )
3.很明显了,在yaf_application.c里定义了个函数,然后在yaf.c的minit里调用,这样就把所有的yaf class加载进去了。只不过都是用宏定义看,明眼上看去不容易看出来。

Comments are closed.

Post Navigation