> 백엔드 개발 > PHP 튜토리얼 > 请教一下在php类中 这个&this表示什么意思

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-23 14:09:16
원래의
963명이 탐색했습니다.

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();}
로그인 후 복사



self::$instance =& $this;
로그인 후 복사
  请教一下 这句是 什么意思 ?


回复讨论(解决方案)

请教整个类是什么意思

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

我见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 不就发生冲突了吗?

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

谢谢 我明白了  结贴给分

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿