1. Go to this page and download the library: Download decodelabs/harvest 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/ */
decodelabs / harvest example snippets
use DecodeLabs\Harvest;
use DecodeLabs\Harvest\Dispatcher;
use DecodeLabs\Harvest\Middleware\ContentSecurityPolicy;
// Create a Dispatcher
$dispatcher = new Dispatcher(
$myPsrContainer // Ideally initialize with a PSR-11 container
);
// Add middleware
$dispatcher->add(
'ErrorHandler', // Resolve by name via container / Archetype
new ContentSecurityPolicy(), // Add middleware instance
function($request, $handler) {
// Add middleware callback
// $handler is the next middleware in the stack
// $request is the current request
// Return a response
return Harvest::text('Hello World!');
}
);
$request = Harvest::createRequestFromEnvironment();
$response = $dispatcher->dispatch($request);
use DecodeLabs\Archetype;
use DecodeLabs\Harvest\Middleware;
Archetype::map(Middleware::class, MyMiddlewareNamespace::class);
use DecodeLabs\Harvest;
$transport = Harvest::createTransport(
// $name - a null name will default to the Generic transport
);
$transport->sendResponse(
$request, $response
);
exit;
use DecodeLabs\Harvest;
$text = Harvest::text('Hello World!'); // Text
$customText = Harvest::text('Hello World!', 201, [
'Custom-Header' => 'header-value'
]);
$html = Harvest::html('<h1>Hello World!</h1>'); // HTML
$json = Harvest::json([
'whatever-data' => 'Hello World!'
]); // JSON
$xml = Harvest::xml($xmlString); // XML
$redirect = Harvest::redirect('/some/other/path'); // Redirect
$file = Harvest::stream('/path/to/file'); // Stream
$resource = Harvest::stream(Harvest::createStreamFromResource($resource)); // Stream
$generator = Harvest::generator(function() {
yield 'Custom content';
yield ' can be written';
yield ' from a generator';
}, 200, [
'Content-Type' => 'text/plain'
]);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.