我发现这项工作:
$var = 'value';
$obj = new myClass();
class myClass{
function __construct(){
$this->myFunc($var);
}
public function myFunc($var){
echo $var;
}
}
但这是一个很好的实践吗?或者我应该这样做?
$var = 'value';
$obj = new myClass($var);
class myClass{
public $var;
function __construct($var){
$this->var = $var;
$this->myFunc($this->var);
}
public function myFunc($var){
echo $var;
}
}
或者,如果两者都可以使用,建议何时使用一个,何时使用另一个? 另外,有一个很好的网站,博客,主题,关于PHP的最佳实践教程,包括oop?
编辑:似乎使用变量不输出值,但也没有给出错误。我的初始代码使用常量,我认为它也适用于变量:
define('blabla','value');
$obj = new myClass();
class myClass{
function __construct(){
$this->myFunc(blabla);
}
public function myFunc($var){
echo $var;
}
}
答案 0 :(得分:0)
你应该尝试这样的事情。
$myVar = 'myvalue';
class myClass {
private $class_var;
public function __construct($myVar) {
$this->class_var=$myVar;
}
//REST OF CLASS BELOW
}
因此,在声明对象时,您需要传递$ myVar
$myClass = new myClass($myVar);