這是類和函數的全局變量,它總是被稱爲第一使用全局變量的不工作
private $product_sku;
public function indexAction(){
$request = $this->_getValidRequest();
global $product_sku;
if ($this->flag == FALSE) {
$product = Mage::getModel('catalog/product')->loadByAttribute('sku', $product_sku);
$product_sku = $request['sku'];
}
else {
$product = Mage::getModel('catalog/product')->loadByAttribute('printed_order_number', $request['pon']);
$product_sku = $product->getSku();
}
// here I call the other function
}
而其他功能使用全局變量
public function showPopUpInProductViewPageAction(){
$request = $this->_getValidRequest();
$product = Mage::getModel('catalog/product')->loadByAttribute('sku', $GLOBALS['product_sku']);
Mage::log($GLOBALS['product_sku']); // logging $product_sku to check its value, but it's empty
}
這些都沒有完整的功能,只是相關代碼問題
所以,在第二個函數中$product
對象爲空,因爲product_sku
沒有任何價值。我不想重複檢查flag
的代碼。
我該如何在Java中使用它,即 - 我在類的開始處聲明變量,我在第一個函數中爲它分配一個值(僅一次),然後使用此值無論我在課堂上想要什麼。
僅僅因爲您通過'$ this'訪問某些內容不會使其成爲'global' ....事實上,通過'$ this'訪問它使其成爲實例變量或屬性....這肯定是__not__ global –
@MarkBaker - 我用我嘗試過的一些新方法(從我在這裏發現的http://php.net/manual/en/language.variables。 scope.php)但這並沒有幫助... – Syspect