Service Interface

<?php
/**
 *
 * LICENSE
 *
 * This source file is subject to the new BSD license that is bundled
 * with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 *
 * Encoding: UTF-8
 *
 * @package CesarEngineExample\Provider
 * @author Cesar Romero - 2015-10-20 11:52:01
 */

namespace CesarEngineExample\Provider;

use Phalcon\Http\Request;
/**
 * Provider Interface, common methods for all the provider integrations.
 *
 * @package CesarEngineExample\Provider
 *
 * @author César Romero <cesar.romero@Cesar.com>
 * @since 20 Jan 2016
 * @see Please notify modifications here with a @modified tag, ain't much cost but it'll help you maintain this
 * beauty I have given you 🙂
 */
interface ProviderInterface
{
    /**
     * Get the Phalcon Request object
     *
     * @return \Phalcon\Http\Request
     */
    function getRequest();

    /**
     * Get the Phalcon Response object
     *
     * @return \Phalcon\Http\Response
     */
    function getResponse();

    /**
     * Get the Phalcon View object
     *
     * @return mixed
     */
    function getView();

    /**
     * Action to do inside the class
     *
     * @param null $action
     * @return mixed
     */
    function action($action = null);

    /**
     * Action to do when you finish the transaction
     *
     * @return mixed
     */
    function actionEnd();
}