如何使用一个变量,另一个变量在PHP类
问题描述:
我怎么能在一个PHP类这样使用一个变量,另一个变量:如何使用一个变量,另一个变量在PHP类
<?php
class example
{
var $first_num = 8;
var $second_num = $first_num + 3;
public function forexample($num)
{
if($num == $this->first_num)
{
echo $this->second_num;
}
}
etc...
}
?>
我想在一个类中使用这种方式。 请帮助我。
答
你想要做的其实是这样的:
<?php
class example
{
var $first_num;
var $second_num;
function __construct() {
$this->first_num = 8;
$this->second_num = $this->first_num + 3;
}
}
请记住,尽管你可以直接初始化变量,而在类体内declarating他们,你可能需要使用类的构造更复杂的初始化。
在这种特定情况下,禁止使用非常量值声明变量,因此变量$second_num
必须使用构造函数。
另外,如果你想微调变量的知名度,你可能想使用private
,public
,或protected
访问修饰符,而不是传统var
,这是过时的。
答
你将不得不在构造函数中这样做。见http://php.net/manual/en/language.oop5.properties.php:
这个声明可能包括初始化,但初始化必须是一个恒定值 - 也就是说,它必须能够在编译时进行评估,并以不能依赖于运行时信息进行评估。
请参阅SirDarius的回答。
答
你必须利用构造函数。一旦你这样做了,你可以在课堂的任何地方使用变量!
<?php
class example {
private $first_num;
private $second_num;
function __construct() {
$this->first_num = 8;
$this->second_num = $this->first_num + 3;
}
}
?>
由于您更新了您的问题,因此您必须将变量设置为public而非private。
你是什么意思?该代码有什么问题? – CMPS 2014-09-19 15:42:19