您可以將其他類注入AdminController
類,並設置get
方法來獲取所需的數組。想必您已在班級設立像這樣(顯然會有更多的腳本):
class Lang
{
public function someMethod()
{
$array = array(
'app_list_strings'=>array(
'country'=>array(
'k1'=>'val1',
'k2'=>'v2'
)
)
);
}
}
如果添加一個祕密參數和方法,你可以提取該數組:
class Lang
{
# Create parameter
private $array;
# Whatever method contains the array
public function someMethod()
{
# use $this here
$this->array = array(
'app_list_strings'=>array(
'country'=>array(
'k1'=>'val1',
'k2'=>'v2'
)
)
);
# I am just returning self for sake of demonstration.
return $this;
}
# Returns the array
public function getArray()
{
return $this->array;
}
}
class AdminController
{
# Inject your other class
public function whateverMethod(Lang $lang)
{
# Retrieve array from getArray() method
print_r($lang->someMethod()->getArray());
}
}
要使用方法:
<?php
$AdminController = new AdminController();
$AdminController-> whateverMethod(new Lang());
爲了得到陣列只是一般:
<?php
$Lang = new Lang();
print_r($Lang->someMethod()->getArray());
如果類遠彼此分離的,因爲它們是從你的腳本不同地區打來電話,他們不能像注射證明,你可以改變private $array
到private static $array
和分配self::$array = array(...etc.
然後返回self::$array
。由於它是靜態的,它將通過腳本持續存在。最後的辦法是保存到$_SESSION
,但這可能不是最理想的解決方案。
有一個你想要學習的類的例子嗎? – Machavity
你使用任何框架? –
我正在使用yii 1框架 – phpdev