Laravel을 사용하여 미들웨어 파일에서 .env 상수를 호출하려고하는데 상수 표현식에 잘못된 작업이 포함되어 있습니다.
이것은 내 실제 코드입니다.
<?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'
];
}
이 오류는 클래스 / 객체 속성의 기본값 이 PHP에서 일정해야 함을 의미합니다 . 이는 해당 값이 런타임이 아닌 컴파일 / 파싱 시간에 결정되기 때문입니다. 즉, 어떤 함수도 호출 할 수 없습니다.
그러나 클래스 생성자에서이를 수행 할 수 있습니다. VerifyCsrfToken 클래스에 다음 함수를 추가합니다 .
public function __construct(Application $app, Encrypter $encrypter) {
parent::__construct($app, $encrypter);
$this->except = [
env("TELEGRAM_BOT_TOKEN") . '/webhook'
];
}
파일 시작 부분에 다음 use 문 이 있는지 확인하십시오 .
use Illuminate\Foundation\Application;
use Illuminate\Contracts\Encryption\Encrypter;
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다