View rendering core for PHP applications

Installs: 192

Dependents: 4

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/codemonster-ru/view

v2.3.1 2025-12-27 02:26 UTC

This package is auto-updated.

Last update: 2025-12-27 11:29:12 UTC


README

Latest Version on Packagist Total Downloads License Tests

A core for rendering views in PHP applications.

The package itself doesn't contain any engines; they are included in separate packages:

Installation

composer require codemonster-ru/view

Usage

use Codemonster\View\View;
use Codemonster\View\Locator\DefaultLocator;
use Codemonster\View\Engines\PhpEngine; // package: codemonster-ru/view-php

$locator = new DefaultLocator([__DIR__ . '/resources/views']); // can be an array of paths
$engine  = new PhpEngine($locator, 'php'); // default extension: php

$view = new View(['php' => $engine], 'php');

// Render template
echo $view->render('emails.welcome', ['user' => 'Vasya']);
// Looks for: resources/views/emails/welcome.php

// Access the locator of the default engine (added in v2.2.0)
$defaultLocator = $view->getLocator();
$defaultLocator->addPath(__DIR__ . '/vendor/package/views');

// Register namespaced view paths (added in v2.3.0)
$view->addNamespace('admin', __DIR__ . '/resources/views/admin');
echo $view->render('admin::dashboard', ['user' => 'Vasya']);

Features

  • Engine-agnostic core
  • Support for multiple engines (PhpEngine, SsrEngine, TwigEngine, etc.)
  • Unified EngineInterface interface
  • Easy integration with frameworks (e.g., Annabel)

Testing

You can run tests with the command:

composer test

Author

Kirill Kolesnikov

License

MIT