Skip to content
This repository has been archived by the owner on Jan 30, 2020. It is now read-only.

Commit

Permalink
Merge pull request #102 from thexpand/view-helper-trait
Browse files Browse the repository at this point in the history
Add helper trait to provide type-hinting for zend-view
  • Loading branch information
weierophinney committed Nov 18, 2019
2 parents b5713bc + fa2136b commit 70ed80f
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 0 deletions.
24 changes: 24 additions & 0 deletions docs/book/view-helpers.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,30 @@ displaying translated content.
See the [zend-view helpers documentation](https://docs.zendframework.com/zend-view/helpers/intro/)
for more information.

> ### IDE auto-completion in templates
>
> The `Zend\I18n\View\HelperTrait` trait can be used to provide auto-completion
> for modern IDEs. It defines the aliases of the view helpers in a DocBlock as
> `@method` tags.
>
> #### Usage
>
> In order to allow auto-completion in templates, `$this` variable should be
> type-hinted via a DocBlock at the top of your template. It is recommended that
> you always add the `Zend\View\Renderer\PhpRenderer` as the first type, so that
> the IDE can auto-suggest the default view helpers from `zend-view`. Next,
> chain the `HelperTrait` from `zend-i18n` with a pipe symbol (a.k.a. vertical
> bar) `|`:
> ```php
> /**
> * @var Zend\View\Renderer\PhpRenderer|Zend\I18n\View\HelperTrait $this
> */
> ```
>
> You may chain as many `HelperTrait` traits as you like, depending on view
> helpers from which Zend Framework component you are using and would like to
> provide auto-completion for.
## CurrencyFormat Helper
The `CurrencyFormat` view helper can be used to simplify rendering of localized
Expand Down
37 changes: 37 additions & 0 deletions src/View/HelperTrait.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?php
/**
* @see https://github.com/zendframework/zend-i18n for the canonical source repository
* @copyright Copyright (c) 2018 Zend Technologies USA Inc. (http://www.zend.com)
* @license https://github.com/zendframework/zend-i18n/blob/master/LICENSE.md New BSD License
*/

namespace Zend\I18n\View;

use IntlDateFormatter;

// @codingStandardsIgnoreStart

/**
* Helper trait for auto-completion of code in modern IDEs.
*
* The trait provides convenience methods for view helpers,
* defined by the zend-i18n component. It is designed to be used
* for type-hinting $this variable inside zend-view templates via doc blocks.
*
* The base class is PhpRenderer, followed by the helper trait from
* the zend-i18n component. However, multiple helper traits from different
* Zend Framework components can be chained afterwards.
*
* @example @var \Zend\View\Renderer\PhpRenderer|\Zend\I18n\View\HelperTrait $this
*
* @method string currencyFormat(float $number, string|null $currencyCode = null, bool|null $showDecimals = null, string|null $locale = null, string|null $pattern = null)
* @method string dateFormat(\DateTime|int|array $date, int $dateType = IntlDateFormatter::NONE, int $timeType = IntlDateFormatter::NONE, string|null $locale = null, string|null $pattern = null)
* @method string numberFormat(int|float $number, int|null $formatStyle = null, int|null $formatType = null, string|null $locale = null, int|null $decimals = null, array|null $textAttributes = null)
* @method string plural(array|string $strings, int $number)
* @method string translate(string $message, string|null $textDomain = null, string|null $locale = null)
* @method string translatePlural(string $singular, string $plural, int $number, string|null $textDomain = null, string|null $locale = null)
*/
trait HelperTrait
{
}
// @codingStandardsIgnoreEnd

0 comments on commit 70ed80f

Please sign in to comment.