You've already forked qlg.tsgz.moe
							
							Init Repo
This commit is contained in:
		
							
								
								
									
										45
									
								
								thinkphp/library/traits/think/Instance.php
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										45
									
								
								thinkphp/library/traits/think/Instance.php
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| <?php | ||||
| // +---------------------------------------------------------------------- | ||||
| // | ThinkPHP [ WE CAN DO IT JUST THINK ] | ||||
| // +---------------------------------------------------------------------- | ||||
| // | Copyright (c) 2006~2017 http://thinkphp.cn All rights reserved. | ||||
| // +---------------------------------------------------------------------- | ||||
| // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) | ||||
| // +---------------------------------------------------------------------- | ||||
| // | Author: liu21st <liu21st@gmail.com> | ||||
| // +---------------------------------------------------------------------- | ||||
|  | ||||
| namespace traits\think; | ||||
|  | ||||
| use think\Exception; | ||||
|  | ||||
| trait Instance | ||||
| { | ||||
|     protected static $instance = null; | ||||
|  | ||||
|     /** | ||||
|      * @param array $options | ||||
|      * @return static | ||||
|      */ | ||||
|     public static function instance($options = []) | ||||
|     { | ||||
|         if (is_null(self::$instance)) { | ||||
|             self::$instance = new self($options); | ||||
|         } | ||||
|         return self::$instance; | ||||
|     } | ||||
|  | ||||
|     // 静态调用 | ||||
|     public static function __callStatic($method, $params) | ||||
|     { | ||||
|         if (is_null(self::$instance)) { | ||||
|             self::$instance = new self(); | ||||
|         } | ||||
|         $call = substr($method, 1); | ||||
|         if (0 === strpos($method, '_') && is_callable([self::$instance, $call])) { | ||||
|             return call_user_func_array([self::$instance, $call], $params); | ||||
|         } else { | ||||
|             throw new Exception("method not exists:" . $method); | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user