PHP7中文手册2018 带注释 最新chm版
<?php
/************************************************************ * get_called_class PHP 5.3 * 通过get_called_class获取调用类名称,在基类中静态化实例 * 优点:使用时方便, * 原始: * $user = new User; * $userinfo = $user->userInfo(); * 现在: * $userInfo = User::Instance()->userInfo(); ************************************************************/ /** * Class Base * 静态化-实例化工厂基类 * Base.php */ abstract class Base { static protected $instances; static public function Instance() { $class = get_called_class(); if( empty( self::$instances[$class] ) ) { self::$instances[$class] = new $class; } return self::$instances[$class]; } } /** * 服务类 * User.php */ require ('Base.php'); class User extends Base { protected $user = 'sean'; /** * 实现父类方法,实例化User类 * @return mixed */ static public function Instance() { return parent::Instance(); } public function userInfo() { return $this->user; } } /** * 调用输出 */ require ('User.php'); echo User::Instance()->userInfo();
转载请注明:谷谷点程序 » php 实例get_called_class