Controllerとかに出てくるuseって何?なんのために必要?どう書くの?
LaravelのControllerやModelなどにuseという項目がありますよね。
useは、Laravelプロジェクトフォルダ(サイトのフォルダ)から、使うファイルまでのパスを書く所です。
例えば、
use App\Post;
use App\Ask;
と上のController.phpファイルでは追記してあります。なぜかというと、
画像のように、Japaslang(Laravelプロジェクトフォルダ)→appというフォルダに入っている、Ask.php, Post.phpというファイルを、Controller.phpで呼び出して使うためです。
このCategoryController.php上で使いたいファイルのパスをuseの所に書くというわけ。書く時は、Appのように単語の最初を大文字にして書く必要があるよ。
Neby
でも、実を言うと、useに書かなくても、使う事もできます。
useとは、なんのために書くのか?
なぜuseの所に使いたいファイルのパスを書くか?それは、同じページ内でその後、パスを省略できるからです。
例えば、2つ目の赤線に Post::where という所がありますが、useを書いてない場合は、ここを
App\Post::where と書く必要があります。
ただ、すでにuseでパスを書いてるので、省略できるんです。
逆に言えば、useを書かなくても、毎回パスまで書けば問題なく使えます。
ちなみに、Laravelでは通常のPHPでは必要な<?php require_once('nantara.php');?>が必要ないんだ。それなしで動くよ。(逆に書くと正しく動かなくなる可能性があるから注意)。
Neby
あとフォントやエディタによっては、バックスラッシュが¥マークで表示されるけど、なんの問題もないわ。そのまま使って大丈夫よ。
Laravelのuseまとめ
- 使いたい別のファイルのパスを書く
- 単語の先頭は大文字にする
- 使わなくても、本文中で省略しないならOK