LoginSignup
0
0

More than 3 years have passed since last update.

PHPMVCのC⇆Vについて(見直し用メモ)

Last updated at Posted at 2020-06-24

前提知識

namespace…このファイルここに配置されてますよ〜って書いてるやつ
use…他フォルダにあるクラスを利用可能にしたもの

ルーティング

・アドレスに対してコントローラーメソッドを指示する。
・$requestのプロパティの情報を飛ばす

ルート情報記述.php
Route::get(アドレス,関数など);
viewとは.php
view(テンプレート名)
//指定したテンプレートのファイルをロードし、レンタリング(表示できるように整える)して返す

特定のアドレスにアクセスした際、何の処理を実行するのかを記述したもの。

web.php
<?php
Route::get(`/`,function(){
    return view(`welcome`);
});

解説

/にアクセスしたらwelcomeのファイルを戻せ(表示しろ)

ルートパラメータの利用

ルートパラメータの利用.php
Route::get(`/〇〇/{パラメータ}',function($〇〇//パラメータの値を受け取る引数){
});
ルートパラメータの利用(例文).php
Route::get(`/hello/{msg}',function($msg){
});
///hello/sampleにアクセスした場合、msgにsampleが代入される。

解説

アドレスのパラメータをルーティング処理の一部として使いたい

必須パラメータと任意パラメータ

ルートパラメータを利用する際、パラメータを記入されないと処理が実行されないようになっている。
これを必須パラメータと呼ぶ。
しかし、パラメータの変数の最後に「?」をつけることによりパラメータを記入せずとも処理が実行される任意パラメータに変更することができる。

任意パラメータの利用.php
Route::get(`hello/{msg?}`,function ($msg=`〇〇`)
//〇〇には、パラメータが記入されなかった時に出力される文字列を入れる

解説

パラメータ指定されなくても使われたい

コントローラ

・ビュー
 ∟表示させるものを(return view('ファイル名','配列'))で書く
 ∟表示させるものに必要なデータを飛ばす
・データベース

web.phpに記述するやつ.php
Route::get('アドレス','コントローラー名@メソッド名');

ビュー

実際web上に表示させるもの。

Blade構文

PHPを用いて見栄えの良いビューを作れるようになるビューテンプレート

値の表示

値を埋め込む.html
{{値・変数・式・関数など}}
値を埋め込む(HTMLを機能させたい場合).html
{{!!値・変数・式・関数など!!}}

継承

既存のテンプレート(親)再利用して新しいテンプレート(子)を作成する。
親テンプレートにはsectionで子テンプレートに表示する区画を設定する。
子テンプレート側にはsectionを表示されるyieldを用いる。

実際にレイアウト表示されるのは子レイアウトである。

継承方法.php
@extends('フォルダ名.ファイル名')
sectionの使い方.php
@section(名前)
-表示内容-
@endsection
yieldの使い方.php
@yield(名前)

ビューコンポーザ

ビューをレンタリングする時に自動的に実行される処理
これを使えるようにするため、サービス(Laravelの機能強化の仕組み)を動かす必要がありそれを動かすために、サービスプロバイダーを使う必要がある。

サービスプロバイダー

用意されているメソッド
boot
アプリケーションが起動する際に割り込んで実行される処理(ブートストラップ処理)
ここにビューと処理を用意することで、コンポーザが呼び出されるようになる。
(実質、コントローラみたいな役割をはたす)

register
会員登録の処理など…

boot利用例文.php
public function boot()
    {
        View::composer(
            'hello.index', function($view){
                $view->with('view_message','composer message!');
            }
        );
新出①.php
View::composer(ビューの指定,関数またはクラス)

第1引数には、コンポーザーを利用するビューの設定。
第2引数には、実行する処理を書く

新出②.php
$view->with(変数名,);
新出③.php
$view(Viewクラスのインスタンス)

サービスプロバイダへの登録
サービスプロバイダを作るだけでは作動しない。
app\confungにサービスプロパイダが使えるように登録する必要がある

0
0
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
0
0