0%

数据库填充

数据库填充是Larevel中的一个快速向数据表插入测试数据的方法,Laravel使用填充类来提供方法,填充类位于database/seeds目录下

创建填充器

通过Artisan命令:make:seeder创建一个填充文件,位于database/seeds目录

php artisan make:seeder XXXTableSeeder;

一个填充器类默认只包含一个方法:run,在其中可以插入任何想插入数据库的数据

阅读全文 »

数据库迁移

即数据库的版本控制,这种机制允许团队编辑并共享数据库表的结构,迁移通常使用Laravel的schema构建器结对,Schema门面提供了与数据库系统相关的创建和操纵表的支持

生成迁移

使用Artisan命令make:migration就可以创建一个新的迁移

php artisan make:migration create_users_table(自定义表名)

阅读全文 »

数据库操作

Laravel支持的数据库系统:

  • MySQL
  • Postgres
  • SQLite
  • SQL Server

配置

应用的数据库配置位于config/database.php(但数据库用户及密码等敏感信息位于.env文件)

<!-- 位于.env文件中关于数据库的配置 -->

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
阅读全文 »

视图

视图包含应用的HTML代码,视图文件存放在resource/views目录

访问视图

view辅助函数能够返回视图,第一个参数为views目录下的文件名称,第二个参数可选,是一个包含在视图中有用的数据,若存在子目录,使用.来引用

Route::get('/',function()
{
    return view('welcome',['name'=>'xiaoming']);
});

View门面上的exists方法用于判断是否存在视图

View::exists(‘emails.customer)

阅读全文 »

响应

所有路由、控制器处理完业务逻辑之后都会返回一个发送到用户浏览器的响应,Laravel提供多种不同的方式来获取响应,将数组转化为JSON响应

字符串 & 数组

直接在函数中使用return返回,框架会自动将字符串转换为一个完整的HTTP响应

Route::get('/',function()
{
    return 'Hello World';
});

Route::get('/',function()
{
    return [1,2,3];
});
阅读全文 »

请求

Http中客户端向服务器发送的数据请求

依赖注入

即将HTTP的相关内容参数自动交给Illuminate\Http\Request类,可以用于控制器和路由参数

在控制器中获取当前HTTP请求实例,需要在控制器中对Illuminate\Http\Request类进行依赖注入,这样当前的请求实例会被服务容器自动注入

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PostControlle extends Controller
{
    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request,$id)//依赖注入的形式
    {
        //如果控制器需要从路由参数中获取数据,也可以在依赖注入后面列出路由参数
    }
}
阅读全文 »

控制器

用于组织管理相对复杂的业务逻辑处理的一个类,存放在app/Http/Controllers目录下

定义控制器

在Laravel目录下,使用Artisan命令会在app/Http/Controllers目录下创建一个控制器UserController.php

php artisan make:controller UserController

所有的Laravel控制器都继承控制器基类App\Http\Controllers\Controller

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller
{
    /*在这里添加相应的代码*/
    /**
     * 为指定用户显示详情
     * 
     * @param int $id
     * @return Response
     * @author blog
     */
    public function show($id)
    {
        return 'the user_id is' . $id; 
    }
}
阅读全文 »

中间件

中间件用于对用户的登陆等进行验证,只有满足条件的用户才能进入到页面,否则就跳转到指定页面
Laravel自带的中间件,包括认证,CRSF等,在app/Http/Middleware目录下

中间件的使用分为三个步骤:创建、事例代码、注册、使用

定义中间件

要创建一个新的中间件,在当前目录下使用:

php artisan make:middleware CheckToken

该命令会在app/Http/Middleware目录下创建一个新的中间件类CheckToken

阅读全文 »

路由

路由:将信息从源地址传递到目的地的角色,相当于后台函数处理 

路由定义:

Route::get('foo',function(){
    return 'Hello World';
});

路由文件在Laravel/routes目录中,大部分应用的构建都在web.php中定义,可以通过url访问定义的路由:DomainName/foo,其中foo为自己定义的标识符

阅读全文 »

laravel5.6安装环境要求:

  1. PHP7.1.3+
  2. PHP拓展openSSL PDO Mbstring XML Tokenizer Ctype JSON
  • php -m查看已有拓展
  • 安装方法:

    sudo apt-get install php-相应拓展

  1. 下载composer

    curl -sSh https://getcomposer.org/installer | php
    sudo mv composer.phar /usr/local/bin/composer

  2. 使用composer下载

    composer create-project –prefer-dist larevel/laravel blog 5.x.*

    阅读全文 »