PHP code example of malik / crimson

1. Go to this page and download the library: Download malik/crimson 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/ */

    

malik / crimson example snippets




use Crimson\RequestHandler;
use Crimson\HttpServer;
use Crimson\App;

/**
 * Every handler class must extend the Crimson\RequestHandler class and
 * override methods.
 */
class GetHandler extends RequestHandler {

  private $msg;

  /**
   * The first method to be called from the handler class. Use this method to do
   * initialization instead of using a constructor.
   */
  public function initialize() {
    $this->msg = $this->getClassArgs()['msg'];
  }

  /**
   * Called before the request methods.
   */
  public function prepare() {
  }

  /**
   * Called when the request method is GET.
   */
  public function get() {
    $this->setStatus(200);
    $this->setContentType('text/plain');
    $this->write($this->msg);
  }

  /**
   * Use this method to set the response headers
   */
  public function setDefaultHeaders() {
    $this->setHeader('Access-Control-Allow-Origin', '*');
  }

  /**
   * This method is called at the end of the request.
   */
  public function onFinish() {
  }
}

/**
 * The Crimson\App class takes only 1 argument that is an array.
 *
 * Each element of the App class argument should be an array with 3 elements:
 *   1. RegEx pattern representing the path to invoke the handler class methods.
 *   2. Name of the handler class.
 *   3. An array which will be passed to the constructor of the handler class
 *      and can be accessed by `getClassArgs()` method.
 */
$app = new App([
  ['\/foo', 'GetHandler', ['msg' => 'Hello, World!!']]
]);

/**
 * The HttpServer class takes 4 arguments:
 *   1. The instance of the App class(