直接使用模型的 class 静态方法,不带 "USE" 关键字

Using model's class static method directly, without "USE" keyword

我有"UsersController"个文件:

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\User;

class UsersController extends Controller
{

    public function store(Request $request) {
        User::create( $request->all() );
        return "user added";
    }

}

"store"方法对应"POST"请求:

Route::post('users', ['uses' => 'UsersController@store']);

所以现在,如果我将 POST 数据发送到 "users" 页面,它会将新用户添加到数据库中的 "users" table。

好的,这有效,但我对 use App\User;

有疑问

如果删除此行,然后尝试使用 "create" 方法,如下所示:

public function store(Request $request) {
    App\User::create( $request->all() ); 
    ...

给出错误:Class 'App\Http\Controllers\App\User' not found

问题是:为什么不能像这样直接使用"User"class静态方法"create":

App\User::create( $request->all() )

替换你的

App\User::create( $request->all() );

来自

\App\User::create( $request->all() );