PHP类的基础知识:在类中传递值

时间:2012-07-24 08:37:32

标签: php oop

我正在调试一个网站 我不得不使用我以前不习惯的课程。

此站点中有此类处理$this,但似乎没有任何变量传递给该类。 这个班级是这样的

class myclass extends otherclass{

    function dosmthtomyclass{
        print_r($this);
    }
}

function dosmttomyclass打印一个数组。

在类中有一些被定义受保护的变量,但似乎没有为这些变量指定任何特定值,并且类中没有构造函数将值传递给。

我对变量必须从哪里传递感到非常困惑。 这可能是非常基本的东西,但任何帮助将不胜感激。 将变量传递给类

的可能方法是什么?

5 个答案:

答案 0 :(得分:1)

$this指的是当前对象。根据{{​​3}}

  

调用方法时,伪变量$ this可用   在对象上下文中。 $ this是对调用对象的引用   (通常是方法所属的对象,但可能是另一个   object,如果从a的上下文静态调用该方法   次要对象)。

这里有一些关于它的详细解释。这可能会帮助你理解

PHP documentation

答案 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,对象就不会知道你指的是一个函数本身。

首先,上面将回应“公共函数”,然后是“你好世界”。