Рубрики
Uncategorized

Laravel 5.8 введение Серия II, быстрое построение функции регистрации пользователей и входа в систему

Автор оригинала: David Wong.

Одна конфигурация среды xampp

На этот раз нам нужно начать использовать среду разработки наследования, потому что нам нужно использовать базу данных для выполнения функций входа и регистрации пользователей. Во-первых, чтобы настроить среду xampp, нам нужно добавить Vhost, чтобы указать на общедоступный каталог блога 5.8.

  1. Настройка 8000 портов

Откройте каталог конфигурации xampp xampp/apache/conf Редактор http.conf Файлы, выполните поиск Прослушивание 80 , а затем добавьте другой порт, прослушивающий ниже Прослушивание 8000 . Изменено следующим образом

Listen 80
Listen 8000
  1. Настройка Хоста

Откройте каталог конфигурации файла xampp xampp/apache/conf/extra edit httpd-vhosts.conf , добавьте следующее в конце файла и обратите внимание на изменение каталога блога 5.8

” *:8000> Администратор сервера [email protected] DocumentRoot “D:/code/blog5.8/public” Имя сервера локальный хост хост> <Каталог “D:/code/blog5.8/public”> Параметры Индексирует Следующие ссылки Включает в себя ExecCGI AllowOverride Все Разрешить,запретить Разрешить из всех ” *:8000> Администратор сервера [email protected] DocumentRoot “D:/code/blog5.8/public” Имя сервера локальный хост хост> <Каталог “D:/code/blog5.8/public”> Параметры Индексирует Следующие ссылки Включает в себя ExecCGI AllowOverride Все Разрешить,запретить Разрешить из всех ” хост> <Каталог “D:/code/blog5.8/public”> Параметры Индексирует Следующие ссылки Включает в себя ExecCGI AllowOverride Все Разрешить,запретить Разрешить из всех “

До сих пор мы настроили xampp и используем конфигурацию по умолчанию для других. Теперь посетите http://localhost: 8000, чтобы просмотреть главную страницу, доступ к которой ранее осуществлялся с помощью встроенного сервера laravel.

База данных использует значение по умолчанию http://localhost/ php мой администратор Администрирование. Посещение http://localhost/phpmyadmin Создайте файл с именем laravel58 База данных с набором символов, установленным как utf8mb4_general_circulation

Информация о базе данных конфигурации

Laravel сам сгенерировал файл конфигурации. Файл конфигурации базы данных находится в blog5.8/conf/database.php Средний. Файл конфигурации базы данных laravel 5.8 содержит различные примеры конфигурации базы данных. Здесь мы используем базу данных MySQL, поэтому нам нужно ее изменить database.php Конфигурация MySQL в

'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '3306'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSWORD', ''),
    'unix_socket' => env('DB_SOCKET', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'prefix_indexes' => true,
    'strict' => true,
    'engine' => null,
    'options' => array_filter([
        PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
    ]),
],

Нам необходимо изменить адрес подключения к базе данных, имя базы данных, имя пользователя базы данных, пароль базы данных и другие параметры в зависимости от конфигурации нашей локальной базы данных. Здесь следует отметить, что в целом конфигурация базы данных является конфиденциальным контентом в процессе разработки. Поэтому локальные переменные среды обычно используются для настройки фактической информации базы данных. Все локальные переменные среды laravel настроены в .env В документе. Этот файл по умолчанию windows Скрыт в браузере файлов.

Здесь мы также используем локальную среду для облегчения настройки нашей локальной библиотеки

“” DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB = = комментарий, имя базы данных, пользователь базы данных//комментарий, имя пользователя базы данных, БД? Пароль =? Комментарий, пароль базы данных, xampp по умолчанию пуст “

Один клик для создания страницы регистрации для входа

Сам Laravel предоставляет команды для быстрого создания учетных записей пользователей. В корне выполните следующую команду: “sh php artisan make:auth ” Таким образом, laravel создал для нас интерфейс входа и регистрации пользователей. Файл попытки интерфейса находится в resources\views\auth В каталоге. Зарегистрируйте контроллер, связанный с входом, в каталоге app\Http\Контроллеры\Auth

Посетите http://localhost: 8000, и вы увидите, что запись для регистрации входа уже появилась в верхней строке.

Интерфейс входа в систему

Интерфейс регистрации

В дополнение к созданию интерфейса эта команда также находится в файле маршрутизации route/web.php Добавлен маршрут, необходимый для регистрации пользователя при входе в систему.

Auth::routes();

Создать таблицу пользовательских данных

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

Пожалуйста, не бойтесь. Это просто laravel говорит вам, что в системе нет готовой таблицы данных до того, как вы зарегистрируете пользователей.

Laravel подготовил файл переноса данных. Пока мы выполняем команду переноса данных в командной строке, laravel поможет нам создать необходимую таблицу данных. В корневом каталоге выполните следующую команду:

php artisan migrate

На этом шаге, если ваша команда продвигается неправильно, сообщение об ошибке выглядит следующим образом

” Исключение PDOException::(“SQLSTATE[42000]: Синтаксическая ошибка или нарушение доступа: 1071 Sp кодированный ключ был слишком длинным; максимальная длина ключа составляет 767 байт”) ” Это связано с версией MySQL. Если произойдет эта ошибка, отредактируйте app\Provides\AppServiceProvider.php , измените метод регистрации следующим образом:

public function register()
{
    \Schema::defaultStringLength(191);
}

Затем удалите все таблицы в базе данных и снова выполните команду переноса данных.

После того, как описанная выше операция пройдет успешно, мы сможем зарегистрировать пользователей. Здесь мы регистрируем пользователя-администратора. После успешной регистрации laravel войдет в систему текущего зарегистрированного пользователя, поэтому мы видим следующий интерфейс:

Здесь всего несколько команд для выполнения простой функции входа в систему при регистрации пользователя. Фактически, описанная выше операция также реализует функцию поиска пароля в почтовом ящике, которая будет подробно объяснена, когда мы осуществим регистрацию пользователя и добавим проверку электронной почты позже.