<?php
class roxy
{
function sam()
{
$name;
$class;
$age;
echo $name;
echo $class;
echo $age;
}
}
$kush= new roxy();
$kush->name="sachin";
$kush->class=12;
$kush->age=21;
$kush->sam();
?>
这里变量是在本地声明的,然后是通过object设置的变量值,之后我调用它在结果屏幕中显示未定义的函数。
答案 0 :(得分:5)
这不是oop的工作方式:以下是您要实现的目标的实例:
<?php
class roxy
{
public $name;
public $class;
public $age;
public function sam()
{
echo $this->name;
echo $this->class;
echo $this->age;
}
}
$kush= new roxy();
$kush->name="sachin";
$kush->class=12;
$kush->age=21;
$kush->sam();
?>
答案 1 :(得分:1)
这是因为您的函数sam()
并未将您在之前声明的变量称为对象的变量。取而代之的是echo
你刚才定义的 你的函数sam()
中的变量,它们当然是未定义的。
这应该有效:
class Roxy {
public $name;
public $xclass;
public $age;
public function sam() {
echo $this -> name;
echo $this -> xclass;
echo $this -> age;
}
}
$kush= new Roxy();
$kush->name="sachin";
$kush->xclass=12;
$kush->age=21;
$kush->sam(); // > sachin > 12 > 21
+ class
是php中的保留关键字。你不应该使用它。相反,请使用xclass。
答案 2 :(得分:0)
您需要使用$this
来引用课程&#39;自己的属性。要获得您想要的行为,请将您的类更改为:
class roxy
{
public $name;
public $class;
public $age;
public function sam()
{
echo $this->name;
echo $this->class;
echo $this->age;
}
}
答案 3 :(得分:0)
1-你的变量是在函数内定义的,而不是类!
2-他们应该被宣布为公共(以及功能)
3-您应该使用$ this在函数
中调用它们