当前位置: 首页 > 后端技术 > PHP

Laravel5.8入门系列二、快速搭建用户注册登录功能

时间:2023-03-29 18:37:28 PHP

1.XAMPP环境配置这次我们需要开始使用继承的开发环境,因为我们需要使用数据库来完成用户的登录注册功能。首先配置XAMPP环境,我们需要添加一个vhost,指向blog5.8的public目录。配置8000端口打开XAMPP配置目录xampp/apache/conf,编辑http.conf文件,搜索Listen80,然后在下面再添加一个端口监听Listen8000,修改后配置vhost如下Listen80Listen8000打开XAMPP配置目录xampp/apache/conf/extra编辑httpd-vhosts.conf文件,在文件末尾添加如下内容,注意修改blog5.8的目录``ServerAdminwulei@jingcheng.cnDocumentRoot"D:/code/blog5.8/public"ServerNamelocalhostOptionsIndexesFollowSymLinksIncludesExecCGIAllowOverrideAllOrderallow,denyAllowfromall``至此,我们已经配置好xampp,其他的我们使用默认配置。现在访问http://localhost:8000就可以看到之前使用laravel内置服务器访问过的主页。使用默认的http://localhost/phpmyadmin管理数据库。访问http://localhost/phpmyadmin创建一个名为laravel58的数据库,设置字符集为utf8mb4_general_ci配置数据库信息。Laravel本身已经生成了配置文件。数据库的配置文件在blog5.8/conf/database.php。Laravel5.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','collat??ion'=>'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=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=larave58#//注释,数据库名DB_USERNAME=root#//注释,数据库用户名DB_PASSWORD=#Comment,Databasepassword,xampp默认为空``一键生成注册登录页面Laravel本身提供了快速构建用户登录的命令。在根目录下,执行如下命令:``shphpartisanmake:auth``这样laravel就为我们搭建好了,用户登录注册界面。界面的视图文件在resources\views\auth目录下。注册登录相关的控制器访问app\Http\Controllers\Auth目录下的http://localhost:8000,可以发现顶部栏已经出现了登录注册入口。该命令除了为登录界面和注册界面生成接口外,还在路由文件中的route/web.php中添加了用户登录注册所需的路由。授权::路线();生成用户数据表以上操作只生成用户注册登录界面,并没有创建用户表。如果你尝试注册一个用户,你会看到类似下面的错误信息:别害怕,这只是laravel告诉你在你注册用户之前系统还没有准备好数据表。Laravel已经准备好了数据迁移文件。我们只需要在命令行执行数据迁移命令,laravel就会帮我们创建需要的数据表。在根目录下,执行以下命令:phpartisanmigrate这一步,如果你的命令升级出错,报错信息类似如下``PDOException::("SQLSTATE[42000]:Syntaxerrororaccessviolation:1071Specified密钥太长;最大密钥长度为767字节”)``这是由于mysql版本。如果出现这个错误,请编辑app\Provides\AppServiceProvider.php,修改注册方法如下:publicfunctionregister(){\Schema::defaultStringLength(191);}然后删除数据库中的所有表,重新执行数据迁移命令一次。以上操作成功后,我们就可以注册用户了。这里我们注册一个管理员用户。注册成功后,Laravel会登录当前注册的用户,所以我们看到的是如下界面:这里只通过几条命令就实现了简单的用户注册登录功能。其实上面的操作也实现了通过邮箱找回密码的功能,后面我们在实现用户注册和添加邮箱验证的时候会详细说明。