Loading...
PHP/MySQL | Свойство, как объект
свойство

public $site = [];

заполняем свойство и передаём в вид

$this->site['description'] = 'Описание страницы';
$site = (object) $this->site;
$this->set(compact('site'));

как видим получается что в каждом контроллере или экшене нужно прописывать

$site = (object) $this->site;

хочу убрать (object) из передачи в вид и сделать что-то вроде

public $site = (object) [];

но нихрена не получается, ошибка - Fatal error: Constant expression contains invalid operations

но свойство же не статичное и я ему просто задаю условие - пустой массив в виде объекта

короче нужно свойство один раз где-то обозвать объектом, чтобы при передаче в вид не писать (object)
________
посл. ред. 08.07.2019 в 23:18; всего 2 раз(а); by Вероломство
public static :-D
Один единственный вопрос.
На##Я?
Создать обект с _get и _set не?
________
посл. ред. 08.07.2019 в 23:25; всего 1 раз(а); by simple_php
Cloud (08.07.2019 в 23:21)
Один единственный вопрос.
На##Я?

у меня 100 контроллеров, в них может быть по несколько экшенов и в каждом при передаче в вид чтобы не писать (object) а сразу $this->site передавать, объявленное в базовом контроллере, как объект

и в виде выводить переменные не $var['a'], а как $var->a
simple_php (08.07.2019 в 23:21)
public static :-D


вот тогда 100% будет такая же ошибка
Вероломство (08.07.2019 в 23:26)
Cloud (08.07.2019 в 23:21)
Один единственный вопрос.
На##Я?

у меня 100 контроллеров, в них может быть по несколько экшенов и в каждом при передаче в вид чтобы не писать (object) а сразу $this->site передавать, объявленное в базовом контроллере, как объект

и в виде выводить переменные не $var['a'], а как $var->a

Где то выдел такое) через _construct делали
Вероломство (08.07.2019 в 23:26)
Cloud (08.07.2019 в 23:21)
Один единственный вопрос.
На##Я?

у меня 100 контроллеров, в них может быть по несколько экшенов и в каждом при передаче в вид чтобы не писать (object) а сразу $this->site передавать, объявленное в базовом контроллере, как объект

и в виде выводить переменные не $var['a'], а как $var->a

Подскажу лисапед *facepalm*
Тупо,но схема рабочая будет
$this->site = json_decode(json_encode($this->site));
Без TRUE ты получишь объект
*ROFL*
Cloud (08.07.2019 в 23:31)
*ROFL*

*coder* мегакодер уровень 101))
Онлайн: 0
Время:
Gen. 0.1274
(c) Bym.Guru 2010-2025