Вызовите константу env в файле промежуточного программного обеспечения на Laravel

Я пытаюсь вызвать константу .env из файла Middleware с помощью Laravel, но получаю только то, что выражение Constant содержит недопустимую операцию.

Это мой фактический код:

<?php

namespace App\Http\Middleware;

use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;

class VerifyCsrfToken extends Middleware
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
env("TELEGRAM_BOT_TOKEN") . '/webhook'
];
}

0

Решение

Эта ошибка означает, что значения по умолчанию для свойств класса / объекта должны быть постоянными в PHP. Это потому, что их значения определяются во время компиляции / разбора, а не во время выполнения. Это означает, что вы не можете вызывать какие-либо функции.

Однако вы можете сделать это в конструкторе класса. Добавьте следующую функцию VerifyCsrfToken учебный класс:

public function __construct(Application $app, Encrypter $encrypter) {
parent::__construct($app, $encrypter);
$this->except = [
env("TELEGRAM_BOT_TOKEN") . '/webhook'
];
}

Убедитесь, что у вас есть следующее использование операторы в начале файла:

use Illuminate\Foundation\Application;
use Illuminate\Contracts\Encryption\Encrypter;
2

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

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

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