Download the PHP package yiisoft/yii-view-renderer without Composer
On this page you can find all versions of the php package yiisoft/yii-view-renderer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download yiisoft/yii-view-renderer
More information about yiisoft/yii-view-renderer
Files in yiisoft/yii-view-renderer
Package yii-view-renderer
Short Description PSR-7 compatible view renderer
License BSD-3-Clause
Homepage https://www.yiiframework.com/
Informations about the package yii-view-renderer
Yii View Renderer
The package is an extension of the Yii View rendering library. It adds WEB-specific functionality and compatibility with PSR-7 interfaces.
Requirements
- PHP 8.1 - 8.5.
Installation
The package could be installed with Composer:
General usage
There are two ways to render a view:
- Return an instance of
Psr\Http\Message\ResponseInterfacewith deferred rendering. - Render immediately and return the rendered result as a string.
Rendering result as a PSR-7 response
You can get an instance of a response with deferred rendering as follows:
The rendering will be performed directly when calling the getBody() method of the response.
If a layout is set, but you need to render a view without the layout, you can use an immutable setter withLayout():
Or use renderPartial() method, which will call withLayout(null):
Rendering result as a string
To render immediately and return the rendering result as a string,
use renderAsString() and renderPartialAsString() methods:
Change view templates path
You can change view templates path in runtime as follows:
You can specify full path to the views directory or its alias. For more information about path aliases, see description of the yiisoft/aliases package.
Use in the controller
If the view renderer is used in a controller, you can either specify controller name explicitly using
withControllerName() or determine name automatically by passing a controller instance to withController().
In this case the name is determined as follows:
With this approach, you do not need to specify the directory name each time when rendering a view template:
This is very convenient if there are many methods (actions) in the controller.
Injection of additional data to the views
In addition to parameters passed directly when rendering the view template, you can set extra parameters that will be available in all views. In order to do it you need a class implementing at least one of the injection interfaces:
Link tags and meta tags should be organized in the same way.
You can pass instances of these classes as the sixth optional parameter to the constructor when
creating a view renderer, or use the withInjections() and withAddedInjections methods.
The parameters passed to render() method have more priority
and will overwrite the injected content parameters if their names match.
Injections lazy loading
You can use lazy loading for injections. Injections will be created by container that implements
Yiisoft\Yii\View\Renderer\InjectionContainerInterface. Out of the box, it is available in InjectionContainer that is based on PSR-11 compatible
container.
-
Add injection container to
WebViewRendererconstructor: - Use injection class names instead of instances.
Localize view file
You can set a specific locale that will be used to localize view files with withLocale() method:
For more information about localization, see at the localization section in yiisoft/view package.
Yii Config parameters
Documentation
- Internals
If you need help or have a question, the Yii Forum is a good place for that. You may also check out other Yii Community Resources.
License
The Yii View Renderer is free software. It is released under the terms of the BSD License.
Please see LICENSE for more information.
Maintained by Yii Software.
Support the project
Follow updates
All versions of yii-view-renderer with dependencies
psr/container Version ^1.0 || ^2.0
psr/http-factory Version ^1.1
psr/http-message Version ^1.1 | ^2.0
yiisoft/aliases Version ^2.0 || ^3.0
yiisoft/csrf Version ^1.2 || ^2.0
yiisoft/data-response Version ^2.2
yiisoft/friendly-exception Version ^1.0
yiisoft/html Version ^2.5 || ^3.0 || ^4.0
yiisoft/strings Version ^2.0
yiisoft/view Version ^12