"use"キーワードを使ってクラスにアクセスするか、 "new"とクラスのファイルパスを追加することの違いは何ですか?私はUser
クラスの機能を使用するつもりならば、PHPのキーワードと新しいキーワードを使用
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
//if accessed using use keyword
use App\Entity\User;
class SampleController extends Controller
{
public function add(Request $request)
{
//if declared by "use" keyword above
$user = new User();
//if not declared by "use" keyword
$user = new \App\Entity\User();
}
}
結果は同じですが、その宣言の違いは何ですか?
試用版を削除してください。すぐにエラーが表示されます。 'use'キーワードは、requireステートメントと似ていますが、クラスを呼び出すが、呼び出されるまでクラスを初期化しませんが、' use'は必要ありません。 'new App \ Entity \ User \ User'を使用していますが、ユーザークラスが必要になるたびにこれを行うことを想像してください。それは 'use'が' new'と 'new'のための簡略化をクラスに入れたところです。 – ThisGuyHasTwoThumbs
' use'は単に名前空間のクラス定義のエイリアスを設定しています。 'new'はクラスのインスタンスをインスタンス化します。非常に異なる(基本的な)もの –
' use'は基本的に2つの異なる名前空間で宣言されている限り、同じ名前の2つのクラスを定義できます。場合によっては、クラス名の前にネームスペースを指定して、どちらのネームスペースを使用するかを教えてくれるようにする必要があります。 – Kaddath