Download the PHP package marcel-maqsood/mezzio-middleware-formhandler without Composer

On this page you can find all versions of the php package marcel-maqsood/mezzio-middleware-formhandler. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package mezzio-middleware-formhandler

Middleware-FormHandler

This library allows you to handle your forms, check for missing fields and only uses fields that you really expect to be submitted.

Installation

Run the following to install this library:

Info

If your form has fields that are not defined inside the config, the handler will not use them due to security reasons. is no longer the correct keyword for DataAdapters, the key is now as the Formhandler is now able to use multiple adapters in one go.

BE AWARE: if contain an entry 'null', that no other adapter after that entry will be used as null passes the data down the pipe.

Documentation

At the bottom of the Doc, i'll show you a quick example on how the config is build like.

The Implementation

To implement the middleware, add a route to your routes file that passes its request into the middleware:

Since our FormHandler is now a real middleware, you can even implement it like this:

after that, be sure to provide a config-file inside your config/autoload folder, that contains anything the Middleware needs to check your forms. We recommend you to use our config-file paste it into your folder and adjust it to fit your needs.

Needed Data

The Formhandler needs either JSON-, Multidata- or plain POST Requests to run properly and it responds with JSON, describing whats going on.

Important Notes:

HTML Example

The Adapters

Currently there are 3 working Adapters:

The Local-Adapters

The Adapter field must be directly inside the form-definition:

The Global-Adapters

A Global Adapter is defined in the very top of the config:

if you defined a global adapter and want to use it, go ahead and put the name of it (in this case: globalTestAdapter-1) inside of the adapter-field of your form-config:

Recipients

As your forms should be able to send automated responses, you can define any number of recipients within and also use '%submit%' so that the handler will map this variable to the first "email" field submitted within your form, eg: [email protected] so that max knows that your system took notice.

The EMail-Template

The Template, you specified in the Config can be dynamic through twig, however since v1.0.23, the template field must contain a valid template's name:

the variables you use must be valid fields of your form and also defined in your config.

The EMail-Subject

Like the EMail-Template, also the EMail-Subject do support the twig-renderer, however the Subject does not support template-names, its a plain string:

The Reply-To Header

The E-Mail Adapters can handle with the "Reply-To" email-header you can define it inside the Adapter config like this:

reply-to only works if:

CSRF Protection

As your Forms will at some point either be stored within a database or send via email, our FormHandler can check for CSRF-Tokens to protect your application from getting bloated.

To use CSRF Protection, you have to install Mezzio-CSRF and configure it correctly. You dont have to define a field as required, but we suggest to use as only then your request are guranteed to be CSRF protected.

After that, be sure to define one of your fields as :

If the request was submitted with an invalid CSRF-Token, our FormHandler won't process the request further and instead passes the request down the pipe with the additional attribute which you can use within your code:

Multi-Layer Submit Arrays

As your application might send and receive nested arrays, eg. on contact-forms, our handler is able to retrieve an email field from within a nested arrays: You only need to define a field as if you want to use this behaviour.

The Required-Attribute

The Formhandler can check if a field is required in your form and dont accept the request if it is missing. if you don't define required or required as false, the handler might not get data of the field because it was missing in the request. If you want to set a field as required add this into the config of the field:

The Example

Credits

This bundle has been developed by designpark and was forked by ElectricBrands. To maintain this project without further mess, it is now forked onto my own github. (It was mainly me who developed it anyways).

License

The MIT License (MIT). Please see License File for more information.


All versions of mezzio-middleware-formhandler with dependencies

PHP Build Version
Package Version
Requires php Version >=8.0 <9.0
psr/http-server-middleware Version ^1.0
psr/container Version ^1.0
laminas/laminas-servicemanager Version ^3.4
swiftmailer/swiftmailer Version ^6.2
true/punycode Version ^2.1
mezzio/mezzio-problem-details Version ^1.0
laminas/laminas-json Version ^3.1
laminas/laminas-diactoros Version ^3.0
twig/twig Version ^3.9.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package marcel-maqsood/mezzio-middleware-formhandler contains the following files

Loading the files please wait ....