Package Home

Zend Framework 2 Documentation (Manual)

PHK Home

File: /_sources/modules/zend.filter.static-filter.txt

Size:1894
Storage flags:no_autoload,compress/gzip (44%)

.. _zend.filter.introduction.staticfilter:

Using the StaticFilter
----------------------

If it is inconvenient to load a given filter class and create an instance of the filter, you can use
``StaticFilter`` with it's method ``execute()`` as an alternative invocation style. The first argument of this
method is a data input value, that you would pass to the ``filter()`` method. The second argument is a string,
which corresponds to the basename of the filter class, relative to the ``Zend\Filter`` namespace. The ``execute()``
method automatically loads the class, creates an instance, and applies the ``filter()`` method to the data input.

.. code-block:: php
   :linenos:

   echo StaticFilter::execute('&', 'HtmlEntities');

You can also pass an array of constructor arguments, if they are needed for the filter class.

.. code-block:: php
   :linenos:

   echo StaticFilter::execute('"',
                              'HtmlEntities',
                              array('quotestyle' => ENT_QUOTES));

The static usage can be convenient for invoking a filter ad hoc, but if you have the need to run a filter for
multiple inputs, it's more efficient to follow the first example above, creating an instance of the filter object
and calling its ``filter()`` method.

Also, the ``FilterChain`` class allows you to instantiate and run multiple filter and validator classes on demand
to process sets of input data. See :ref:`FilterChain <zend.filter.filter_chains>`.

You can set and receive the ``FilterPluginManager`` for the ``StaticFilter`` to amend the standard filter classes.

.. code-block:: php
   :linenos:

   $pluginManager = StaticFilter::getPluginManager()->setInvokableClass(
       'myNewFilter', 'MyCustom\Filter\MyNewFilter'
   );

   StaticFilter::setPluginManager(new MyFilterPluginManager());

This is useful when adding custom filters to be used by the ``StaticFilter``.

For more information about the PHK package format: http://phk.tekwire.net