Skip to content
This repository has been archived by the owner on Mar 1, 2023. It is now read-only.

Commit

Permalink
[WIP] Middlewares
Browse files Browse the repository at this point in the history
  • Loading branch information
romm committed Aug 22, 2017
1 parent bf156f0 commit 5ee07f9
Show file tree
Hide file tree
Showing 30 changed files with 80 additions and 62 deletions.
2 changes: 1 addition & 1 deletion Classes/Domain/Middleware/Begin/BeginMiddleware.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
use Romm\Formz\Form\FormObject\FormObjectFactory;
use Romm\Formz\Middleware\Processor\MiddlewareProcessor;
use Romm\Formz\Middleware\Signal\After;
use Romm\Formz\Middleware\Signal\SignalObject;
use Romm\Formz\Middleware\Signal\Element\SignalObject;
use TYPO3\CMS\Core\Utility\GeneralUtility;

final class BeginMiddleware
Expand Down
2 changes: 1 addition & 1 deletion Classes/Domain/Middleware/Begin/BeginSignal.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

namespace Romm\Formz\Domain\Middleware\Begin;

use Romm\Formz\Middleware\Signal\MiddlewareSignalInterface;
use Romm\Formz\Middleware\Signal\Element\MiddlewareSignalInterface;

interface BeginSignal extends MiddlewareSignalInterface
{
Expand Down
2 changes: 1 addition & 1 deletion Classes/Domain/Middleware/End/EndMiddleware.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

use Romm\Formz\Middleware\Processor\MiddlewareProcessor;
use Romm\Formz\Middleware\Signal\Before;
use Romm\Formz\Middleware\Signal\SignalObject;
use Romm\Formz\Middleware\Signal\Element\SignalObject;
use TYPO3\CMS\Core\Utility\GeneralUtility;

final class EndMiddleware
Expand Down
2 changes: 1 addition & 1 deletion Classes/Domain/Middleware/End/EndSignal.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

namespace Romm\Formz\Domain\Middleware\End;

use Romm\Formz\Middleware\Signal\MiddlewareSignalInterface;
use Romm\Formz\Middleware\Signal\Element\MiddlewareSignalInterface;

interface EndSignal extends MiddlewareSignalInterface
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

namespace Romm\Formz\Domain\Middleware\FieldValidation;

use Romm\Formz\Middleware\Signal\MiddlewareSignalInterface;
use Romm\Formz\Middleware\Signal\Element\MiddlewareSignalInterface;

interface FieldValidationSignal extends MiddlewareSignalInterface
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
namespace Romm\Formz\Domain\Middleware\FormInjection;

use Romm\Formz\Core\Core;
use Romm\Formz\Middleware\Element\OnBeginMiddleware;
use Romm\Formz\Middleware\Processor\PresetMiddlewareInterface;
use Romm\Formz\Middleware\Application\OnBeginMiddleware;
use Romm\Formz\Middleware\PresetMiddlewareInterface;
use Romm\Formz\Middleware\Processor\RemoveFromSingleFieldValidationContext;
use Romm\Formz\Middleware\Signal\SendsMiddlewareSignal;
use Romm\Formz\Middleware\Signal\SendsSignal;

/**
* This middleware takes care of creating new form instances, based on the
Expand All @@ -30,7 +30,7 @@
* The goal is to provide a form instance to the controller in every case, so
* the developer can manipulate it easily, for instance by pre-setting values.
*/
class FormInjectionMiddleware extends OnBeginMiddleware implements PresetMiddlewareInterface, SendsMiddlewareSignal, RemoveFromSingleFieldValidationContext
class FormInjectionMiddleware extends OnBeginMiddleware implements PresetMiddlewareInterface, SendsSignal, RemoveFromSingleFieldValidationContext
{
/**
* @var int
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

namespace Romm\Formz\Domain\Middleware\FormInjection;

use Romm\Formz\Middleware\Signal\MiddlewareSignalInterface;
use Romm\Formz\Middleware\Signal\Element\MiddlewareSignalInterface;

interface FormInjectionSignal extends MiddlewareSignalInterface
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@
use Romm\Formz\Form\Definition\Field\Field;
use Romm\Formz\Domain\Middleware\FieldValidation\FieldValidationArguments;
use Romm\Formz\Domain\Middleware\FieldValidation\FieldValidationSignal;
use Romm\Formz\Middleware\Element\OnBeginMiddleware;
use Romm\Formz\Middleware\Processor\PresetMiddlewareInterface;
use Romm\Formz\Middleware\Application\OnBeginMiddleware;
use Romm\Formz\Middleware\PresetMiddlewareInterface;
use Romm\Formz\Middleware\Processor\RemoveFromSingleFieldValidationContext;
use Romm\Formz\Middleware\Signal\SendsMiddlewareSignal;
use Romm\Formz\Middleware\Signal\SendsSignal;
use Romm\Formz\Validation\Validator\Form\AbstractFormValidator;

/**
Expand All @@ -35,7 +35,7 @@
*
* @see \Romm\Formz\Middleware\Processor\RemoveFromSingleFieldValidationContext
*/
class FormValidationMiddleware extends OnBeginMiddleware implements PresetMiddlewareInterface, SendsMiddlewareSignal, RemoveFromSingleFieldValidationContext
class FormValidationMiddleware extends OnBeginMiddleware implements PresetMiddlewareInterface, SendsSignal, RemoveFromSingleFieldValidationContext
{
/**
* @var \Romm\Formz\Domain\Middleware\FormValidation\FormValidationMiddlewareOption
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

namespace Romm\Formz\Domain\Middleware\FormValidation;

use Romm\Formz\Middleware\Signal\MiddlewareSignalInterface;
use Romm\Formz\Middleware\Signal\Element\MiddlewareSignalInterface;

interface FormValidationSignal extends MiddlewareSignalInterface
{
Expand Down
2 changes: 1 addition & 1 deletion Classes/Exceptions/InvalidArgumentTypeException.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
use Romm\Formz\AssetHandler\AbstractAssetHandler;
use Romm\Formz\Condition\Items\ConditionItemInterface;
use Romm\Formz\Form\FormInterface;
use Romm\Formz\Middleware\Element\MiddlewareInterface;
use Romm\Formz\Middleware\MiddlewareInterface;
use Romm\Formz\Middleware\Option\OptionDefinitionInterface;
use Romm\Formz\ViewHelpers\FieldViewHelper;
use Romm\Formz\ViewHelpers\FormatMessageViewHelper;
Expand Down
6 changes: 3 additions & 3 deletions Classes/Exceptions/InvalidArgumentValueException.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
namespace Romm\Formz\Exceptions;

use Romm\Formz\Form\FormInterface;
use Romm\Formz\Middleware\Signal\SendsMiddlewareSignal;
use Romm\Formz\Middleware\Signal\SendsSignal;

class InvalidArgumentValueException extends FormzException
{
Expand Down Expand Up @@ -42,10 +42,10 @@ final public static function fieldViewHelperEmptyLayout()
/**
* @code 1490798201
*
* @param SendsMiddlewareSignal $middleware
* @param SendsSignal $middleware
* @return InvalidArgumentValueException
*/
final public static function signalNotAllowed(SendsMiddlewareSignal $middleware)
final public static function signalNotAllowed(SendsSignal $middleware)
{
/** @var self $exception */
$exception = self::getNewExceptionInstance(
Expand Down
6 changes: 3 additions & 3 deletions Classes/Exceptions/InvalidEntryException.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@

namespace Romm\Formz\Exceptions;

use Romm\Formz\Middleware\Element\MiddlewareInterface;
use Romm\Formz\Middleware\Signal\SendsMiddlewareSignal;
use Romm\Formz\Middleware\MiddlewareInterface;
use Romm\Formz\Middleware\Signal\SendsSignal;

class InvalidEntryException extends FormzException
{
Expand Down Expand Up @@ -51,7 +51,7 @@ final public static function middlewareNotSendingSignals(MiddlewareInterface $mi
/** @var self $exception */
$exception = self::getNewExceptionInstance(
self::MIDDLEWARE_NOT_SENDING_SIGNALS,
[get_class($middleware), SendsMiddlewareSignal::class]
[get_class($middleware), SendsSignal::class]
);

return $exception;
Expand Down
6 changes: 3 additions & 3 deletions Classes/Exceptions/MissingArgumentException.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

namespace Romm\Formz\Exceptions;

use Romm\Formz\Middleware\Signal\SendsMiddlewareSignal;
use Romm\Formz\Middleware\Signal\SendsSignal;

class MissingArgumentException extends FormzException
{
Expand Down Expand Up @@ -93,10 +93,10 @@ final public static function conditionConstructorArgumentMissing($conditionName,
/**
* @code 1490793826
*
* @param SendsMiddlewareSignal $middleware
* @param SendsSignal $middleware
* @return self
*/
final public static function signalNameArgumentMissing(SendsMiddlewareSignal $middleware)
final public static function signalNameArgumentMissing(SendsSignal $middleware)
{
/** @var self $exception */
$exception = self::getNewExceptionInstance(
Expand Down
4 changes: 2 additions & 2 deletions Classes/Exceptions/SignalNotFoundException.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@

namespace Romm\Formz\Exceptions;

use Romm\Formz\Middleware\Element\AbstractMiddleware;
use Romm\Formz\Middleware\Signal\MiddlewareSignalInterface;
use Romm\Formz\Middleware\Application\AbstractMiddleware;
use Romm\Formz\Middleware\Signal\Element\MiddlewareSignalInterface;

class SignalNotFoundException extends FormzException
{
Expand Down
4 changes: 2 additions & 2 deletions Classes/Form/Definition/FormDefinition.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
use Romm\Formz\Form\Definition\Middleware\PresetMiddlewares;
use Romm\Formz\Form\Definition\Settings\FormSettings;
use Romm\Formz\Middleware\MiddlewareFactory;
use Romm\Formz\Middleware\Element\MiddlewareInterface;
use Romm\Formz\Middleware\MiddlewareInterface;
use TYPO3\CMS\Core\Utility\GeneralUtility;

class FormDefinition extends AbstractFormDefinitionComponent implements ConfigurationObjectInterface, DataPreProcessorInterface
Expand Down Expand Up @@ -60,7 +60,7 @@ class FormDefinition extends AbstractFormDefinitionComponent implements Configur
protected $presetMiddlewares;

/**
* @var \Romm\Formz\Middleware\Element\MiddlewareInterface[]
* @var \Romm\Formz\Middleware\MiddlewareInterface[]
* @mixedTypesResolver \Romm\Formz\Form\Definition\Middleware\MiddlewareResolver
*/
protected $middlewares = [];
Expand Down
2 changes: 1 addition & 1 deletion Classes/Form/Definition/Middleware/PresetMiddlewares.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
use Romm\ConfigurationObject\Traits\ConfigurationObject\MagicMethodsTrait;
use Romm\Formz\Domain\Middleware\FormInjection\FormInjectionMiddleware;
use Romm\Formz\Domain\Middleware\FormValidation\FormValidationMiddleware;
use Romm\Formz\Middleware\Element\MiddlewareInterface;
use Romm\Formz\Middleware\MiddlewareInterface;

class PresetMiddlewares implements DataPreProcessorInterface
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
* http://www.gnu.org/licenses/gpl-3.0.html
*/

namespace Romm\Formz\Middleware\Element;
namespace Romm\Formz\Middleware\Application;

use Romm\ConfigurationObject\Service\Items\DataPreProcessor\DataPreProcessor;
use Romm\ConfigurationObject\Service\Items\DataPreProcessor\DataPreProcessorInterface;
Expand All @@ -20,26 +20,27 @@
use Romm\Formz\Exceptions\MissingArgumentException;
use Romm\Formz\Exceptions\SignalNotFoundException;
use Romm\Formz\Form\FormObject\FormObject;
use Romm\Formz\Middleware\Element\MiddlewareInterface;
use Romm\Formz\Middleware\MiddlewareInterface;
use Romm\Formz\Middleware\MiddlewareFactory;
use Romm\Formz\Middleware\Option\OptionDefinitionInterface;
use Romm\Formz\Middleware\Processor\MiddlewareProcessor;
use Romm\Formz\Middleware\Request\Forward;
use Romm\Formz\Middleware\Request\Redirect;
use Romm\Formz\Middleware\Signal\After;
use Romm\Formz\Middleware\Signal\Before;
use Romm\Formz\Middleware\Signal\MiddlewareSignalInterface;
use Romm\Formz\Middleware\Signal\SendsMiddlewareSignal;
use Romm\Formz\Middleware\Signal\SignalObject;
use Romm\Formz\Middleware\Signal\Element\MiddlewareSignalInterface;
use Romm\Formz\Middleware\Signal\SendsSignal;
use Romm\Formz\Middleware\Signal\Element\SignalObject;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Mvc\Controller\Arguments;
use TYPO3\CMS\Extbase\Mvc\Web\Request;
use TYPO3\CMS\Extbase\Reflection\ReflectionService;

/**
* Abstract class that must be extended by middlewares.
* Default abstraction layout that can be extended by middlewares. It contains
* basic implementation needed by a middleware to work properly.
*
* Child middleware must implement their own signals.
* The middleware class must still implement its own signals.
*/
abstract class AbstractMiddleware implements MiddlewareInterface, DataPreProcessorInterface
{
Expand All @@ -52,6 +53,8 @@ abstract class AbstractMiddleware implements MiddlewareInterface, DataPreProcess
* This is the default option class, this property can be overridden in
* children classes to be mapped to another option definition.
*
* Please note that the full class name of the option must be written.
*
* @var \Romm\Formz\Middleware\Option\DefaultOptionDefinition
*/
protected $options;
Expand Down Expand Up @@ -100,7 +103,7 @@ protected function initializeMiddleware()
}

/**
* @see \Romm\Formz\Middleware\Signal\SendsMiddlewareSignal::beforeSignal()
* @see \Romm\Formz\Middleware\Signal\SendsSignal::beforeSignal()
*
* @param string $signal
* @return SignalObject
Expand All @@ -111,7 +114,7 @@ final public function beforeSignal($signal = null)
}

/**
* @see \Romm\Formz\Middleware\Signal\SendsMiddlewareSignal::afterSignal()
* @see \Romm\Formz\Middleware\Signal\SendsSignal::afterSignal()
*
* @param string $signal
* @return SignalObject
Expand Down Expand Up @@ -253,11 +256,11 @@ public static function dataPreProcessor(DataPreProcessor $processor)
*/
private function getSignalObject($signal, $type)
{
if (false === $this instanceof SendsMiddlewareSignal) {
if (false === $this instanceof SendsSignal) {
throw InvalidEntryException::middlewareNotSendingSignals($this);
}

/** @var SendsMiddlewareSignal $this */
/** @var SendsSignal $this */
if (null === $signal) {
if (count($this->getAllowedSignals()) > 1) {
throw MissingArgumentException::signalNameArgumentMissing($this);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
* http://www.gnu.org/licenses/gpl-3.0.html
*/

namespace Romm\Formz\Middleware\Element;
namespace Romm\Formz\Middleware\Application;

use Romm\Formz\Middleware\Argument\Arguments;
use Romm\Formz\Domain\Middleware\End\EndSignal;
Expand All @@ -24,8 +24,8 @@
* the middleware processing.
*
* If you need the middleware to be called earlier, you can:
* - @see \Romm\Formz\Middleware\Element\OnBeginMiddleware
* - @see \Romm\Formz\Middleware\Element\AbstractMiddleware
* - @see \Romm\Formz\Middleware\Application\OnBeginMiddleware
* - @see \Romm\Formz\Middleware\Application\AbstractMiddleware
*/
abstract class DefaultMiddleware extends AbstractMiddleware implements Before, EndSignal
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
* http://www.gnu.org/licenses/gpl-3.0.html
*/

namespace Romm\Formz\Middleware\Element;
namespace Romm\Formz\Middleware\Application;

use Romm\Formz\Middleware\Argument\Arguments;
use Romm\Formz\Domain\Middleware\Begin\BeginSignal;
Expand All @@ -24,8 +24,8 @@
* of the middleware processing.
*
* If you need the middleware to be called later, you can:
* - @see \Romm\Formz\Middleware\Element\DefaultMiddleware (called at the end)
* - @see \Romm\Formz\Middleware\Element\AbstractMiddleware
* - @see \Romm\Formz\Middleware\Application\DefaultMiddleware (called at the end)
* - @see \Romm\Formz\Middleware\Application\AbstractMiddleware
*/
abstract class OnBeginMiddleware extends AbstractMiddleware implements After, BeginSignal
{
Expand Down
1 change: 0 additions & 1 deletion Classes/Middleware/MiddlewareFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
use Romm\Formz\Core\Core;
use Romm\Formz\Exceptions\ClassNotFoundException;
use Romm\Formz\Exceptions\InvalidArgumentTypeException;
use Romm\Formz\Middleware\Element\MiddlewareInterface;
use Romm\Formz\Middleware\Option\OptionDefinitionInterface;
use Romm\Formz\Service\Traits\ExtendedSelfInstantiateTrait;
use TYPO3\CMS\Core\SingletonInterface;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
* http://www.gnu.org/licenses/gpl-3.0.html
*/

namespace Romm\Formz\Middleware\Element;
namespace Romm\Formz\Middleware;

use Romm\Formz\Middleware\Option\OptionDefinitionInterface;
use Romm\Formz\Middleware\Processor\MiddlewareProcessor;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,11 @@
* http://www.gnu.org/licenses/gpl-3.0.html
*/

namespace Romm\Formz\Middleware\Processor;
namespace Romm\Formz\Middleware;

/**
* This interface is implemented by all middlewares in FormZ core.
* This interface is implemented by middlewares in FormZ core. Do not use in
* your own projects!
*
* @internal
*/
Expand Down
2 changes: 1 addition & 1 deletion Classes/Middleware/Processor/MiddlewareProcessor.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
use Romm\Formz\Form\FormObject\FormObject;
use Romm\Formz\Domain\Middleware\Begin\BeginMiddleware;
use Romm\Formz\Domain\Middleware\End\EndMiddleware;
use Romm\Formz\Middleware\Element\MiddlewareInterface;
use Romm\Formz\Middleware\MiddlewareInterface;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Mvc\Controller\Arguments;
use TYPO3\CMS\Extbase\Mvc\Web\Request;
Expand Down
6 changes: 6 additions & 0 deletions Classes/Middleware/Signal/After.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@
interface After
{
/**
* This method is called after the dispatching of the signal on which the
* middleware is bound. The main logic of the middleware will be implemented
* here.
*
* Arguments may be passed to the method, depending on the signal.
*
* @param Arguments $arguments
* @return void
*/
Expand Down

0 comments on commit 5ee07f9

Please sign in to comment.