3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PHP7 + Laravel で Restful API を爆速開発する

Last updated at Posted at 2016-03-04

政治的理由により、PHP7 を使うことになった。Laravel で開発することにした。

  • PHP7 と Laravel はすでにインストールされていることが前提。(なぜなら以前暇な時に適当に遊んで入れていたから。わかんない奴はここ見る)
  • Laravel を使うということより、テストをきちんと書いて開発することが目的
laravel new board

とかすると新しいプロジェクトが作成できる。

php artisan serve

とすると PHP のサーバーが立ち上がる。時代が変わったことを痛感する。その状態で http://localhost:8000 にブラウザにアクセスすると、Laravel のかっこいいページが表示される。

スクリーンショット 2016-02-18 20.24.37.png

これで準備は整ったので、テストを書きながら開発していきたい。

まず、ケースを想定する。

  • 掲示板に必要な機能
    • 掲示板を見る
    • コメントを書く

以上から、まずは board というプロジェクトには get と post の機能が必要なことがわかる。

そもそも Laravel のテストツールってなんなの?

ここ をみるとどうやら phpunit らしい。( vendor/ 以下をのぞいたら phpspec もあったので使えるのかもしれん)

board/tests 以下に ExampleTest.php というファイルがあるので、これをコピーして適当な名前にしてやる。で、とりあえず実行してみよう。

./vendor/bin/phpunit

結果は?

Fatal error: Cannot declare class ExampleTest, because the name is already in use in /Users/mayutan/workspace/board/tests/IndexTest.php on line 19

エラー。ではテストを直してみる。

IndexText.php

<?php

use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;

class IndexTest extends TestCase
{
    /**
     * A basic functional test example.
     *
     * @return void
     */
    public function testBasicExample()
    {
        $this->visit('/')
             ->see('Laravel 5');
    }
}

7 行目のクラス名を IndexTest にしてやる。

スクリーンショット 2016-02-18 20.56.27.png

こんな感じでテストを追加していきながら開発していく。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?