単純にテキストを出力する場合や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"; } }
↓
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" ], ]; } }
↓
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つにまとめた方が便利になる感じ?
↓
※基本的にphpが有効な記法も使用できる