Laravel 爱之初体验吧!
之前答应大家的博客还是要写的
看了看博主惨淡的浏览量博主决定写一篇有内涵的文章,就来一步一步带领大家学习一下Larvael吧
不!是共同学习
首先博主这里下载了Larvael的最新版本也就是5.1.11这个版本,根据官网可知
这个版本将成为一个比较稳定的长期版本所以拿他入手
老样子这里以一键安装包作为例子不去讨论composer的使用,之后用Entrust做权限系统的时候再说composer吧
首先跟着作者去下载:http://www.golaravel.com/download/
之后会得到一个压缩文件如下图所示
解压说到htdoc目录下,博主这里用的是 Apache_2.4,如果你不是用Apache考虑一下放到指定位置
直接解压缩文件得到一个同名的文件然后博主这里改名为beta方便访问.
打来浏览器输入http://localhost:8000/beta/public/ 你会看到以下页面
好的基本上这里你已经布置好了Larvael,这么简单吗?
然后将路由改为http://localhost:8000/beta就显示欢迎页面,
具体方法不做解释可以看之前的文章
5.1没有了之前5.0的登录页面 这里博主带领大家完成登录和注册部分
现在我们用Sublime打开整个folder会看到如下的构架
首先我们去找一下config里面的database.php查看database连接情况
默认MySQL这里我们就用MySQL就好,但是要根据本机设置去改变下列参数
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'DB_beta'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
这里笔者数据库名称为DB_beta, 访问用户名为root没有设置密码
这些信息可以在mysql里面的user表里面查询,博主不多废话啦 有问题欢迎留言
之后beta/目录下的env不要忘记更改数据库信息 同理改成你自己的设置
这里博主举例
DB_HOST=localhost
DB_DATABASE=DB_beta
DB_USERNAME=root
DB_PASSWORD=
好的,与数据库的连接到此技术我们来看看如何创建user模块呢?
通过预览结构我们就会发现 User 和基本验证本事就是存在的只不过没用写出而已
所以我们只需要讲有用的代码补全 即可实现登录,注册功能
在Database目录下的migrations是Larvael自动生成表的代码 我们来看一下
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password', 60);
$table->rememberToken();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('users');
}
}
定义了 用户名 邮箱密码几个字段
我们打开命令行 win+cmd 然后 change dir 到该目录下
执行 php artisan migrate命令后
发现他按照上面代码的字段要求生成了这些表在之前设定好的数据库中
是不是很方便呢-。-
在数据库方面我们已经准备好了,接下来我们去搞定路由端
在app/http 目录下有个routes.php
在其中添加下列代码
Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');//登录登出路由
Route::get('auth/register', 'Auth\AuthController@getRegister');//注册路由
Route::post('auth/register', 'Auth\AuthController@postRegister');
目前为止路由端也搞定了 我们去看看view怎么办
Larvael采用blade模板 用起来十分的方便在resource目录下新建auth文件夹
之后再这个文件下新建两个文件分别叫做
login.blade.php和register.blade.php
view代码依次附上
<<!DOCTYPE html>
<html>
<head>
<title>有情怀的IT狗</title>
</head>
<body>
<form method="POST" action="{{url('/auth/login')}}">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<div>
Email
<input type="email" name="email" value="{{ old('email') }}">
</div>
<div>
Password
<input type="password" name="password" id="password">
</div>
<div>
<input type="checkbox" name="remember"> Remember Me
</div>
<div>
<button type="submit">Login</button>
</div>
</form>
</body>
</html>
--------------------------------------------------------------------------------------------
<!DOCTYPE html>
<html>
<head>
<title>有情怀的IT狗</title>
</head>
<body>
<form method="POST" action="{{url('/auth/register')}}">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<div>
Name
<input type="text" name="name" value="{{ old('name') }}">
</div>
<div>
Email
<input type="email" name="email" value="{{ old('email') }}">
</div>
<div>
Password
<input type="password" name="password">
</div>
<div>
Confirm Password
<input type="password" name="password_confirmation">
</div>
<div>
<button type="submit">Register</button>
</div>
</form>
</body>
</html>
--------------------------------------------------------------------------------------------------
好的 激动人心的时刻到了
现在呢 基本上的认证已经完成了 我们去注册一个用户试试吧
什么情况 大家也遇到这种问题了吗 ?
不要慌张,Larvael默认注册成功后跳入\home路径我们只需要去
创建一个home.blade.php 然后在routes.php里面加上
Route::get('/home',function(){
return view('home');
})
好的 博主加完之后的效果附上
不要吐槽作者的登录界面 注册界面 欢迎界面都很丑
不要急,这是教程系列一吗 慢慢优化
在吐槽几句哈 北京这个雾霾哦 !!!
另外希望能帮到想学习Larvael的同学哈
下次见