Maison > cadre php > Laravel > Tutoriel Swoole d'intégration de Laravel

Tutoriel Swoole d'intégration de Laravel

藏色散人
Libérer: 2019-07-17 13:40:06
avant
4428 Les gens l'ont consulté

Tutoriel Swoole d'intégration de Laravel

1. Préparation

Installer Laravel

laravel new laravel-swoole
Copier après la connexion

Utilisation personnelle valet pour le développement, vous pouvez utiliser

laravel-swoole.test
Copier après la connexion

pour accéder

2 Présenter swoole

Pour une installation spécifique de swoole, veuillez vous rendre sur le site. site officiel. Le téléchargement, la compilation et l’installation ne sont pas expliqués ici.

1. Créez un dossier de serveur dans le répertoire du projet, puis créez le fichier http_server.php dans le dossier. Le contenu spécifique du fichier est le suivant

<?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();
Copier après la connexion

Ajoutez un routage au fichier de routage :

Route::get(&#39;/test1&#39;, &#39;UsersController@test&#39;);
Route::get(&#39;/test2&#39;,&#39;UsersController@test2&#39;);
Copier après la connexion

Ajouter une méthode dans le contrôleur :

/**
     * 测试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;);
    }
Copier après la connexion

3. Démarrer swoole

Entrer dans le terminal :

php server/http_server.php
Copier après la connexion

pour visitez le navigateur :

http://127.0.0.1:9501/test1
http://127.0.0.1:9501/test2?name=Jelly
Copier après la connexion

Les résultats correspondants sont les suivants :

Visitez l'itinéraire test1

Tutoriel Swoole dintégration de Laravel

Visitez test2 Routing

Tutoriel Swoole dintégration de Laravel

Pour plus d'articles techniques liés à Laravel, veuillez visiter la colonne Tutoriel de démarrage de Laravel Framework pour apprendre !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:LaravelChen
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal