Dengan pembangunan berterusan dan kemajuan era Internet, prestasi aplikasi web telah menjadi salah satu kunci kepada pembangunan perusahaan. Walau bagaimanapun, PHP tradisional sering terdedah kepada ranap di bawah keadaan yang tinggi dan trafik yang besar, yang menjejaskan prestasi aplikasi dan pengalaman pengguna. Untuk menyelesaikan masalah ini, Swoole wujud.
Swoole ialah rangka kerja coroutine PHP berprestasi tinggi yang boleh mencapai konkurensi tinggi dan pengaturcaraan tak segerak, meningkatkan prestasi dan kecekapan aplikasi web dengan sangat baik. Artikel ini akan mengajar anda langkah demi langkah cara mempelajari Swoole daripada asas kepada latihan.
1. Pengetahuan asas tentang Swoole
Coroutine ialah utas ringan dalam mod pengguna, yang berbeza daripada urutan sistem pengendalian. Ia hanya perlu menukar konteks tanpa membuat panggilan sistem Kelajuan pensuisan lebih pantas dan penggunaan memori lebih kecil. Coroutine boleh meningkatkan prestasi serentak program.
2. Pemasangan Swoole
Laksanakan arahan berikut dalam baris arahan untuk memasang sambungan Swoole:
pecl install swoole
Selepas pemasangan selesai, dalam php. Tambahkan kandungan berikut pada fail ini:
extension=swoole.so
Simpan dan mulakan semula PHP-FPM.
3. Penggunaan Swoole
Berikut ialah kes Swoole mudah yang boleh mengeluarkan Hello, Swoole!:
<?php $http = new swoole_http_server("127.0.0.1", 9501); $http->on("start", function ($server) { echo "Swoole http server is started at http://127.0.0.1:9501 "; }); $http->on("request", function ($request, $response) { $response->header("Content-Type", "text/plain"); $response->end("Hello, Swoole!"); }); $http->start();
Laksanakan arahan nama fail php pada baris arahan, buka penyemak imbas dan lawati http://localhost:9501, dan anda boleh melihat output Hello, Swoole!.
Berikut ialah Swoole WebSocket case mudah yang boleh melaksanakan fungsi bilik sembang mudah:
<?php $serv = new swoole_websocket_server("127.0.0.1", 9502); $serv->on('open', function ($server, $req) { echo "connection open: {$req->fd} "; }); $serv->on('message', function ($server, $frame) { echo "received message: {$frame->data} "; $server->push($frame->fd, json_encode(["hello", "world"])); }); $serv->on('close', function ($server, $fd) { echo "connection close: {$fd} "; }); $serv->start();
Laksanakan php dalam baris arahan Arahan nama fail, buka konsol penyemak imbas, dan laksanakan kod JS berikut:
var ws = new WebSocket('ws://127.0.0.1:9502'); ws.onopen = function() { console.log('WebSocket is connected'); }; ws.onmessage = function (evt) { console.log('received message: ' + evt.data); }; ws.onclose = function() { console.log('WebSocket is closed'); }; ws.send('Hello Swoole WebSocket');
Selepas dijalankan, anda boleh melihat bahawa konsol mengeluarkan WebSocket disambungkan dan menerima mesej: ["hello", "world"].
4. Ringkasan
Melalui pengenalan artikel ini, saya percaya bahawa semua orang telah menguasai pengetahuan asas dan penggunaan rangka kerja coroutine Swoole. Dalam pembangunan sebenar, kami boleh menggunakan sepenuhnya ciri penyelarasan tinggi, prestasi tinggi dan pengaturcaraan tak segerak Swoole untuk meningkatkan prestasi dan kecekapan aplikasi web.
Atas ialah kandungan terperinci Daripada asas kepada latihan, ajar anda langkah demi langkah cara belajar Swoole. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!