zendframework/zend-view
zend-view provides the View layer for Zend Framework MVC, offering a multi-tiered, extensible system for rendering and templating. Note: this package was abandoned on 2019-12-31; use laminas/laminas-view instead.
HeadMeta helper to honor the value of the
autoEscape flag when rendering values. Previously, it would ignore the
setting and always escape the values.^3.0 to the zendframework/zend-json constraints, allowing v3
releases to be used with zend-view.#168 adds two new methods to Zend\View\Helper\Placeholder (and thus any
helper extending it):
deleteContainer(string $name) can be used to delete a placeholder container.clearContainers() can be used to clear all placeholder containers.These new features are particularly useful when in long-running server environments, such as Swoole, where you may need to clear the contents on each request.
#155 modifies the Zend\View\Helper\Service\IdentifyFactory such that it will
now also look for the service Zend\Authentication\AuthenticationServiceInterface
if the service Zend\Authentication\AuthenticationService is not found. This
allows using a service named after the interface instead of the
implementation if desired.
#158 modifies how a ViewModel (and all extensions) is cloned; the $variables
property, if it is an object, is now cloned as well to ensure changes in the
new instance do not affect the current one.
#153 updates the ConsoleModel::setErrorLevel() method to implement a fluent
interface.
$regKey from a number of helpers; these were a
remnant of ZF1, and have not been used internally since the initial 2.0.0
release.Head* view helpers such that they will now properly
escape attributes as HTML attributes (instead of as HTML content).#170 ensures that variables referenced in compact() operations are properly
initialized, fixing an error that occures in PHP 7.3.
#169 adds zendframework/zend-json as a required dependency, as it is referenced in multiple locations within the package.
#156 adds missing [@method](https://github.com/method) annotations to the HeadMeta helper.
#135 adds support for PHP 7.2.
#138 adds support for the HTML5 "as" attribute to the HeadLink helper. This can be used to help prioritize resource loading.
#139 adds two new methods to the Zend\View\Helper\Gravatar class: setAttributes() and getAttributes().
placeholder() helper to no longer render a prefix or postfix if no items are available in the container.Zend\View\Helper\Gravatar methods setAttribs() and getAttribs() in favor of the new methods setAttributes() and getAttributes(), respectively.Navigation helper class to document the various proxy methods it allows via method overloading via [@method](https://github.com/method) annotations.#123 updates the HelperPluginManager such that it no longer injects a translator in a helper if one is already present.
#125 provides an update to the PhpRenderer:render() method such that it will now catch not only Exception instances, but also PHP 7 Throwable instances, and properly cleanup the output buffers when it does.
#121 provides a fix to ensure that content generated on a previous execution of PhpRenderer::render() is never re-used.
#89 updates the HeadScript and InlineScript view helpers to whitelist the id attribute as an optional attribute.
#96 updates the HeadScript, HeadLink, and InlineScript view helpers to whitelist the crossorigin and integrity attributes as optional attributes.
#64 adds a new Asset view helper. This helper uses the following configuration to map a named asset to the actual file to serve:
'view_helper_config' => [
'asset' => [
'resource_map' => [
'css/style.css' => 'css/style-3a97ff4ee3.css',
'js/vendor.js' => 'js/vendor-a507086eba.js',
],
],
],
This can also be automated via tools such as gulp-rev and grunt-rev by using the rev-manifest.json each creates directly within your configuration:
'view_helper_config' => [
'asset' => [
'resource_map' => json_decode(file_get_contents('path/to/rev-manifest.json'), true),
],
],
The benefit of this approach is that it allows your view scripts to reference a static asset name, while integrating with your JS and CSS build tools.
default or navigation containers (documentation specified default, but usage only allowed navigation previously). When default is specified, the Zend\Navigation\Navigation service will be used for the container; if navigation is used, that service will be pulled instead (which is usually an alias for the Zend\Navigation\Navigation service anyways).#92 fixes the docblocks and exception messages in the breadcrumbs and menu navigation helpers to remove references to 'module' keys for the $partial argument, as that key is no longer used.
#98 fixes how the HeadMeta helper renders the <meta charset> tag, ensuring it is the first rendered. As long as the HeadMeta helper is called early in your markup, this should ensure it is within the first 1024 characters, ensuring your document validates.
#104 fixes the [@method](https://github.com/method) annotation for the Placeholder view helper to use the correct case, fixing issues with method completion in IDEs.
#112 fixes an issue in the PhpRendererStrategy whereby absence of a response instance in the ViewEvent would lead to a fatal error.
#67 adds a script, templatemap_generator.php, which is available in vendor/bin/templatemap_generator.php once installed. This script replaces the original present in the zendframework/zendframework package, and simplifies it for the most common use case. Usage is:
$ cd module/ModuleName/config
$ ../../../vendor/bin/templatemap_generator.php ../view > template_map.config.php
You can also provide a list of files via globbing or usage of find after the initial directory argument; if provided that list of files will be used to generate the map. (The directory argument is then used to strip the path information when generating the template name.)
loop() method to the partialLoop() helper, allowing the ability to chain setters with rendering: $this->partialLoop()->setObjectKey('foo')->loop('partial', $data)HelperPluginManager.async attribute within the headScript helper.headScript helper to allow empty attribute types to render as keys only when using an HTML5 doctype.url() helper so that it can work with either the zend-mvc v2 router subcomponent or zend-router.Zend\View\Helper\TranslatorAwareTrait, which provides implementation for Zend\I18n\Translator\TranslatorAwareInterface, and allowed removal of duplicated implementations in several helpers.Zend\I18n\Translator\TranslatorAwareInterface by allowing helpers to duck type the interface to receive a translator during instantiation; this allows such helpers to work even when zend-i18n is not installed. The following helpers were updated to duck type the interface instead of implement it explicitly:
FlashMessengerHeadTitleNavigation helpersHelperPluginManager now implements an EventManagerAware initializer.Zend\View\Helper\Navigation\AbstractHelper now contains logic to ensure that when an EventManager instance is lazy-loaded, it composes a SharedEventManager.FlashMessenger factory now correctly pulls the config service, not the Config service (former is both backwards- and forwards compatible).Navigation\PluginManager::__construct() to ensure it properly pulls and injects the application container into navigation helpers, under both zend-servicemanager v2 and v3. Additionally, when lazy-instantiating the Navigation\PluginManager, the Navigation helper now passes the composed service manager instance to its constructor.Navigation\PluginManager to ensure it is backwards compatible with zend-servicemanager v2, including:
HelperPluginManager::injectTranslator() to return early if no container is provided (fixing an issue with navigation helpers introduced in 2.6.0).HelperPluginManager to ensure it is backwards compatible with zend-servicemanager v2.Breadcrumbs and Menu navigation helpers, renderPartialWithParams(array $params = [], $container = null, $partial = null). This method allows passing parameters to the navigation partial to render, just as you would when using the partial() view helper.How can I help you explore Laravel packages today?