【发布时间】:2011-11-29 12:55:03
【问题描述】:
我最近一直在使用 PHP,虽然我发现来自 C++/C#/python 等的语言非常简单,但在涉及到它的 OO 表示时,我遇到了一些奇怪的差异(也许)。如果有人能回答几个简短的问题,我将非常感激:)
构造函数可以在 PHP 中返回结果值吗?
当一个类中的一个成员函数调用另一个类中的成员函数时 一个类,我必须使用 self:: 范围还是只是一个提示?
为什么会有self::和$this->,有什么区别?
是否需要删除使用 new 创建的对象,或者将 超出范围删除它?我不确定它是否真的是动态的,或者 如果有像 C# 这样的垃圾收集。
我知道问题有点简单,而且我不断看到使用所有这些东西的代码 - 但我没有看到任何足够具体的东西,而且我家里没有一本好的 php 书 :) 所以谢谢你提前求答案!
【问题讨论】:
-
至少 #3 和 #4 各有十几个重复项(我为每个找到一个流行的:stackoverflow.com/questions/151969/php-self-vs-this 和 stackoverflow.com/questions/1735492/…)。
-
1.见PHP Manual:
void __construct ([ mixed $args [, $... ]] )AFAIK,不,构造函数不能返回任何东西。 -
3.
self与$this的范围不同。self指的是静态方法和属性,$this指的是当前(非静态)对象实例。 -
你真的应该从这里开始:us.php.net/manual/en/language.oop5.php