【发布时间】:2016-08-24 21:24:55
【问题描述】:
我正在为 websockets 使用 Ratchet。它通常可以工作,但我想在我的 ExampleController Laravel Auth 中使用。这应该很容易,但这不起作用:
<?php namespace Annotation\Http\Controllers;
use Auth;
use Ratchet\MessageComponentInterface;
use Ratchet\ConnectionInterface;
class ExampleController extends Controller implements MessageComponentInterface {
public function onOpen(ConnectionInterface $conn) {
echo Auth::id();
//etc.
echo "New Connection! ({$conn->resourceId})";
}
}
当我在下面的 websocket-server.php(位于 laravel 的根目录)文件中初始化我的控制器时,我总是得到一个 Class Auth not found 异常:
<?php
require __DIR__.'/vendor/autoload.php';
use Ratchet\Server\IoServer;
use Annotation\Http\Controllers\CollaborativeController;
$server = IoServer::factory(
new ExampleController(),
8080
);
$server->run();
如果我将我的 ExampleController 用作带有路由的普通控制器,则会找到 Auth 类。 (我也无法使用 auth 助手或任何与 laravel 相关的东西)
为什么会这样?因为 Laravel 还没有初始化还是需要添加路径?
【问题讨论】:
标签: php laravel ratchet classnotfound