如果我有两个公共函数,并且我想从一个内部拉一个变量,那么实现这个的最佳方法是什么?我知道'全球',但这种方法似乎可能会导致我的问题。
想象一下我有这样的事情:
class myCMS {
public function process_apples() {
$a = $_POST['$apples'];
}
public function display_apples() {
echo $a;
}
}
如何使用display_apples()
报告来自process_apples()
的$ a?我是PHP的新手,所以如果我违反了一些最好的组织我的代码练习,请随时告诉我。
答案 0 :(得分:3)
如果一个类中有两个方法,并希望在它们之间共享一个变量,那么你应该使用class property - 这是一个类中的变量。
您的课程将如下所示:
class myCMS {
protected $a; // declare the property (won't be visible from outside the class)
public function process_apples() {
$this->a = $_POST['$apples'];
}
public function display_apples() {
echo $this->a;
}
}
还有几点说明:
$this->property_name
来访问媒体资源$_POST
:它会让你的课程依赖于外部的全局变量 - 当然,由你决定是否是一个问题 答案 1 :(得分:1)
你会:
class myCMS {
private $a;
public function process_apples() {
$this->a = $_POST['$apples'];
// process
}
public function display_apples() {
echo $this->a;
}
}
答案 2 :(得分:1)
由于你正在使用一个类,你可以创建一个私有类变量,如下所示:
class myCMS {
private $a;
public function process_apples() {
$this->a = $_POST['$apples'];
}
public function display_apples() {
echo $this->a;
}
}