@infinityfreenom

Это одно и то же действие?

// index.php
$app = new App();

$middlewares = require_once ROOT . 'app' . DIRECTORY_SEPARATOR . 'middlewares.php';
$middlewares($app);

$app->run();

// middlewares.php
return function (App $app) {
    $app->debug();
};

// App.php
class App
{
    public function run()
    {
        // $this->что-то();
    }

    public function debug()
    {

    }
}


Если я делаю так
// index.php
(new App())->run();

// App.php
class App
{
    public function run()
    {
        // $this->debug()->что-то();
    }

    public function debug()
    {
        return $this;
    }
}


Это одно и то же действие?
  • Вопрос задан
  • 117 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Sergo94Min
Разработчик
Да, одно и тоже. Из документации:
Обратиться к свойству или методу только что созданного объекта можно с помощью одного выражения:

Пример
echo (new DateTime())->format('Y');

Поэтому (new App())->run() в вашем примере тоже самое
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы