【laravel】useとnamespaceとは?意味と使用方法

最終更新日

この記事では、useとnamespaceとは?意味と使用方法について解説していきます。

useとは

useとは、別ファイルに記述した使いたいクラスや関数や定数などをインポートできる機能です。

モデルクラスやコントローラークラスは元のクラスを継承して使用するので覚えておくと便利です。

(コマンドプロンプトなどで作れば自動で記述されますが・・・)

コントローラ

use Illuminate\Http\Request;

モデル

use Illuminate\Database\Eloquent\Model;

namespaceとは

名前空間とはー公式リファレンス

https://www.php.net/manual/ja/language.namespaces.rationale.php
名前空間はディレクトリ構造に近い考え方です。
この仕組みを利用することで同じクラス名でも重複エラーを避けることができます。

モデルクラスやコントローラークラスは名前空間を明記して使用するので覚えておくと便利です。

(コマンドプロンプトなどで作れば自動で記述されますが・・・)

コントローラ

nanespace App\Http\Controllers;

モデル

namespace App\Models;

サンプル

<?php
   nanespace Hello1;
class Hello{
  public function index() {
  return 'Laravel';
  }
}
<?php
  nanespace Hello2;
class Hello{
  public function index() {
  return '';
  }
}
<?php
 
require_once 'Hello1.php';
require_once 'Hello2.php';
 
$type = new Hello1\index();
echo $type->index()."<br>";
 
$type = new Hello2\index();
echo $type->index()."<br>";

fem