Laravel5.1接口开发【1】

来源:互联网 发布:c语言实验报告流程图 编辑:程序博客网 时间:2024/06/05 17:10

Laravel5.1接口开发

很久没有写博客了,现在是是时候重拾以前写博客的习惯。

最近需要给公司和安卓和苹果部门提供接口,这是我第一次写接口,所以要将这整个过程记录下来。

创建Api项目

首先是下载Laravel项目,因为我之前已经给PHP安装过composer,所以可以直接用我们的composer来实现这个安装过程。

composer create-project laravel/laravel laravel-api 5.1.*

这样就可以在我们的当前执行目录下面创建一个名为laravel-api的项目,版本为5.1。

生成MMC

创建了项目之后,接下来我们就创建我们的数据库,这时候,可以使用我们的php artisan 来快速的创建数据库。

php artisan make:migration create_lessons_table --create=lessons

这样我们就在Laravel项目中的migration文件夹下创建了一个create_lessons_table的migration文件(create=“”“”中填入的是表的名称)

接着我们在创建一个对应的Model和Controller
php artisan make:model Lesson
php artisan make:controller LessonsController

填充数据

这时候我们开始设置lessons数据表的字段。打开migration下面的新生成的create_lessons_table文件,添加一个title字段,添加一个content字段,和一个state字段。
$table->string('title');
$table->text('content');
$table->boolean('state');

然后执行migrate,生成lessons表;

接下来填充测试数据。填充数据可以使用Laravel自带的模型工厂;
打开database里面的factories文件夹里面的ModelFactory模型,
复制最上面一行,然后定义生成规则

    $factory->define(App\Article::class, function (Faker\Generator $faker) {    return [        'title' => $faker->sentence,        'content' => $faker->realText(200),        'state' => $faker->boolean,    ];});

然后,继续使用我们artisan 这回使用tinker命令,直接生成几条测试数据,
在生成测试数据之前,我们需要修改一下我们model Article表,添加一行
protected $table = 'article'
指定Article model使用数据的article表

  • 打开命令行
    php artisan tinker
    namespace App;
    factory(Article::class,100)->create();

    这是就自动生成100条数据;

编写路由和控制地

生成数据后,这时候就是在浏览器中访问到我们的数据,
首先在路由其中定义我们的访问路由

  • 定义路由
    一般来说都有一个列表页面和一个详情页面,列表页是全部文章,打开route.php文件,因为我们是给提供API接口,通常都会使用prefix来增加一个前缀,同时写上版本号v1,v2,v3….

    route.php文件

        Route::group(['prefix'=>'api/v1'],function(){        Route::get('/','ArticlesController@index');        Route::get('/articles/{id}','ArticlesController@show');    });
  • 编写Controller

    详情页是单个文章,Model::all()可以将模型所有的数据全部取出,return 可以让取出的数据返回一个json格式的数据。

    ArticlesController.php文件

        //列表页面    public function index()    {        return Article::all();    }    //详情页面 $id 为文章的id    public function show($id)    {        $article = Article::findOrFail($id);        return $article;    }

    这个时候访问我们的/api/v1/api/v1/articles/1就可以查看到json格式的文章信息。

原创粉丝点击