m_shige1979のときどきITブログ

プログラムの勉強をしながら学習したことや経験したことをぼそぼそと書いていきます

Github(変なおっさんの顔でるので気をつけてね)

https://github.com/mshige1979

laravel5でコントローラーを確認

単純にテキストを出力する場合やjson形式などを確認

viewを使用する場合とそうでない場合の確認

基本

サンプルアプリなので単純にコントローラーの雛形を作成して検証する

準備
php composer.phar create-project laravel/laravel sampleapp2 --prefer-dist
cd sampleapp2/
php artisan make:controller Test1sController
ルーティング
<?php

Route::get('/test1', 'Test1sController@index');

テキストをそのまま出す場合

app/Http/Controllers/Test1sController.php
<?php namespace App\Http\Controllers;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

class Test1sController extends Controller {

	/**
	 * Display a listing of the resource.
	 *
	 * @return Response
	 */
	public function index()
	{
		//
        return "aaaaaaaaaaaa";
	}



}

f:id:m_shige1979:20150510191415p:plain

json形式?

app/Http/Controllers/Test1sController.php
<?php namespace App\Http\Controllers;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

class Test1sController extends Controller {

	/**
	 * Display a listing of the resource.
	 *
	 * @return Response
	 */
	public function index()
	{
		//
        return [
            "res" => 200,
            "body" => [
                "aaa" => 10,
                "bbb" => "sssss",
                "ccc" => "sssssd"
            ],
        ];
	}



}

f:id:m_shige1979:20150510191820p:plain

viewを使用する場合

viewを作成

resources/views/test1s/index.blade.php

@extends('app')

@section('content')
    <div>aaa={{$data["aaa"]}}</div>
    <div>bbb={{$data["bbb"]}}</div>
    <div>ccc=
        @foreach($data["ccc"] as $key => $item)
            <p>{{$key}} = {{$item}}</p>
        @endforeach

    </div>
@endsection

※viewを使用する場合はlaravelの場合はblade.php拡張子でlaravel特有の記載方法があるので意識しておく

app/Http/Controllers/Test1sController.php
<?php namespace App\Http\Controllers;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

class Test1sController extends Controller {

	/**
	 * Display a listing of the resource.
	 *
	 * @return Response
	 */
	public function index()
	{

        $data = [
            "aaa" => 100,
            "bbb" => 200,
            "ccc" => [
                "xxx" => "111",
                "yyy" => "222",
            ],
        ];

		//
        return view('test1s.index')->with(compact('data'));
	}
    
}

※変数は1つにまとめた方が便利になる感じ?

f:id:m_shige1979:20150510193245p:plain
※基本的にphpが有効な記法も使用できる

所感

テキストやJSONは簡単なイメージ、XMLの方法がよく見つけられなかったので自前で用意する必要になりそう。
viewのテンプレートは少し慣れれば大丈夫かも