此次咱们须要开始使用继承开发环境了,由于咱们须要使用数据库,完成用户的登陆注册功能。
首先要配置好XAMPP环境,咱们须要添加一个vhost,指向blog5.8的public目录。php
打开XAMPP的配置目录xampp/apache/conf
,编辑http.conf
文件,搜索Listen 80
,而后在下面再添加一个端口监听Listen 8000
。修改后以下mysql
Listen 80 Listen 8000
打开XAMPP的配置目录xampp/apache/conf/extra
编辑 httpd-vhosts.conf
文件,在文件末尾添加如下内容,注意修改blog5.8的目录laravel
``
<VirtualHost *:8000>
ServerAdmin wulei@jingcheng.cn
DocumentRoot "D:/code/blog5.8/public"
ServerName localhost
</VirtualHost>
<Directory "D:/code/blog5.8/public">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
``web
到这里,咱们已经配置好了xampp,其余的咱们使用默认配置。如今访问http://localhost:8000 能够看到以前使用laravel内置服务器访问过的首页。sql
数据库使用默认的http://localhost/phpmyadmin
管理。访问http://localhost/phpmyadmin
建立一个名为laravel58
的数据库,字符集设置为utf8mb4_general_ci
数据库
Laravel 自己已经生成好了配置文件。数据库的配置文件在blog5.8/conf/database.php
中。Laravel5.8的数据库配置文件中包含了各类数据库配置的例子,这里咱们使用的是mysql数据库,因此咱们须要修改database.php
中的mysql配置apache
'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
文件中。这个文件在默认windowns
文件浏览器下是隐藏的。浏览器
这里咱们也使用本地环境便利配置好咱们的本地书库服务器
``
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=larave58 #//注释,数据库名称
DB_USERNAME=root #//注释,数据库用户名
DB_PASSWORD= #注释,数据库密码,xampp默认为空
``app
Laravel自己提供快捷构建用户登陆的命令。在根目录下,执行如下命令:
``sh
php artisan make:auth
``
这样,laravel就为咱们构建好了,用户登陆注册的界面了。界面的试图文件在resources\views\auth
目录下。注册登陆相关的控制器在app\Http\Controllers\Auth
目录下
访问http://localhost:8000 能够发现顶部栏已经出现了登陆注册的入口。
登陆界面
注册界面
除了生成界面以外,这个命令还在路由文件中route/web.php
添加了用户登陆注册须要的路由。
Auth::routes();
上面的操做只是生成了用户注册登陆的界面,并无建立用户表。加入你尝试去注册用户,你就会看到相似下面的错误提示:
请不要惧怕,这只是laravel在告诉你,你在注册用户以前,系统没有准备好数据表。
Laravel已经准备好了数据迁移文件,咱们只要在命令行中执行数据迁移命令,laravel就会帮咱们建立好所须要的数据表。在根目录下,执行下面的命令:
php artisan migrate
这一步,若是你的命令提高错误,错误信息相似于下面
``
PDOException::("SQLSTATE[42000]: Syntax error or access violation: 1071 Sp
ecified key was too long; max key length is 767 bytes")
``
这是因为mysql版本照成的。若是出现这个错误提高,那么,请编辑app\Provides\AppServiceProvider.php
,修改register方法以下:
public function register() { \Schema::defaultStringLength(191); }
而后删除掉数据库中的全部的表,从新执行一遍数据迁移命令就能够了。
以上操做成功以后,咱们就能够注册用户了,这里咱们注册一个admin的用户。注册成功以后,Laravel会将当前注册用户登陆,因此咱们看到的是下面的界面:
到这里,仅仅几个命令就实现了简单的用户注册登陆功能。其实上面的操做还实现了邮箱找会密码的功能,等后续咱们实现用户注册添加邮件验证的时候一块儿详细讲解。