在Laravel中使用User有什么区别;和/用户

时间:2018-05-18 07:29:47

标签: php laravel class

我想知道

之间的区别
  

使用用户;

  

/用户

在laravel。

在我的项目中,我在控制器中看到UserController它会这样做 它增加了

使用用户;

位于控制器的顶部,在功能中使用

  

用户::找到($ ID);

获取查询结果。

其他一些控制器说CompanyController不使用

使用用户;

然而,这样做

  

/用户::找到($ ID);

并获得相同的结果。

我对它的用法感到困惑。我应该遵循哪些类型,每种类型的内容都可以解释。

2 个答案:

答案 0 :(得分:3)

您应该将use User;User::find($id);

结合使用

当你在它前面有斜线时,你基本上将上面的2组合成一个。

深度:

User类(根据您的示例)似乎没有命名空间,但您使用它的文件有一个。

换句话说,User类是在根命名空间中定义的。

通常,您可以在没有use/的情况下使用根命名空间中的类,但是当您使用它的文件具有命名空间时,则不能。

因此,您必须使用use User;/User::

指定您尝试使用的对象的命名空间

虽然两者都相同,但大多数开发人员都选择使用use变体。

答案 1 :(得分:1)

两者都有相同的行为但使用不同。

Use User;
User::all();

基本上是对该模型类的引用,可以在任何类中使用它来获取其静态方法。

/user::all();

不需要调用引用,这直接访问模型,因此两者基本相同。

在您的情况下,您正在引用该模型类

use User;
User::find(2);

它将调用model来查找匹配的用户;

在公司控制器中,您没有使用任何对模型的引用。你只是通过'/'来访问那个模型。 laravel提供这一点只是为了方便。