1. Go to this page and download the library: Download hebbinkpro/pmmp-webserver library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
hebbinkpro / pmmp-webserver example snippets
use Hebbinkpro\WebServer\WebServer;
use Hebbinkpro\WebServer\http\server\HttpServerInfo;
class YourPlugin extends \pocketmine\plugin\PluginBase {
protected function onEnable() : void{
// ...
$serverInfo = new HttpServerInfo("0.0.0.0", 80)
// Create a new server on the address and port
$webServer = new WebServer($this, $serverInfo);
// after starting the server, the site will be available at http://127.0.0.1:80
$webServer->start();
}
}
use Hebbinkpro\WebServer\http\HttpMethod;
use Hebbinkpro\WebServer\http\message\HttpRequest;
use Hebbinkpro\WebServer\http\message\HttpResponse;
use Hebbinkpro\WebServer\route\Route;
{
// the method can be any value in the HttpMethod class.
// these methods represent HTTP request methods and makes the route listen to a specific type of request.
// if you want to listen to all requests, you can use HttpMethod::ANY (or "*").
$method = HttpMethod::GET;
// the specific path the route will listen to,
// you can find out more about the paths below
$path = "/";
// the action is the part that will execute once a client makes a request to the given method AND path.
// the HttpRequest inside the function is the request the client made to the web server
// the HttpResponse is the response the server will send back to the client after the function returns.
$action = function (HttpRequest $request, HttpResponse $response) {
// This will send the string "Hello World" back to the client.
$response->text("Hello World");
// the text function is one of the many simplified versions of the 'send' function
// by using the send function, you can input a string and set the HTTP content type
// the example below will send the string "<h1>Hello World</h1>" to the client and the client will see it as an HTML file.
$response->send("<h1>Hello World</h1>", "text/html");
// You can also send complete files using Response.
// this makes it really easy to send any kind of file
$response->sendFile("/path/to/your/file");
// but remember, you can only use ONE response action at any time
// each new response action will OVERWRITE the previous.
// So if you want to send multiple things in a single response,
// consider splitting it in multiple files, or sending everything in 1 response
}
// now we construct the Route with our given method, path and action.
$route = new Route($method, $path, $action);
}
function (HttpRequest $request, HttpResponse $response, mixed ...$params) {
// your code
}
$route = new \Hebbinkpro\WebServer\route\Route($method, $action, ...$params);
$router->addRoute($route)
$file = "path/to/your/file";
$default = "File not found";
// add the file route, $default is optional
$router->getFile($path, $file, $default);
use Hebbinkpro\WebServer\router\Router;
$childRouter = new Router();
// add here the stuff you want to the child router
// this is the same as for a default router
// ...
// add the router route with the path and the newly created child router
$router->route($path, $childRouter);
// define the folder you want to use for the static route by using its path
$folder = "/path/to/the/folder";
// add the static route with the path of the route and the folder path
$router->getStatic($path, $folder)
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.