Создание CMS на Laravel: создание админки и настройка url админки

Ромчик
0

Создание CMS на Laravel

Доброго времени суток. Мы продолжаем создавать CMS на Laravel. Так в прошлой статье мы с вами установили Laravel, настроили виртуальный хост на OpenServer (для разработки), настроили виртуальный хост на Ubuntu (для тестирования). А в данной статье мы создадим админку для нашей CMS. Это первое, что нам необходим сделать. И второе – вынесем адрес админки в конфигурационный файл. Тогда мы сможем редактировать адрес админки в конфигурационном файле. Ну, что поехали.

Давайте определимся. Все контроллеры, относящиеся к админке, будут находится в папке app\Http\Controllers\Admin. Все вьюшки относящиеся к админке в папке resources\views\Admin.

Создание админки  CMS

Первое давайте создадим контроллер для админки, который будет выводить панель управления. Для этого переходим в терминале переходим в корень нашего проекта и выполняем следующую команду:


    php artisan make:controller Admin\DashboardController

Создание контроллера
Открываем наш контроллер на редактирование и добавляем следующий метод:


public function show()
{
    return 'Админка - Панель управления';
}

Теперь давайте пропишем роут. Открываем файл: routes\web.php и добавляем в него следующий код:


Route::get('admin',['as' => 'admin.dashboard','uses' => 'Admin\DashboardController@show']);

Сохраняем и проверяем.

Проверка контроллера

Отлично все работает. Но роутов, относящихся к админке у нас будет много, поэтому давайте создадим группу роутов и дадим ей имя.

Про то, что такое группа роутов вы можете прочитать в официальной документации. А про именованные роуты вы можете прочитать у меня в статье «Laravel: Именованные группы роутов»

Открываем файл routes\web.php и меняем:


Route::get('admin',['as' => 'admin.dashboard','uses' => 'Admin\DashboardController@show']);

на


Route::group(
[
    'prefix' => 'admin',
    'namespace' => 'Admin',
    'as' => 'admin.',
],
function(){
    Route::get('/',['as' => 'dashboard','uses' => 'DashboardController@show']);
}
);

Проверяем. Все работает.

Теперь давайте добавим вьюшку. Для этого создадим  в папке resources\views\    папку «Admin» тут, как я писал выше, будут располагаться вьюшки для нашей админки. Теперь в папке Admin создадим папку Dashboard и в ней файл show.blade.php

Добавим в этот файл следующий код


<?php
    echo 'Это вьюшка';
?>

<h1>Админка - Панель управления</h1>

И теперь изменим метод show нашего контролера


public function show()
{
    return view('Admin.Dashboard.show');
}

Проверяем.

Проверка view

Отлично все работает. Теперь давайте сделаем возможность изменять URL админке через конфигурационный файл.

Настройка адреса админки.

Как вы знаете все основные настройки хранятся в  файле .env, который расположен в корне нашего проекта. Давайте и настройку адреса админки поместим туда. Создадим в этом файле еще одну константу.


APP_ADMIN_URL=test

Где вместо test вы можете прописать любой адрес для админки.

Теперь внесем несколько изменений в файл с роутами.

Первое в самом начале файла добавим:


$adminURL = env('APP_ADMIN_URL', 'admin');

Второе, в группе роутов заменим «namespace» c «Admin» на  $adminURL

Сохраняем и проверяем.

Перейдем в начале по /admin

Ошибка. Старый адрес админки Laravel

Страница не найдена. И правильно мы же указали, что адрес админки теперь «test». Переходим /test

Проверка нового адреса админки

Все работает.

Заключение.

Мы с вами создали контроллер для админки, тем самым заложили основу разработки админки нашей CMS на Laravel. А также вынесли настройку адреса для админки в конфигурационный файл.

Дальше мы сделаем авторизацию для админки. Так, что не пропускайте выхода новых статей.

Чтобы не пропустить выхода новых статей подписываемя: VK, twitter, facebook. И канал на youtube
Понравилась статья? Поделись с друзьями.
  • Add to favorites
  • Добавить ВКонтакте заметку об этой странице
  • Twitter
  • Facebook
  • Мой Мир
  • LiveJournal
  • Одноклассники
  • Блог Я.ру
  • MySpace
  • FriendFeed
  • В закладки Google
  • Google Buzz
  • Яндекс.Закладки
  • Reddit
  • StumbleUpon
  • Technorati
  • del.icio.us
  • БобрДобр
  • LinkedIn
  • Memori.ru
  • Сто закладок
  • Blogger

©2012-2018 По всем вопросам обращайтесь через форму обратной связи

Яндекс.Метрика