SDL (Simple DirectMedia Layer) bindings for the PHP language. The extension allows you to create multimedia desktop applications with windows, input handling, events, and more.
- C compiler
- Automake tools
- PHP8 devel
- libSDL2 devel libraries and headers
- UN*X OS (eg Linux, Macos)
pecl install sdl-devel
Then add
extension=sdl.so
to your php.ini file.
The SDL extension mimics in almost every single aspect to the official C library, so until we write our own documentation, refer to the C counterpart.
Standard SDL2 API is available in procedural style:
$window = SDL_CreateWindow( "Foo window", 500, 50, 350, 300, SDL_WINDOW_SHOWN+SDL_WINDOW_RESIZABLE);
SDL_SetWindowTitle($window, "Some new title");
SDL_DestroyWindow($window);
And is also available in object oriented style:
$window = new SDL_Window( "Foo window", 100, 50, 350, 300, SDL_Window::SHOWN|SDL_Window::RESIZABLE);
$window->SetTitle("Some new title");
unset($window); // will destroy the window
Complete examples can be found in the examples folder.
To compile your new extension, you will have to execute the following steps:
$ phpize
$ ./configure [--enable--sdl]
$ make
$ make test
$ [sudo] make install
Please submit anything that needs our attention to the issues section on Github. We are commited to attend any request in a short timespan if it's a sensible matter.