通過「use」關鍵字訪問類或將其聲明爲「new」加上類的文件路徑有什麼區別?在PHP中使用關鍵字和New關鍵字
<?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();
}
}
如果我要使用User
類的功能,結果是相同的,但什麼是在他們的聲明有何區別?
嘗試刪除使用..你會很快看到一個錯誤。 'use'關鍵字kinda就像是一個require語句,它調用類,但直到調用纔會初始化類,但是,'use'不是必需的 - 您可以通過執行'new App \ Entity \用戶\用戶「,但想象一下,每次你想要的用戶類。這就是'use'用於簡化'new'和'new'的簡單方法 – ThisGuyHasTwoThumbs
'use'只是爲命名空間類定義設置別名; 'new'實例化一個類的實例..非常不同(基本)的東西 –
'use'基本上允許你定義2個具有相同名稱的類,只要它們在2個不同的名稱空間中聲明。在某些情況下,您需要在類名前面指定名稱空間,以確保使用好名稱空間。 – Kaddath