Heim > PHP-Framework > Laravel > Swoole-Tutorial zur Laravel-Integration

Swoole-Tutorial zur Laravel-Integration

藏色散人
Freigeben: 2019-07-17 13:40:06
nach vorne
4433 Leute haben es durchsucht

Swoole-Tutorial zur Laravel-Integration

1. Vorbereitung

Laravel installieren

laravel new laravel-swoole
Nach dem Login kopieren

Selbst verwenden Für die Entwicklung können Sie

laravel-swoole.test
Nach dem Login kopieren

verwenden, um darauf zuzugreifen

2. Swoole vorstellen

Für eine spezifische Swoole-Installation gehen Sie bitte zu Offizielle Website Das Herunterladen, Kompilieren und Installieren wird hier nicht erklärt.

1. Erstellen Sie einen Serverordner im Projektverzeichnis und erstellen Sie dann die Datei http_server.php im Ordner. Der spezifische Dateiinhalt lautet wie folgt:

<?php
$http = new swoole_http_server(&#39;127.0.0.1&#39;, 9501);
$http->set([
    &#39;worker_num&#39; => 8,
    &#39;max_request&#39; => 5000,
//    &#39;document_root&#39; => &#39;/Users/apple/Code/Teacher_Project/swoole_live/resources/live/&#39;,
//    &#39;enable_static_handler&#39; => true,
]);
//工作进程启动
$http->on(&#39;WorkerStart&#39;, function ($serv, $worker_id) {
    //加载index文件的内容
    require __DIR__ . &#39;/../vendor/autoload.php&#39;;
    require_once __DIR__ . &#39;/../bootstrap/app.php&#39;;
});
//监听http请求
$http->on(&#39;request&#39;, function ($request, $response) {
    //server信息
    if (isset($request->server)) {
        foreach ($request->server as $k => $v) {
            $_SERVER[strtoupper($k)] = $v;
        }
    }
    //header头信息
    if (isset($request->header)) {
        foreach ($request->header as $k => $v) {
            $_SERVER[strtoupper($k)] = $v;
        }
    }
    //get请求
    if (isset($request->get)) {
        foreach ($request->get as $k => $v) {
            $_GET[$k] = $v;
        }
    }
    //post请求
    if (isset($request->post)) {
        foreach ($request->post as $k => $v) {
            $_POST[$k] = $v;
        }
    }
    //文件请求
    if (isset($request->files)) {
        foreach ($request->files as $k => $v) {
            $_FILES[$k] = $v;
        }
    }
    //cookies请求
    if (isset($request->cookie)) {
        foreach ($request->cookie as $k => $v) {
            $_COOKIE[$k] = $v;
        }
    }
    ob_start();//启用缓存区
    //加载laravel请求核心模块
    $kernel = app()->make(Illuminate\Contracts\Http\Kernel::class);
    $laravelResponse = $kernel->handle(
        $request = Illuminate\Http\Request::capture()
    );
    $laravelResponse->send();
    $kernel->terminate($request, $laravelResponse);
    $res = ob_get_contents();//获取缓存区的内容
    ob_end_clean();//清除缓存区
    //输出缓存区域的内容
    $response->end($res);
});
$http->start();
Nach dem Login kopieren

Routing hinzufügen Routing-Datei:

Route::get(&#39;/test1&#39;, &#39;UsersController@test&#39;);
Route::get(&#39;/test2&#39;,&#39;UsersController@test2&#39;);
Nach dem Login kopieren

Methode im Controller hinzufügen:

/**
     * 测试1
     * @param Request $request
     * @return string
     */
    public function test(Request $request)
    {
        return view(&#39;test&#39;);#在你的视图文件夹创建test.blade.php
    }
    /**
     * 测试2
     * @param Request $request
     * @return string
     */
    public function test2(Request $request)
    {
        return &#39;Hello World2:&#39; . $request->get(&#39;name&#39;);
    }
Nach dem Login kopieren

3. Swoole starten

Im Terminal eingeben:

php server/http_server.php
Nach dem Login kopieren

zu Besuchen Sie den Browser:

http://127.0.0.1:9501/test1
http://127.0.0.1:9501/test2?name=Jelly
Nach dem Login kopieren

Die entsprechenden Ergebnisse lauten wie folgt:

Besuchen Sie test1 Route

Swoole-Tutorial zur Laravel-Integration

Besuchen Sie test2 Routing

Swoole-Tutorial zur Laravel-Integration

Weitere technische Artikel zu Laravel finden Sie in der Spalte Laravel Framework Erste Schritte Tutorial, um mehr zu erfahren!

Das obige ist der detaillierte Inhalt vonSwoole-Tutorial zur Laravel-Integration. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:LaravelChen
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage