Rumah > pembangunan bahagian belakang > tutorial php > 请教一下在php类中 这个&this表示什么意思

请教一下在php类中 这个&this表示什么意思

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-23 14:09:16
asal
965 orang telah melayarinya

class CI_Base {	private static $instance;	public function CI_Base()	{		self::$instance =& $this;	}	public static function &get_instance()	{		return self::$instance;	}}function &get_instance(){	return CI_Base::get_instance();}
Salin selepas log masuk



self::$instance =& $this;
Salin selepas log masuk
  请教一下 这句是 什么意思 ?


回复讨论(解决方案)

请教整个类是什么意思

四不像的写法!
没有必要探讨吧

我见CI框架的一个开源案例 有这样的写法

那就放弃你手中的代码!

使用类名作为类的构造函数,是php4的写法。虽然目前php5也支持,但不保证以后也支持
php5中对象均以引用传递,声明为引用是多此一举,在特定的场合中还会报错

这段代码本意是套用单例模式
但又不符合单例模式的规则

本来 CI_Base::get_instance(); 应返回一个 CI_Base 类的实例,多次执行返回的都是同一个实例
但你的代码却要 先 new CI_Base 后 CI_Base::get_instance() 才生效
那再次 new CI_Base 不就发生冲突了吗?

这样的代码,只会引导你进入歧途

那就放弃你手中的代码!

使用类名作为类的构造函数,是php4的写法。虽然目前php5也支持,但不保证以后也支持
php5中对象均以引用传递,声明为引用是多此一举,在特定的场合中还会报错

这段代码本意是套用单例模式
但又不符合单例模式的规则

本来 CI_Base::get_instance(); 应返回一个 CI_Base 类的实例,多次执行返回的都是同一个实例
但你的代码却要 先 new CI_Base 后 CI_Base::get_instance() 才生效
那再次 new CI_Base 不就发生冲突了吗?

这样的代码,只会引导你进入歧途

谢谢 我明白了  结贴给分

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan