emyu10\PhpView\Renderer

Documentation

About

This is a class I created to simplify rendering view files independently of any business logic. This is just a wrapper for a simple include. Nothing too impressive, but gets the job done.

Read the API documentation.
View on github emyu10/php-view

Installation

Using composer
composer require emyu10/php-view

Security

I am no expert in security. So I don't know if this implements the best security practice out there. Check the code for yourself.

Basic Usage

include_once 'vendor/autoload.php';

use \emyu10\PhpView\Renderer;
use \emyu10\PhpView\FileNotFoundException;

$renderer = new emyu10\PhpView\Renderer();
$renderer->setPath('/var/www/html/views');
$renderer->setFile('table');
$renderer->setData(['title' => 'My Awesome Webpage']);

try {
    $renderer->render();
} catch (FileNotFoundException $e) {
    echo $e->getMessage();
}
                

Using the initialize() method

$renderer = new emyu10\PhpView\Renderer();

$renderer->initialize('/var/www/html/views', 'table', ['title' => 'My Awesome Webpage'], false);

try {
    $renderer->render();
} catch (FileNotFoundException $e) {
    echo $e->getMessage();
}
                

Return the content as a string

$renderer = new emyu10\PhpView\Renderer();

$renderer->initialize('/var/www/html/views', 'table', ['title' => 'My Awesome Webpage'], true);

try {
    $theHtml  = $renderer->render(); //returns the content of the file as a string and assigns to $theHtml variable.
    echo $theHtml;
} catch (FileNotFoundException $e) {
    echo $e->getMessage();
}
                

Using the staticRender() method

try {
    Renderer::staticRender('/var/www/html/views/', 'profile', ['name' => 'John Wick', 'dob' => '02/03/1978'], false);
} catch (FileNotFoundException $e) {
    echo $e->getMessage();
}