массивы — определение значения константы php с помощью функции в классе

Можно ли определить константу массива php в классе с помощью функции?

редактировать: «переменная массива php» не константа

Я пробовал:

предполагать,
массив func (строка param1, строка param2 …);

class A{

public static $const;

public function blah(){
self::$const = func('a','b','c',...);
}
}

отладчик в возвышенном не показывает значение для $ const после точки останова в строке self :: $ const

-1

Решение

В PHP < 5.6 вы не можете иметь массивы в качестве констант.

Если вы хотите вернуть константу через функцию, вы просто сделаете:

define('FOO', 'bar')

function getFoo() {
return FOO;
}

но это не возвращает массив, и это довольно глупый пример.

Я думаю, что вы действительно хотите сделать, это вернуть массив из статического метода класса, что-то вроде:

class Foo {
public static function GetFoo() {
return array(1, 2, 3);
}
}

Foo::GetFoo();

или если вы хотите запустить функцию как метод экземпляра объекта, вы не установили бы статическое свойство (это не имеет смысла для меня).

class Foo {
private $foo = array();

public function getFoo($arg1, $arg2) { // not sure what your arguments are for if this is intended to be a "constant"...
$this->foo = array(...)
return $this->foo
}
}

$someFoo = new Foo();
$someFoo->getFoo(1, 2);

Это помогает вообще? Многочисленные примеры на PHP константы, содержащие массивы? должно помочь тоже.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector