在laravel中创建的类/不同名称空间中访问和使用雄辩

宝ao

我正在用Ratchet和Laravel创建一个websocket应用程序,需要在我的websocket类中使用一个Eloquent查询,但是由于我在websocket类中使用了另一个命名空间,因此雄辩式不可用。

这是课程的开始:

use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;
use Ratchet\MessageComponentInterface;
use Ratchet\ConnectionInterface;





class Socket extends Eloquent implements MessageComponentInterface, UserInterface, RemindableInterface {

    use UserTrait, RemindableTrait;

这是带有类映射的composer.json:

"autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/models",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php",
        "app/libraries",
        "vendor/cboden/ratchet/src"   // added this
    ]

我已经将composer.json从原始状态更改为上述状态,就像这样:

...
 "psr-0": {                                        //removed this
            "MyApp": "vendor/cboden/ratchet/src",  //removed this 
           }

Socket类驻留在app / libraries / Socket.php中

嗯,我几乎已经尝试过所有想到的事情,有人知道我在做什么错吗?

引发的错误是:

PHP Warning:  The use statement with non-compound name 'Socket' has no effect in /home/michael/PhpstormProjects/preisopt/app/libraries/Socket-Server.php on line 5

PHP Fatal error:  Class 'Eloquent' not found in /home/michael/PhpstormProjects/preisopt/app/libraries/Socket.php on line 15

这是Socket-Server的第5行:

 use Socket;

Socket的第15行:

class Chat extends Eloquent implements MessageComponentInterface, UserInterface, RemindableInterface {

我也试图写这样的行

class Chat extends \Eloquent implements MessageComponentInterface, UserInterface, RemindableInterface {

这将引发此错误:

PHP Fatal error:  Class 'User' not found in /home/michael/PhpstormProjects/preisopt/app/libraries/Socket.php on line 35

这是第35行:

  $dbtoken = User::where('username', '=', $split[1] )->get('sockettoken');

所有此类和模型都存在,并且在不使用此类时可以正常工作。

我已经尝试了很多事情,以至于到时候这可能是一些奇怪的东西...

艾伦·斯托姆(Alan Storm)

您的问题有点令人困惑,但听起来您似乎对名称空间的工作方式产生了误解。

PHP警告:非复合名称“ Socket”的use语句在第5行的/home/michael/PhpstormProjects/preisopt/app/libraries/Socket-Server.php中无效

是PHP告诉您该语句

use Socket;

什么也没做。use语句使您可以告诉PHP“嘿,将这个类从另一个名称空间导入当前名称空间”。当您说use Socket时,该类Socket已在当前名称空间中。如果\Socket您要在其他课程中使用全局课程,您想说

use \Socket;

如果要在另一个名称为的命名空间中使用类Socket,请说

use Namespace\Path\To\Socket 
//or
use \Top\Level\Namespace\Path\To\Socket

取决于文件的当前名称空间。

错误

PHP致命错误:在第15行的/home/michael/PhpstormProjects/preisopt/app/libraries/Socket.php中找不到类'Eloquent'

PHP致命错误:在第35行的/home/michael/PhpstormProjects/preisopt/app/libraries/Socket.php中找不到类'User'

Make听起来就像您在尝试使用全局类\Eloquent\User在命名空间文件中一样。您要么需要添加一个

use \Eloquent;
use \User;

在文件顶部,或者在使用它们时在文件中引用这些全局类并在其前加反斜杠。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Visual C ++中的不同文件和不同名称空间中使用函数

来自分类Dev

不同名称空间中的派生类

来自分类Dev

C ++:如何访问相同名称空间中但在不同文件中定义的变量?

来自分类Dev

我可以在相同的名称空间中使用同名的类和接口吗?

来自分类Dev

我可以在相同的名称空间中使用同名的类和接口吗?

来自分类Dev

在不同名称空间中添加指向类的指针时出错?

来自分类Dev

k8s中不同名称空间中的服务的DNS名称是什么?

来自分类Dev

不同名称空间中的函数名称相同

来自分类Dev

不同名称空间中的XAML转换器

来自分类Dev

警告:模板在不同名称空间中的特化

来自分类Dev

不同名称空间中k8的入口配置

来自分类Dev

如何声明在不同名称空间中定义的结构?

来自分类Dev

Node.js中相同名称空间中每个文件的TypeScript类

来自分类Dev

ServiceStack-在不同命名空间中具有相同名称的请求类会引发错误

来自分类Dev

使用名称空间访问扩展类中的$ this

来自分类Dev

在名称空间中使用与我同名的方法

来自分类Dev

从具有不同名称空间的类动态创建新对象

来自分类Dev

Laravel4 / PHP:在不同名称空间级别扩展类

来自分类Dev

Java命名空间-不同包中具有相同名称的两个类

来自分类Dev

名称空间中的类定义

来自分类Dev

如何在类名称空间中使用常量作为数组和模板参数?

来自分类Dev

Clojurescript defprotocol和defrecord在不同的名称空间中

来自分类Dev

通过相同名称空间中的另一种类型访问类型

来自分类Dev

两个具有相同名称的类可以跨两个不同的程序集位于同一个命名空间中吗?

来自分类Dev

不同名称空间中的模板专业化静态成员

来自分类Dev

JDOM2 xpath在不同名称空间中查找节点

来自分类Dev

C ++:不同名称空间中的多个运算符定义

来自分类Dev

K8s-不同名称空间中Pod之间的DNS解析

来自分类Dev

在不同名称空间中重新定义符号的clang错误

Related 相关文章

  1. 1

    在Visual C ++中的不同文件和不同名称空间中使用函数

  2. 2

    不同名称空间中的派生类

  3. 3

    C ++:如何访问相同名称空间中但在不同文件中定义的变量?

  4. 4

    我可以在相同的名称空间中使用同名的类和接口吗?

  5. 5

    我可以在相同的名称空间中使用同名的类和接口吗?

  6. 6

    在不同名称空间中添加指向类的指针时出错?

  7. 7

    k8s中不同名称空间中的服务的DNS名称是什么?

  8. 8

    不同名称空间中的函数名称相同

  9. 9

    不同名称空间中的XAML转换器

  10. 10

    警告:模板在不同名称空间中的特化

  11. 11

    不同名称空间中k8的入口配置

  12. 12

    如何声明在不同名称空间中定义的结构?

  13. 13

    Node.js中相同名称空间中每个文件的TypeScript类

  14. 14

    ServiceStack-在不同命名空间中具有相同名称的请求类会引发错误

  15. 15

    使用名称空间访问扩展类中的$ this

  16. 16

    在名称空间中使用与我同名的方法

  17. 17

    从具有不同名称空间的类动态创建新对象

  18. 18

    Laravel4 / PHP:在不同名称空间级别扩展类

  19. 19

    Java命名空间-不同包中具有相同名称的两个类

  20. 20

    名称空间中的类定义

  21. 21

    如何在类名称空间中使用常量作为数组和模板参数?

  22. 22

    Clojurescript defprotocol和defrecord在不同的名称空间中

  23. 23

    通过相同名称空间中的另一种类型访问类型

  24. 24

    两个具有相同名称的类可以跨两个不同的程序集位于同一个命名空间中吗?

  25. 25

    不同名称空间中的模板专业化静态成员

  26. 26

    JDOM2 xpath在不同名称空间中查找节点

  27. 27

    C ++:不同名称空间中的多个运算符定义

  28. 28

    K8s-不同名称空间中Pod之间的DNS解析

  29. 29

    在不同名称空间中重新定义符号的clang错误

热门标签

归档