From af9180e8bcf52deef61471b1113fdc5697fdbf63 Mon Sep 17 00:00:00 2001 From: Cvetomir Lazarov Date: Sat, 11 Aug 2018 22:15:49 +0300 Subject: [PATCH 1/8] Add helper trait to provide type-hinting for zend-view --- src/View/HelperTrait.php | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/View/HelperTrait.php diff --git a/src/View/HelperTrait.php b/src/View/HelperTrait.php new file mode 100644 index 0000000..9a96d25 --- /dev/null +++ b/src/View/HelperTrait.php @@ -0,0 +1,26 @@ + Date: Wed, 5 Sep 2018 15:16:18 +0300 Subject: [PATCH 2/8] Add doc block with copyright and license information --- src/View/HelperTrait.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/View/HelperTrait.php b/src/View/HelperTrait.php index 9a96d25..2caac08 100644 --- a/src/View/HelperTrait.php +++ b/src/View/HelperTrait.php @@ -1,4 +1,9 @@ Date: Wed, 5 Sep 2018 15:16:39 +0300 Subject: [PATCH 3/8] Change comment in doc-block's description to properly address Zend Framework components --- src/View/HelperTrait.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/View/HelperTrait.php b/src/View/HelperTrait.php index 2caac08..95b8686 100644 --- a/src/View/HelperTrait.php +++ b/src/View/HelperTrait.php @@ -20,7 +20,7 @@ * * The base class is PhpRenderer, followed by the helper trait from * the zend-mvc-plugin-flashmessenger component. However, multiple helper traits - * from different Zend components can be chained afterwards. + * from different Zend Framework components can be chained afterwards. * * @example @var \Zend\View\Renderer\PhpRenderer|\Zend\Mvc\Plugin\FlashMessenger\View\HelperTrait $this * From 01cf7bb1ab19d093bf0ee7e23a19d158364d9fb1 Mon Sep 17 00:00:00 2001 From: Cvetomir Lazarov Date: Wed, 5 Sep 2018 15:16:57 +0300 Subject: [PATCH 4/8] Add data types for all @method parameters in the helper trait --- src/View/HelperTrait.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/View/HelperTrait.php b/src/View/HelperTrait.php index 95b8686..5725c27 100644 --- a/src/View/HelperTrait.php +++ b/src/View/HelperTrait.php @@ -24,7 +24,7 @@ * * @example @var \Zend\View\Renderer\PhpRenderer|\Zend\Mvc\Plugin\FlashMessenger\View\HelperTrait $this * - * @method FlashMessenger|PluginFlashMessenger flashMessenger($namespace = null) + * @method FlashMessenger|PluginFlashMessenger flashMessenger(string|null $namespace = null) */ trait HelperTrait { From d7a1ec0ffb9bf4bc7110b5c484d8a55dba538466 Mon Sep 17 00:00:00 2001 From: Cvetomir Lazarov Date: Wed, 5 Sep 2018 15:17:19 +0300 Subject: [PATCH 5/8] Add a more descriptive title of the helper trait --- src/View/HelperTrait.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/View/HelperTrait.php b/src/View/HelperTrait.php index 5725c27..3ce572a 100644 --- a/src/View/HelperTrait.php +++ b/src/View/HelperTrait.php @@ -11,7 +11,7 @@ use Zend\Mvc\Plugin\FlashMessenger\View\Helper\FlashMessenger; /** - * Trait HelperTrait + * Helper trait for auto-completion of code in modern IDEs. * * The trait provides convenience methods for view helpers, * defined by the zend-mvc-plugin-flashmessenger component. From 2e2a8d22fb3df2aa11d18701759107d8d89e10a8 Mon Sep 17 00:00:00 2001 From: Cvetomir Lazarov Date: Thu, 6 Sep 2018 01:50:05 +0300 Subject: [PATCH 6/8] Replace the year range with the current year in the copyright doc-block --- src/View/HelperTrait.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/View/HelperTrait.php b/src/View/HelperTrait.php index 3ce572a..4880f11 100644 --- a/src/View/HelperTrait.php +++ b/src/View/HelperTrait.php @@ -1,7 +1,7 @@ Date: Wed, 12 Sep 2018 21:37:19 +0300 Subject: [PATCH 7/8] Add documentation for HelperTrait for IDE auto-completion --- docs/book/flash-messenger-view-helper.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/book/flash-messenger-view-helper.md b/docs/book/flash-messenger-view-helper.md index b51cef9..53bdc5e 100644 --- a/docs/book/flash-messenger-view-helper.md +++ b/docs/book/flash-messenger-view-helper.md @@ -144,3 +144,27 @@ data-dismiss="alert" aria-hidden="true">×
  • ', ], ], ``` + +## IDE auto-completion in templates + +The `Zend\Mvc\Plugin\FlashMessenger\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\Mvc\Plugin\FlashMessenger\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. From 83b3930c7fc8953db285029750eef9062512371c Mon Sep 17 00:00:00 2001 From: webimpress Date: Sat, 19 Oct 2019 22:47:52 +0100 Subject: [PATCH 8/8] Adds CHANGELOG entry for #22 --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 56b49b5..91d1c4d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,12 @@ All notable changes to this project will be documented in this file, in reverse - [#24](https://github.com/zendframework/zend-mvc-plugin-flashmessenger/pull/24) adds support for PHP 7.3. +- [#22](https://github.com/zendframework/zend-mvc-plugin-flashmessenger/pull/22) adds `Zend\Mvc\Plugin\FlashMessenger\View\HelperTrait`, + which can be used to provide IDE autocompletion for view helpers + provided by zend-mvc-plugin-flashmessenger. See + https://docs.zendframework.com/zend-mvc-plugin-flashmessenger/flash-messenger-view-helper/#ide-auto-completion-in-templates + for more information. + ### Changed - Nothing.