我正在调试一个网站 我不得不使用我以前不习惯的课程。
此站点中有此类处理$this
,但似乎没有任何变量传递给该类。
这个班级是这样的
class myclass extends otherclass{
function dosmthtomyclass{
print_r($this);
}
}
function dosmttomyclass
打印一个数组。
在类中有一些被定义受保护的变量,但似乎没有为这些变量指定任何特定值,并且类中没有构造函数将值传递给。
我对变量必须从哪里传递感到非常困惑。 这可能是非常基本的东西,但任何帮助将不胜感激。 将变量传递给类
的可能方法是什么?答案 0 :(得分:1)
$this
指的是当前对象。根据{{3}}
调用方法时,伪变量$ this可用 在对象上下文中。 $ this是对调用对象的引用 (通常是方法所属的对象,但可能是另一个 object,如果从a的上下文静态调用该方法 次要对象)。
这里有一些关于它的详细解释。这可能会帮助你理解
答案 1 :(得分:0)
您需要阅读有关OOP的手册和/或教程。因为这是你理解OOP的唯一方法。从这开始:http://www.php.net/manual/en/language.oop5.basic.php
$ this指的是对象的当前实例。阅读PHP +可见性,了解为什么私有变量/方法对子类(扩展类)不可见。
祝你好运!答案 2 :(得分:0)
$this
指的是该类的当前对象。为了更清晰起见,请执行以下代码:
<?php
class abc {
var $val = 3;
function show()
{
print_r($this);
}
}
$ob = new abc();
$ob->show();
答案 3 :(得分:0)
这是因为myclass从otherClass获取数据......就像这样:
<?php
class otherclass{
public $name="Mike";
}
class myclass extends otherclass {
function dosmthtomyclass() {
print_r($this);
}
}
$test=new myclass();
$test->dosmthtomyclass(); //prints "[name] => Mike"
答案 4 :(得分:0)
也许在php中使用类的一些背景可以帮助你:
$ this用于引用类中的层次结构。 例如,你可以有这样一个类:
class Phpclass{
public function main(){
echo "public function called<br/>";
$this->helloworld();
}
private function helloworld(){
echo "hello world";
}
}
$phpclass=new Phpclass();
$phpclass->main();
此类是将使用变量$ phpclass实例化的对象的蓝图。由于main()是类中的plublic函数,因此可以从类外部调用它。私有函数只能从类内部调用,因此main()函数使用$ this作为类本身的标识符来调用其自身内部的私有函数helloworld()。没有$ this,对象就不会知道你指的是一个函数本身。
首先,上面将回应“公共函数”,然后是“你好世界”。