Вы можете просто вводить свой другой класс в свой 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 framework – phpdev