Проблема с роутингом в Laravel 5.7 , всё работает на виртуальных серверах openserver и xampp . Залил на хостинг сайт, всё работает кроме админки. Она работает следующим образом , если человек залогинен и он админ, то можно перейти в НазваниеСайта/admin и откроется админка.Но при переходе туда возникает ошибка - Call to undefined method App\Http\Middleware\AdminMiddleware::middleware().
Файл web.php
<?php
Route::group([
'middleware' => 'admin'
],function (){
});
Route::get('/', 'HomeController@index');
Route::get('/post/{slug}','HomeController@show')->name('post.show');
Route::get('/tag/{slug}','HomeController@tag')->name('tag.show');
Route::get('/category/{slug}','HomeController@category')->name('category.show');
Route::post('/subscribe','SubsController@subscribe');
Route::get('/verify/{token}', 'SubsController@verify');
Route::group(['middleware' => 'auth'],function (){
Route::get('/logout', 'AuthController@logout');
Route::get('/profile', 'ProfileController@index');
Route::post('/profile','ProfileController@store');
Route::post('/comment','CommentsController@store');
});
Route::group(['middleware' => 'guest'],function (){
Route::get('/register','AuthController@registerForm');
Route::post('/register', 'AuthController@register');
Route::get('/login','AuthController@loginForm')->name('login');
Route::post('/login','AuthController@login');
});
Route::group(['prefix'=>'admin','namespace'=>'Admin', 'middleware' => 'admin'], function()
{
Route::get('/', 'DashboardController@index');
Route::resource('/categories', 'CategoriesController');
Route::resource('/tags', 'TagsController');
Route::resource('/users', 'UsersController');
Route::resource('/posts', 'PostsController');
Route::get('/comments','CommentsController@index')->name('comments.index');
Route::get('/comments/toggle/{id}', 'CommentsController@toggle');
Route::delete('/comments/{id}/destroy', 'CommentsController@destroy')->name('comments.destroy');
Route::resource('/subscribers', 'SubscribersController');
});
Файл Kernel.php
<?php
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
protected $middleware = [
\App\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
\App\Http\Middleware\TrustProxies::class,
];
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'api' => [
'throttle:60,1',
'bindings',
],
];
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
'admin' => \App\Http\Middleware\AdminMiddleware::class
];
}
Файл AdminMiddleware.php
<?php
namespace App\Http\Middleware;
use Closure;
use Auth;
class AdminMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if(Auth::check() && Auth::user()->is_admin)
{
return $next($request);
}
abort(404);
}
}
Скриншот из PhpStorm https://vk.com/id155276665?z=photo155276665_456240292%2Falbum155276665_00%2Frev
Во первых, исправьте web.php. У вас там пустая функция в начале.Зарегистрируйте посредник в массиве middleware файла kernel.php.
protected $middleware =[
...
\App\Http\Middleware\AdminMiddleware::class,
...];
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть страница https://sitecom/zapis/ как загрузить определенный контент например: echo 'Yes'; если перешли на #tab3 https://site
Задача: вывести значение переменной на экранКак сделать? Вот что я написал пока
Нужно открыть файл и считать из него только строку с латинскими буквами и вывести ееНе знаю как задать условие, что бы считывалась только...