Kiss - 用Php扩展实现的简单框架 - 2
时间:2008-01-22 来源:hshq_cn
kiss_const.c:
#define KISS_CONST_CS_P (CONST_CS | CONST_PERSISTENT)
#define KISS_EVAL ZEND_EVAL
#define KISS_INCLUDE ZEND_INCLUDE
#define KISS_INCLUDE_ONCE ZEND_INCLUDE_ONCE
#define KISS_REQUIRE ZEND_REQUIRE
#define KISS_REQUIRE_ONCE ZEND_REQUIRE_ONCE
#define KISS_STATUS_PREFIX_CTL 1
#define KISS_STATUS_SHARE_GP 4
#define KISS_STATUS_USE_PORT 5
#define KISS_STATUS_USE_CACHE 7
#define KISS_STATUS_DISPATCH_TYPE 8
#define KISS_STATUS_CLI_ROOT 16
#define KISS_STATUS_EXT_PROC 9
#define KISS_STATUS_EXT_PATH 10
#define KISS_STATUS_DEFAULT_MDL 11
#define KISS_STATUS_DEFAULT_CTL 12
#define KISS_STATUS_DEFAULT_ACT 13
#define KISS_STATUS_POSTFIX_CTL 14
#define KISS_STATUS_POSTFIX_ACT 15
#define KISS_E_READFILE 123
#define KISS_E_ONLYCLI 124
#define KISS_E_NEEDURI 125
#define KISS_E_CFGFILE 126
#define KISS_E_INITREQ 127
#define KISS_E_ROUTE 128
#define KISS_E_DISPATCH 129
#define KISS_E_CLSFILE 130
#define KISS_E_INSTANCE 131
#define KISS_E_CALLFUNC 132
#define KISS_E_CALLMTD 133
#define KISS_E_EVAL 134
#define KISS_E_NEEDROOT 135
#define KISS_REQ_ALL (0xFF)
#define KISS_REQ_METHOD (10)
#define KISS_REQ_HOST (11)
#define KISS_REQ_MODULE (12)
#define KISS_REQ_CONTROLLER (13)
#define KISS_REQ_ACTION (14)
#define KISS_REQ_FRAGMENT (15)
#define KISS_REQ_QUERY (16)
#define KISS_REQ_POST (17)
#define KISS_REQ_PARAMS ((16)^(17))
#define KISS_DISPATCH_FUNCTION (10)
#define KISS_DISPATCH_METHOD (11) // default
#define KISS_LS_PRE_DISPATCH (10) // default
#define KISS_LS_POST_DISPATCH (11)
#define KISS_REGISTER_LONG_CONSTANT(k) REGISTER_LONG_CONSTANT(#k, k, KISS_CONST_CS_P); \
#define KISS_EXPORT_CONST \
KISS_REGISTER_LONG_CONSTANT(KISS_EVAL); \
KISS_REGISTER_LONG_CONSTANT(KISS_INCLUDE); \
KISS_REGISTER_LONG_CONSTANT(KISS_INCLUDE_ONCE); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQUIRE); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQUIRE_ONCE); \
\
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_PREFIX_CTL); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_SHARE_GP); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_USE_PORT); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_USE_CACHE); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_DISPATCH_TYPE); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_CLI_ROOT); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_EXT_PROC); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_EXT_PATH); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_DEFAULT_MDL); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_DEFAULT_CTL); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_DEFAULT_ACT); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_POSTFIX_CTL); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_POSTFIX_ACT); \
\
KISS_REGISTER_LONG_CONSTANT(KISS_REQ_ALL); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQ_METHOD); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQ_HOST); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQ_MODULE); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQ_CONTROLLER); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQ_ACTION); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQ_FRAGMENT); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQ_QUERY); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQ_POST); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQ_PARAMS); \
\
KISS_REGISTER_LONG_CONSTANT(KISS_E_READFILE); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_ONLYCLI); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_NEEDURI); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_CFGFILE); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_INITREQ); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_ROUTE); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_DISPATCH); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_CLSFILE); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_INSTANCE); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_CALLFUNC); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_CALLMTD); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_EVAL); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_NEEDROOT); \
\
KISS_REGISTER_LONG_CONSTANT(KISS_DISPATCH_FUNCTION); \
KISS_REGISTER_LONG_CONSTANT(KISS_DISPATCH_METHOD); \
KISS_REGISTER_LONG_CONSTANT(KISS_LS_PRE_DISPATCH); \
KISS_REGISTER_LONG_CONSTANT(KISS_LS_POST_DISPATCH);
未完待续。。。
#define KISS_CONST_CS_P (CONST_CS | CONST_PERSISTENT)
#define KISS_EVAL ZEND_EVAL
#define KISS_INCLUDE ZEND_INCLUDE
#define KISS_INCLUDE_ONCE ZEND_INCLUDE_ONCE
#define KISS_REQUIRE ZEND_REQUIRE
#define KISS_REQUIRE_ONCE ZEND_REQUIRE_ONCE
#define KISS_STATUS_PREFIX_CTL 1
#define KISS_STATUS_SHARE_GP 4
#define KISS_STATUS_USE_PORT 5
#define KISS_STATUS_USE_CACHE 7
#define KISS_STATUS_DISPATCH_TYPE 8
#define KISS_STATUS_CLI_ROOT 16
#define KISS_STATUS_EXT_PROC 9
#define KISS_STATUS_EXT_PATH 10
#define KISS_STATUS_DEFAULT_MDL 11
#define KISS_STATUS_DEFAULT_CTL 12
#define KISS_STATUS_DEFAULT_ACT 13
#define KISS_STATUS_POSTFIX_CTL 14
#define KISS_STATUS_POSTFIX_ACT 15
#define KISS_E_READFILE 123
#define KISS_E_ONLYCLI 124
#define KISS_E_NEEDURI 125
#define KISS_E_CFGFILE 126
#define KISS_E_INITREQ 127
#define KISS_E_ROUTE 128
#define KISS_E_DISPATCH 129
#define KISS_E_CLSFILE 130
#define KISS_E_INSTANCE 131
#define KISS_E_CALLFUNC 132
#define KISS_E_CALLMTD 133
#define KISS_E_EVAL 134
#define KISS_E_NEEDROOT 135
#define KISS_REQ_ALL (0xFF)
#define KISS_REQ_METHOD (10)
#define KISS_REQ_HOST (11)
#define KISS_REQ_MODULE (12)
#define KISS_REQ_CONTROLLER (13)
#define KISS_REQ_ACTION (14)
#define KISS_REQ_FRAGMENT (15)
#define KISS_REQ_QUERY (16)
#define KISS_REQ_POST (17)
#define KISS_REQ_PARAMS ((16)^(17))
#define KISS_DISPATCH_FUNCTION (10)
#define KISS_DISPATCH_METHOD (11) // default
#define KISS_LS_PRE_DISPATCH (10) // default
#define KISS_LS_POST_DISPATCH (11)
#define KISS_REGISTER_LONG_CONSTANT(k) REGISTER_LONG_CONSTANT(#k, k, KISS_CONST_CS_P); \
#define KISS_EXPORT_CONST \
KISS_REGISTER_LONG_CONSTANT(KISS_EVAL); \
KISS_REGISTER_LONG_CONSTANT(KISS_INCLUDE); \
KISS_REGISTER_LONG_CONSTANT(KISS_INCLUDE_ONCE); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQUIRE); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQUIRE_ONCE); \
\
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_PREFIX_CTL); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_SHARE_GP); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_USE_PORT); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_USE_CACHE); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_DISPATCH_TYPE); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_CLI_ROOT); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_EXT_PROC); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_EXT_PATH); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_DEFAULT_MDL); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_DEFAULT_CTL); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_DEFAULT_ACT); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_POSTFIX_CTL); \
KISS_REGISTER_LONG_CONSTANT(KISS_STATUS_POSTFIX_ACT); \
\
KISS_REGISTER_LONG_CONSTANT(KISS_REQ_ALL); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQ_METHOD); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQ_HOST); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQ_MODULE); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQ_CONTROLLER); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQ_ACTION); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQ_FRAGMENT); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQ_QUERY); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQ_POST); \
KISS_REGISTER_LONG_CONSTANT(KISS_REQ_PARAMS); \
\
KISS_REGISTER_LONG_CONSTANT(KISS_E_READFILE); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_ONLYCLI); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_NEEDURI); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_CFGFILE); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_INITREQ); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_ROUTE); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_DISPATCH); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_CLSFILE); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_INSTANCE); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_CALLFUNC); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_CALLMTD); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_EVAL); \
KISS_REGISTER_LONG_CONSTANT(KISS_E_NEEDROOT); \
\
KISS_REGISTER_LONG_CONSTANT(KISS_DISPATCH_FUNCTION); \
KISS_REGISTER_LONG_CONSTANT(KISS_DISPATCH_METHOD); \
KISS_REGISTER_LONG_CONSTANT(KISS_LS_PRE_DISPATCH); \
KISS_REGISTER_LONG_CONSTANT(KISS_LS_POST_DISPATCH);
未完待续。。。
相关阅读 更多 +
排行榜 更多 +