microweber-packages / microweber-view
Reusable Microweber View package for Laravel: PHP file views, StringBlade rendering, Twig string rendering, and Blade module tag compilation. Usable in standalone Laravel apps.
Package info
github.com/microweber-packages/microweber-view
pkg:composer/microweber-packages/microweber-view
v1.0.0
2026-11-03 14:28 UTC
Requires
- php: ^8.2
- illuminate/support: ^10.0|^11.0|^12.0|^13.0
- illuminate/view: ^10.0|^11.0|^12.0|^13.0
- microweber-packages/microweber-format: *
- microweber-packages/microweber-package: *
- spatie/laravel-package-tools: ^1.16
- symfony/http-foundation: ^6.0|^7.0
- twig/twig: ^3.0
Requires (Dev)
- larastan/larastan: ^3.0
- microweber-packages/microweber-format: *
- orchestra/testbench: ^8.0|^9.0|^10.0|^11.0
- phpunit/phpunit: ^10.0|^11.0|^12.0
Suggests
- microweber-packages/format: Used by the @module Blade directive for HTML attribute encoding when a CMS parser is present
Provides
None
Conflicts
None
Replaces
- microweber-packages/view: *
This package is auto-updated.
Last update: 2026-11-03 16:44:37 UTC
README
Reusable Laravel package extracted from Microweber CMS.
Features
- View – PHP file-based template renderer with assign/set API
- StringBlade – render Blade template strings
- TwigView – render Twig template strings
- MicroweberModuleTagCompiler – compile
<module />tags into@module([...]) - @module Blade directive – pluggable via
ModuleProcessorInterface - Optional health / demo HTTP routes
- Optional Filament “View Tools” page
Install (standalone Laravel)
composer require microweber-packages/microweber-view
Register the service provider (auto-discovered unless disabled):
MicroweberPackages\View\ViewServiceProvider::class,
Publish config:
php artisan vendor:publish --tag=microweber-view-config
Usage
use MicroweberPackages\View\View; use MicroweberPackages\View\StringBlade; use MicroweberPackages\View\TwigView; $view = new View('/path/to/template.php'); $view->assign('title', 'Hello'); echo $view; // or $view->display() $html = app(StringBlade::class)->render('Hello {{ $name }}', ['name' => 'World']); $html = (new TwigView())->render('Hello {{ name }}', ['name' => 'World']);
Tests
# From monorepo root php artisan test --filter=MicroweberPackages\\\\View # Package-local (after composer install in the package) composer test composer analyse
Databases
Package tests exercise SQLite, MySQL (root/root) and PostgreSQL (postgres/postgres) via MW_TEST_DB_DRIVER.