View rendering core for PHP applications

Installs: 93

Dependents: 4

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/codemonster-ru/view

v2.3.0 2025-10-18 13:23 UTC

This package is auto-updated.

Last update: 2025-10-18 13:24:42 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