     1: <?php
     2: /*************************************************************************************/
     3: /*                                                                                   */
     4: /*      Thelia                                                                       */
     5: /*                                                                                   */
     6: /*      Copyright (c) OpenStudio                                                     */
     7: /*  email : info@thelia.net                                                      */
     8: /*      web : http://www.thelia.net                                                  */
     9: /*                                                                                   */
    10: /*      This program is free software; you can redistribute it and/or modify         */
    11: /*      it under the terms of the GNU General Public License as published by         */
    12: /*      the Free Software Foundation; either version 3 of the License                */
    13: /*                                                                                   */
    14: /*      This program is distributed in the hope that it will be useful,              */
    15: /*      but WITHOUT ANY WARRANTY; without even the implied warranty of               */
    16: /*      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                */
    17: /*      GNU General Public License for more details.                                 */
    18: /*                                                                                   */
    19: /*      You should have received a copy of the GNU General Public License            */
    20: /*      along with this program. If not, see <http://www.gnu.org/licenses/>.     */
    21: /*                                                                                   */
    22: /*************************************************************************************/
    23: namespace Thelia\Routing\Matcher;
    24:
    25: use Symfony\Component\HttpFoundation\Request;
    26: use Symfony\Component\Routing\Matcher\RequestMatcherInterface;
    27: use Thelia\Controller\NullControllerInterface;
    28:
    29: /**
    30:  * Default matcher when no action is needed and there is no result for urlmatcher
    31:  *
    32:  * @author Manuel Raynaud <mraynaud@openstudio.fr>
    33:  */
    34: class DefaultMatcher implements RequestMatcherInterface
    35: {
    36:     protected $controller;
    37:
    38:     public function __construct(NullControllerInterface $controller)
    39:     {
    40:         $this->controller = $controller;
    41:     }
    42:
    43:     public function matchRequest(Request $request)
    44:     {
    45:         $objectInformation = new \ReflectionObject($this->controller);
    46:
    47:         $parameter = array(
    48:           '_controller' => $objectInformation->getName().'::noAction'
    49:         );
    50:
    51:         return $parameter;
    52:     }
    53: }
    54: