1 2 3, S, k, o ^: I# [; G) C# O 4 5* V0 W) n* H+ Z: d: h3 j 6 7 8 9+ A6 v0 N) |: u1 Y% y, w0 M# d 10* W. l' q$ t0 `; V 110 f& D6 u3 J, a' G2 P2 L C" r 127 e' k; s8 g" W1 M0 o0 D 13. O/ D9 I7 |% ]6 N7 A% g/ P+ V 14 153 e5 Z% c7 Y* ~ 16 17 180 q6 d: `! a. F+ e% j 199 r% ?4 [2 a- ~' L 20 O* V9 l& q8 x9 Q 21 225 [: I9 h& t* }' x# Z# c" U& H 23 24 25 26( e5 E; B7 w9 P% K8 m6 q 27" R, E( u) [% B9 v$ ` 281 D$ g9 l' w: E7 { 29 30! P) S: k" R7 r. v0 C9 f) E' [ 31 32% a; v {5 K3 Z# e# P 33 34 35 364 o" Y' ?* n, E' K( q 371 g) T. d) I5 s5 B% f2 ]+ p 38 39; h" `$ |7 S: [2 J( z+ l4 U 40 41 425 |) l! g; [$ x# J 438 F- P. K p2 F& I 44 453 H5 ^; h% P7 |. { Q 46* r( `/ x6 T5 |4 W2 N- v, _5 i 47 48% a" \7 e. P) B* z1 j 49 50( P% J Z3 O# a, Z 51 52 53 54 55 56& Q0 x# ~% E# M! o, v6 ] | <?php class inload) L9 w3 j0 J$ B6 F: }/ } { /**# z# R4 Q5 @0 `5 [$ P, Q* r4 P * 类自动载入,不需要由开发者调用 *1 i( [$ N2 j8 g" G' R# V" S1 z * @param string $class 类文件- Y/ e: z% ?8 t4 x- m */ private function autoload( $class ) {( ?$ Y |, Q" }' X2 t% Y if( empty($class) ) { throw new qexception('加载文件不存在'.$class); }* V# ]# ]; @& _+ ~ else {! [" F5 V0 L; d require _spring_.'/_core/springmap.php'; //框架地图 if(! file_exists( $source[$class]['file'] ) )1 V* k/ U7 q9 \& h$ u& Q { throw new qexception('加载文件不存在'.$class);9 _7 `8 O3 _( {) l+ V- a- R } require $source[$class]['file']; } }5 S8 p v! p) r# c) U6 M- u8 k /**+ D# S& X- g8 B: r9 L& | * 注册或取消注册一个自动类载入方法+ r3 Z% i7 h T * * 该方法参考 zend framework) `. G* R5 c: }, l- [ *; z9 T" ^2 `( X. J; H7 J7 x * @param string $class 提供自动载入服务的类 * @param boolean $enabled 启用或禁用该服务' U% r& o# c9 y6 J */1 A2 B/ C: Z* [/ x5 F private function registerautoload($class = 'interpreter' , $enabled = true) { if (!function_exists('spl_autoload_register')) {( G, v s4 x2 }' d) T5 [: u throw new qexception('spl_autoload 不存在这个php的安装');/ q7 N: f; D6 } }! D* G0 j8 N8 C' u- d" i if ($enabled === true) {! I Z% S/ s/ G0 C spl_autoload_register(array($class, 'autoload'));' h' s4 R v3 p- C& f1 ` }7 V+ p' B. O# a/ Y* E# R+ G4 D+ H else {9 `, A {2 {1 F4 ^9 o spl_autoload_unregister(array($class, 'autoload')); }$ S- Y5 `/ k4 g( s5 j' `! e }( ]6 T( s Q+ x /** * 析构函数 */& R6 a$ p7 R+ [& v: Q public function __destruct() {+ F6 h; l% Y. b self::registerautoload('interpreter' , false);5 ]- x! [, U' F2 J9 K } " p) i; V' ?/ ` |
欢迎光临 得知互动 (https://bbs.dezhifl.com/) | Powered by Discuz! X3.4 |