Хм, я не уверен, что вы пытаетесь сделать здесь.
Middleware
A Middleware
используется для применения logi c в середине запроса (например, проверка авторизации, добавление перенаправлений, изменение запрос). Промежуточное программное обеспечение, которое вы написали, будет работать, но ничего не делать с вашим запросом!
if (true) {
return $next($request);
}
Условие if всегда будет проходить, но все, что он делает, это говорит: «перейти к следующей части запроса». "
Документацию по промежуточному программному обеспечению можно найти здесь
Директивы Blade
Если вы хотите расширить Blade
и зарегистрируйте новые директивы, такие как @houseowner
, вы должны сделать это в ServiceProvider
, например AppServiceProvider
, например:
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Blade::directive('houseowner', function ($expression) {
// Return your custom markup here
return "<?php echo "houseowner"; ?>";
});
}
Документацию по расширению шаблонов Blade можно найти здесь
Blade Logi c
Я подозреваю, что вы пытаетесь сделать некоторые условные логики c для отображения тега a
, если пользователь является «домовладельцем»?
Вы можете сделать это с помощью стандартных операторов blade-логики c, например, так:
@if (Auth::user->isHouseOwner())
<a class="dropdown-item" href="/houseowner/roomid/1/userid/{{Auth::id()}}/images/create">
Upload images
</a>
@endif
Вам потребуется создать метод с именем isHouseOwner()
на Ваша User
модель, конечно.
Похоже, вы довольно плохо знакомы с Laravel, я настоятельно рекомендую некоторое время читал документацию. Удачи!