如何在方法中调用保存对象的变量?任何建议和帮助将非常感谢。
以下是进一步解释的例子,
这是我的类脚本,名为shirt.php
<?php
class shirt {
//some function and code here
public getSize() {
return $this->size;
}
}
?>
这是我的脚本,它调用名为shirt.func.php
的shirt.php<?php
require_once 'shirt.php';
$shirt = new Shirt();
function getShirtSize() {
return $shirt->getSize();
}
?>
问题是我不能在函数中使用变量 $ shirt 但是如果我在函数之外使用它它可以完美地运行。我有办法解决它,它创建了一个返回该对象启动的方法。
这是我的方式:
<?php
require_once 'foo.php';
function init() {
return $shirt = new Shirt();
}
function getShirtSize() {
return init()->getSize();
}
?>
还有其他有效的方法吗?感谢任何专业建议。
答案 0 :(得分:0)
require_once 'shirt.php';
$shirt = new shirt();
function getShirtSize($_shirt) {
return $_shirt->getSize();
}
getShirtSize($shirt) // pass the $shirt to the function
修改强>
或(不那么)伟大的全球:
require_once 'shirt.php';
$shirt = new shirt();
function getShirtSize() {
global $shirt;
return $shirt->getSize();
}
getShirtSize();
答案 1 :(得分:0)
方法和功能有各自的范围。他们只知道对象和标量,你明确地提供它们。因此,您必须将对象传入函数。
require_once 'shirt.php';
$myCurrentShirt = new Shirt();
function getShirtSize($shirt) {
return $shirt->getSize();
}
会做到的。有关函数用法的信息,请参阅manual。