PHP/MySQL | Не работает метод
Тема закрыта by
DELETED
Причина: оставил как есть до тех пор пока много свободного времени появится
Причина: оставил как есть до тех пор пока много свободного времени появится

DELETED
Автор
31 мая 2019, в 17:29
Delete
<?php
namespace vendor\core\base;
abstract class Controller
{
public $route = [];
public $layout;
public $view;
public $vars = [];
public function __construct($route)
{
$this->route = $route;
$this->view = $route['action'];
}
public function getView()
{
$vObj = new View($this->route, $this->layout, $this->view);
$vObj->render($this->vars);
}
public function set($vars)
{
$this->vars = $vars;
}
}
вызов
<?php
namespace app\controllers;
class MainController extends AppController
{
public function indexAction()
{
$name = 'Имя';
$this->set(compact('name'));
}
}
работает
хочу изменить вызов на
$this->set('name');
поэтому переписываю метод
public function set($vars)
{
$this->vars = compact($vars);
}
не работает
что не так, может я что-то не вижу?
Объявление AppController в студию.

DELETED
Автор
31 мая 2019, в 17:51
Delete
monobogdan (31.05.2019 в 17:46)
Объявление AppController в студию.
Объявление AppController в студию.
в одной директории с MainController
наследует Controller
это не нужно, изначально работает, я compact() хочу убрать при вызове и переместить её в метод set(), чтобы при вызове только имена переменных прописывать
Вероломство, $this->set($name);
не?
не?
Вероломство (31.05.2019 в 17:51)
monobogdan (31.05.2019 в 17:46)
Объявление AppController в студию.
в одной директории с MainController
наследует Controller
это не нужно, изначально работает, я compact() хочу убрать при вызове и переместить её в метод set(), чтобы при вызове только имена переменных прописывать
monobogdan (31.05.2019 в 17:46)
Объявление AppController в студию.
в одной директории с MainController
наследует Controller
это не нужно, изначально работает, я compact() хочу убрать при вызове и переместить её в метод set(), чтобы при вызове только имена переменных прописывать
Бэктрейс при вызове в студию.
https://www.php.net/manual/ru/function.debug-print-backtrace.php

DELETED
Автор
31 мая 2019, в 19:07
Delete
monobogdan (31.05.2019 в 18:58)
Вероломство (31.05.2019 в 17:51)
monobogdan (31.05.2019 в 17:46)
Объявление AppController в студию.
в одной директории с MainController
наследует Controller
это не нужно, изначально работает, я compact() хочу убрать при вызове и переместить её в метод set(), чтобы при вызове только имена переменных прописывать
Бэктрейс при вызове в студию.
https://www.php.net/manual/ru/function.debug-print-backtrace.php
Вероломство (31.05.2019 в 17:51)
monobogdan (31.05.2019 в 17:46)
Объявление AppController в студию.
в одной директории с MainController
наследует Controller
это не нужно, изначально работает, я compact() хочу убрать при вызове и переместить её в метод set(), чтобы при вызове только имена переменных прописывать
Бэктрейс при вызове в студию.
https://www.php.net/manual/ru/function.debug-print-backtrace.php
vendor\core\base\Controller->set(name)

DELETED
Автор
31 мая 2019, в 19:08
Delete
Avenax (31.05.2019 в 18:58)
Вероломство, $this->set($name);
не?
Вероломство, $this->set($name);
не?
неа
Вероломство, всё потому-что, ты передаёшь просто имя переменно, а значение нет
Вероломство, имя то положит, а что в нём лежать то будет? вот и ошибка
Вероломство (31.05.2019 в 19:07)
monobogdan (31.05.2019 в 18:58)
Вероломство (31.05.2019 в 17:51)
monobogdan (31.05.2019 в 17:46)
Объявление AppController в студию.
в одной директории с MainController
наследует Controller
это не нужно, изначально работает, я compact() хочу убрать при вызове и переместить её в метод set(), чтобы при вызове только имена переменных прописывать
Бэктрейс при вызове в студию.
https://www.php.net/manual/ru/function.debug-print-backtrace.php
vendorcorebaseController->set(name)
monobogdan (31.05.2019 в 18:58)
Вероломство (31.05.2019 в 17:51)
monobogdan (31.05.2019 в 17:46)
Объявление AppController в студию.
в одной директории с MainController
наследует Controller
это не нужно, изначально работает, я compact() хочу убрать при вызове и переместить её в метод set(), чтобы при вызове только имена переменных прописывать
Бэктрейс при вызове в студию.
https://www.php.net/manual/ru/function.debug-print-backtrace.php
vendorcorebaseController->set(name)
Вывод ошибок включен? Может compact в другом неймспейсе?
________
посл. ред. 31.05.2019 в 19:11; всего 1 раз(а); by monobogdan