Home > Article > PHP Framework > Is Swoole written in c?
The bottom layer of swoole is written in C language. The swoole series of functions can be understood as the API provided by swoole to php. PHP calls the swoole's API through the swoole series of functions to start the swoole service, register callback functions, etc., and swoole's event driver executes the corresponding callback function. This is completely different from ordinary PHP extensions that only provide library functions. For swoole, PHP only has a passing function, and the real program control is swoole.
Function library provided by swoole
What functions does swoole provide for us to use? When we think about which services we use, we can use swoole to Help us make it happen.
http service, write a simple web server.
TCP/UDP service, write a message acceptance and processing system.
Asynchronous, you can process requests asynchronously.
Concurrency, the same business logic can be processed concurrently.
socket, socket communication processing technology.
Millisecond level timer, you can use the timer in php.
Coroutines are more stable and easier to use than threads.
If the above features are useful in your business, and you are using PHP, then you can completely use swoole to complete it. The more specific scenarios are as follows:
1. Internet ;
2. Mobile communications;
3. Enterprise software;
4. Cloud computing;
5. Online games;
6, Internet of Things (IOT);
7, Internet of Vehicles;
8, smart home and other fields.
swoole's framework
Swoft is the first new-era PHP high-performance coroutine full-stack framework based on Swoole's native coroutine, with built-in coroutine Network servers and commonly used coroutine clients are memory-resident and do not rely on traditional PHP-FPM. They are fully asynchronous and non-blocking IO implementations. They are written in a way similar to synchronous clients to implement the use of asynchronous clients. There are no complex asynchronous callbacks and no cumbersomeness. Yield has Go language-like coroutines, flexible annotations, powerful global dependency injection containers, complete service governance, flexible and powerful AOP, standard PSR specification implementation, etc., which can be used to build high-performance Web systems. API, middleware, basic services, etc.
EasySwoole EasySwoole is a memory-resident PHP framework developed based on Swoole Server. It is specially designed for APIs and gets rid of the performance loss caused by traditional PHP operating mode in process arousal and file loading. EasySwoole highly encapsulates Swoole Server while still maintaining the original features of Swoole Server. It supports simultaneous monitoring of HTTP, customized TCP, and UDP protocols, allowing developers to write multi-process, asynchronous, and highly available applications with the lowest learning cost and effort. Serve.
SwooleDistributed SwooleDistributed The old Swoole framework has the most complete development tools and the most powerful functions. It is the first SDHelper developer toolkit and developer debugging command set, which can perform unit testing and capture client traffic analysis. , visual remote breakpoint joint debugging, and also has the function of code coverage detection (swoole is not compatible with xdebug extension, SDHelper does not require xdebug extension), and has extremely rich built-in components (like MQTT powerful subscription publishing/Actor model/memory high speed Caching/event dispatch/process management/scheduled tasks/AMQP task scheduling/background monitoring/cluster/microservice/RPC/asynchronous connection pool/custom commands, etc.), developers can use it directly to speed up development progress. Almost all functions support clustering, and switching from a single machine to a cluster does not require any modification to the code. If business development is more complex such as (game development), then the SD framework will be your best choice.
swoole process structure
# #·Master main process
·manager management process
·worker subprocess
·task task process
·MainReactor main thread
·reactor thread group
Swoole’s process/threading model
The execution process of the Swoole program
#PHP Chinese website, there are a lot of freeSwoole Getting Started Tutorial, everyone is welcome to learn!
The above is the detailed content of Is Swoole written in c?. For more information, please follow other related articles on the PHP Chinese website!