Comments (4)
How do you configure FormElementManager
? Do you have a factory that injects it with configuration?
I did something similar here: https://github.com/mtymek/blast-input-filter - I configure validator, filter and input filter plugin managers in a similar manner as you do. Take a look - maybe it will give you some hints.
Alternatively, maybe you would like to contribute to my component and add support for form elements?
Originally posted by @mtymek at zendframework/zend-expressive#387 (comment)
from mezzio.
Like I said, I only have a special ConfigProvider
which reads the config file and adds it to the configuration in the /config/config.php
. i thought that all the configuration is passed to formElementManager and others. To fix this I added the lines I mentioned.
Your package looks like a better solution though I am missing hydrators and form elements. The name of the package seems a bit misleading when adding hydrators and form elements.
Originally posted by @RalfEggert at zendframework/zend-expressive#387 (comment)
from mezzio.
So, basically you're missing a factory that does the code you put in config.php
;) By itself, FormElementManager
doesn't know that it should look for form_elements
config key.
My package doesn't have hydrators and form elements because I don't use them (well, I use hydrators but I keep them in main SM...). But I'll be happy to accept PR or even consider changing the package name to something more relevant afterwards.
Originally posted by @mtymek at zendframework/zend-expressive#387 (comment)
from mezzio.
@RalfEggert for this i usually use Delegator Factories like
<?php
namespace My\Namespace\Form;
use Interop\Container\ContainerInterface;
use Zend\Form\FormElementManager\FormElementManagerV3Polyfill;
use Zend\ServiceManager\Config;
use Zend\ServiceManager\Factory\DelegatorFactoryInterface;
class FormElementManagerDelegatorFactory implements DelegatorFactoryInterface
{
public function __invoke(ContainerInterface $container, $name, callable $callback, array $options = null)
{
$formElementManager = $callback();
$config = $container->has('config') ? $container->get('config') : [];
$config = isset($config['form_elements']) ? $config['form_elements'] : [];
(new Config($config))->configureServiceManager($formElementManager);
return $formElementManager;
}
}
and in my ConfigProvider config
<?php
return [
'dependencies' => [
'delegators' => [
'HydratorManager' => [
My\Namespace\Hydrator\HydratorManagerDelegatorFactory::class,
],
'InputFilterManager' => [
My\Namespace\InputFilter\InputFilterManagerDelegatorFactory::class,
],
'FormElementManager' => [
My\Namespace\Form\FormElementManagerDelegatorFactory::class,
],
],
],
];
yes, class naming could be improved ;-)
Originally posted by @skors at zendframework/zend-expressive#387 (comment)
from mezzio.
Related Issues (20)
- Create `Mezzio\ApplicationPipeline` implementation for better static code analysis HOT 1
- Missing good examples of configuration template paths for laminas-view in mezzio HOT 3
- Replace `RequestHandlerRunner` factory with `RequestHandlerRunnerInterface` factory HOT 3
- Page with the description of the installation is missing
- Dependency Dashboard
- [RFC]: Provide an ApplicationProgrammaticConfigDelegator that pairs with ApplicationConfigInjectionDelegator HOT 4
- Script MezzioInstaller\OptionalPackages::install handling the pre-install-cmd event terminated with an exception HOT 3
- Upgrading to PHP 8.2 breaks Dependency Injection HOT 9
- [RFC]: Remove Pimple from Mezzio documentation and from Mezzio skeleton HOT 3
- bin/mezzio-tooling is incompatible with mezzio/mezzio-tooling v2 HOT 7
- [RFC]: Deprecate `ApplicationConfigInjectionDelegator` and `Application#post`, etc.
- Provide `RouteCollectorInterface` and `MiddlewarePipeInterface` delegators to supersede `ApplicationConfigInjectionDelegator` HOT 1
- jsoumelidis/zend-sf-di-config[0.4.0, ..., 0.4.1] require php ^7.1 -> your php version 8.0.99 HOT 1
- PhpDebugBar documentation is outdated. HOT 1
- [RFC]: Mezzio v4 HOT 2
- Mezzio does not work without a router HOT 3
- Using ApplicationConfigInjectionDelegator more than once (in multiple modules simultaneously) results results in a DuplicateRouteException. HOT 1
- Move router integration tests to router packages
- PHP 8.1 Support HOT 12
- Support for laminas-httphandlerrunner 2.x versions HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mezzio.