> PHP 프레임워크 > Laravel > Laravel 통합 Swoole 튜토리얼

Laravel 통합 Swoole 튜토리얼

藏色散人
풀어 주다: 2019-07-17 13:40:06
앞으로
4485명이 탐색했습니다.

Laravel 통합 Swoole 튜토리얼

1. 준비

Laravel 설치 # 🎜🎜#

laravel new laravel-swoole
로그인 후 복사

저는 개발을 위해 발렛을 사용합니다.

laravel-swoole.test
로그인 후 복사

를 사용하여

을 방문할 수 있습니다. 2. swoole#🎜을 소개합니다 🎜#

특정 swoole 설치의 경우 공식 웹사이트로 이동하여 다운로드, 컴파일 및 설치를 수행하세요. 여기서는 자세히 설명하지 않겠습니다.

1. 프로젝트 디렉토리에 서버 폴더를 생성한 후, 해당 폴더에 http_server.php 파일을 생성합니다.

<?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();
로그인 후 복사
#🎜🎜 # 라우팅 파일에 경로 추가:

Route::get(&#39;/test1&#39;, &#39;UsersController@test&#39;);
Route::get(&#39;/test2&#39;,&#39;UsersController@test2&#39;);
로그인 후 복사

컨트롤러에 메서드 추가:

/**
     * 测试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;);
    }
로그인 후 복사

3 시작합니다

터미널에 입력:

php server/http_server.php
로그인 후 복사

브라우저 방문:

http://127.0.0.1:9501/test1
http://127.0.0.1:9501/test2?name=Jelly
로그인 후 복사

해당 결과는 다음과 같습니다.

액세스 테스트 1 경로#🎜🎜 #

액세스 테스트 2 경로 Laravel 통합 Swoole 튜토리얼

#🎜 🎜#Laravel 관련 기술 기사를 더 보려면

Laravel 프레임워크 시작 튜토리얼

컬럼을 방문하여 알아보세요! Laravel 통합 Swoole 튜토리얼

위 내용은 Laravel 통합 Swoole 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:LaravelChen
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿