codemonster-ru / view
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
Requires
- php: >=8.2
Requires (Dev)
- phpunit/phpunit: ^9.6 || ^10.5 || ^11.0 || ^12.0
README
A core for rendering views in PHP applications.
The package itself doesn't contain any engines; they are included in separate packages:
codemonster-ru/view-php
โ PHP templatescodemonster-ru/view-ssr
โ SSR for Vue/React- (future) Twig, Blade, and others
๐ฆ 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