Size: a a a

2021 September 03

AK

Andrey K in Evolution CMS
<?php
namespace EvolutionCMS\Main\Middleware;
use Carbon\Carbon;
use Closure;


class Auth{
   public function handle( $request, Closure $next){
       $a = 1;
       if($a === 0){
            EvolutionCMS()->sendForward(1);
       }
       else{
           return $next($request);
       }
   }
}
источник

AK

Andrey K in Evolution CMS
Для теста.
источник

AK

Andrey K in Evolution CMS
А вот если так — подхватывает везде кроме главной, но на второе условие возвращает белую страницу
Route::any('{all}', function () {
   Route::fallbackToParser();
})->middleware('EvolutionCMS\Main\Middleware\Auth');
источник

МН

Михаил Носков... in Evolution CMS
источник

AK

Andrey K in Evolution CMS
Блин. Мб файл не там?
core/custom/packages/main/src/Middleware/Auth.php
источник

МН

Михаил Носков... in Evolution CMS
может надо кэш опять сбросить, или composer dump-autoload
источник

AK

Andrey K in Evolution CMS
Или указыват ьего надо как-то не так
источник

AK

Andrey K in Evolution CMS
Route::middleware('EvolutionCMS\Main\Middleware\Auth')
источник

МН

Михаил Носков... in Evolution CMS
это надо смотреть в core/custom/composer.json  какой путь там указан
источник

AK

Andrey K in Evolution CMS
"EvolutionCMS\\Main\\": "packages/main/src/"
источник

МН

Михаил Носков... in Evolution CMS
можно так:
Route::middleware(EvolutionCMS\Main\Middleware\Auth::class)
источник

AA

Am Ambrion in Evolution CMS
Понимаю что для теста, да лучше сразу таких ошибок избегать.
Лучше запомнить что посредник всегда должен возвращать данные в виде $request хотя бы. Т.е. этот пример нужно чтобы ошибок нигде не было или были видны лучше делать так:
class Auth 
{
   public function handle($request, Closure $next)
   {
       $a = 1;
       if ($a === 0){
           EvolutionCMS()->sendForward(1);
       }
       
       return $next($request);
   }
}
Т.е. убрать else, т.к. нужно возвращать $request чтобы посредник дальше работал и не стопорил работу других.
источник

AK

Andrey K in Evolution CMS
У меня там щас
       echo "1";
       die;
и всё равно всё ок)))
источник

AA

Am Ambrion in Evolution CMS
Обычно namespace что-то типа App\Middleware, т.е в Вашем случае namespace EvolutionCMS\Middleware; а не namespace EvolutionCMS\Main\Middleware;
источник

AK

Andrey K in Evolution CMS
В роутах надо нейм или что-то такое писать при исмпользвоании миддла?
источник

AA

Am Ambrion in Evolution CMS
Для начала нужно попробовать тут сделать namespace EvolutionCMS\Middleware;
источник

МН

Михаил Носков... in Evolution CMS
нет, namespace правильный
источник

AK

Andrey K in Evolution CMS
Да уже всяко.
источник

AA

Am Ambrion in Evolution CMS
Хорошо.
источник

МН

Михаил Носков... in Evolution CMS
а какая версия evo?
источник