Laravel5学习系列(一)登录系统及入门知识

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的同学哈  

下次见


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一个简单的 Laravel 图书管理系统的概述。这个系统将包含以下功能: 1. 用户登录和注册 2. 图书列表和详情页面 3. 添加、编辑和删除图书 4. 用户借阅和归还图书 首先,您需要创建一个名为 "book_management_system" 的新 Laravel 项目。您可以使用以下命令创建: ``` composer create-project --prefer-dist laravel/laravel book_management_system ``` 接下来,您需要创建一个名为 "books" 的数据库表,其中包含以下列: - id - title - author - description - quantity 您可以使用 Laravel 的迁移工具创建此表。运行以下命令: ``` php artisan make:migration create_books_table --create=books ``` 然后,编辑 "database/migrations/xxxx_xx_xx_xxxxxx_create_books_table.php" 文件,添加如下列: ``` Schema::create('books', function (Blueprint $table) { $table->id(); $table->string('title'); $table->string('author'); $table->text('description'); $table->integer('quantity'); $table->timestamps(); }); ``` 接下来,运行以下命令来运行迁移: ``` php artisan migrate ``` 接下来,您需要创建一个名为 "Book" 的模型。运行以下命令: ``` php artisan make:model Book ``` 编辑 "app/Models/Book.php" 文件,添加以下代码: ``` namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Book extends Model { use HasFactory; protected $fillable = [ 'title', 'author', 'description', 'quantity', ]; } ``` 接下来,您需要创建一个名为 "BooksController" 的控制器。运行以下命令: ``` php artisan make:controller BooksController --resource ``` 编辑 "app/Http/Controllers/BooksController.php" 文件,添加以下代码: ``` namespace App\Http\Controllers; use App\Models\Book; use Illuminate\Http\Request; class BooksController extends Controller { public function index() { $books = Book::all(); return view('books.index', ['books' => $books]); } public function create() { return view('books.create'); } public function store(Request $request) { $book = Book::create($request->all()); return redirect()->route('books.show', ['book' => $book->id]); } public function show(Book $book) { return view('books.show', ['book' => $book]); } public function edit(Book $book) { return view('books.edit', ['book' => $book]); } public function update(Request $request, Book $book) { $book->update($request->all()); return redirect()->route('books.show', ['book' => $book->id]); } public function destroy(Book $book) { $book->delete(); return redirect()->route('books.index'); } } ``` 这个控制器将处理图书的增删改查操作。 接下来,您需要创建视图。创建以下视图文件: 1. "books/index.blade.php":显示所有图书列表 2. "books/show.blade.php":显示单独图书详情 3. "books/create.blade.php":显示添加图书的表单 4. "books/edit.blade.php":显示编辑图书的表单 在这些视图文件中,您需要使用 Laravel 的表单构建器来创建表单,以便用户可以添加、编辑和删除图书。 接下来,您需要创建路由。编辑 "routes/web.php" 文件,添加以下代码: ``` Route::get('/', function () { return view('welcome'); }); Route::get('/books', [BooksController::class, 'index'])->name('books.index'); Route::get('/books/create', [BooksController::class, 'create'])->name('books.create'); Route::post('/books', [BooksController::class, 'store'])->name('books.store'); Route::get('/books/{book}', [BooksController::class, 'show'])->name('books.show'); Route::get('/books/{book}/edit', [BooksController::class, 'edit'])->name('books.edit'); Route::put('/books/{book}', [BooksController::class, 'update'])->name('books.update'); Route::delete('/books/{book}', [BooksController::class, 'destroy'])->name('books.destroy'); ``` 这些路由将处理图书管理系统的各种操作。 最后,您可以在图书模型中添加 "borrower" 和 "borrowed_at" 两个列来实现用户借阅和归还图书的功能。然后,您可以在视图中添加相应的表单和路由来处理这些操作。 这是一个简单的 Laravel 图书管理系统的概述。当然,实际开发过程中需要更多的代码和配置,但这应该可以帮助您了解 Laravel 的基本结构和工作方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值