
动态实例化的类怎么在PHPStorm中实现代码提示
1个回答
展开全部
大部分PHP框架中,为了防止一个类被重复实例化,往往采用“单例模式”实例化类。我们的项目框架是这样做的:
先写好一个基类 /framework/Base.class.php,内容如下:
12345678910111213141516171819202122232425262728293031323334353637
<?phpnamespace framework; defined('SITE_PATH') or die('Access Denied'); /** * 业务基类 * * @package framework */class Base{ /** * 类实例化(单例模式) * * @return mixed * @throws \Exception */ public static function instance() { static $_instance = array(); $classFullName = get_called_class(); if (!isset($_instance[$classFullName])) { core_load_class($classFullName); if (!class_exists($classFullName, false)) { throw new \Exception('"' . $classFullName . '" was not found !'); } $_instance[$classFullName] = new $classFullName(); } return $_instance[$classFullName]; }}?>
先写好一个基类 /framework/Base.class.php,内容如下:
12345678910111213141516171819202122232425262728293031323334353637
<?phpnamespace framework; defined('SITE_PATH') or die('Access Denied'); /** * 业务基类 * * @package framework */class Base{ /** * 类实例化(单例模式) * * @return mixed * @throws \Exception */ public static function instance() { static $_instance = array(); $classFullName = get_called_class(); if (!isset($_instance[$classFullName])) { core_load_class($classFullName); if (!class_exists($classFullName, false)) { throw new \Exception('"' . $classFullName . '" was not found !'); } $_instance[$classFullName] = new $classFullName(); } return $_instance[$classFullName]; }}?>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询