2017 © Pedro Peláez
 

library facade

Arc5 provides a set of static classes for the Mvc5 Framework

image

mvc5/facade

Arc5 provides a set of static classes for the Mvc5 Framework

  • Thursday, May 31, 2018
  • by devosc
  • Repository
  • 1 Watchers
  • 0 Stars
  • 350 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 14 Versions
  • 21 % Grown

The README.md

Arc5

https://mvc5.github.io, (*1)

Arc5 provides a set of static classes for the Mvc5 Framework., (*2)

Example web application., (*3)

use Arc5\App;
use Arc5\Request;
use Arc5\Response;
use Arc5\Route;
use Arc5\Service;
use Arc5\View;
use Mvc5\Http\Request as HttpRequest;
use Mvc5\Http\Response as HttpResponse;
use Mvc5\View\ViewModel;
use Mvc5\View\ViewLayout;

use const Mvc5\{ BODY, CONTROLLER, REQUEST, RESPONSE, USER };

Service::context(include __DIR__ . '/../config/config.php');

try {

    $request  = Request::request();
    $response = Response::response();
    $result   = Route::dispatch($request);

    if ($result instanceof HttpRequest) {
        $request = Route::error($result);
        $result  = null;

        Service::service()[REQUEST] = $request;

        $controller = $request[CONTROLLER];

        $request = $request->with(USER, Service::plugin(USER));

        $controller && $result = Service::call(
            $controller, [REQUEST => $request, RESPONSE => $response]
        );
    }

    if ($result instanceof ViewModel) {
        !$result instanceof ViewLayout && ($layout = View::layout())
            && $result = $layout->withModel($result);

        $result = View::render($result);
    }

    ($result instanceof HttpResponse && $response = $result)
        || $response = $response->with(BODY, $result);

    $response = Response::status($request, $response);
    $response = Response::version($request, $response);
    Response::send($response);

}  catch(\Throwable $exception) {

    App::exception($exception);

}

Aliases

Short names can be used to alias class names by registering an alias autoload function and providing an alias configuration., (*4)

spl_autoload_register(new Mvc5\Service\Alias(include __DIR__ . '/config/alias.php'));

When a class cannot be found by the default autoloader (i.e. composer) and it has an alias, the PHP class_alias method is called; which will call the autoload mechanism again if the aliased class does not already exist. Below is an example alias configuration., (*5)

return [
    'Config'   => Arc5\Config::class,
    'Log'      => Arc5\Log::class,
    'Message'  => Arc5\Message::class,
    'Request'  => Arc5\Request::class,
    'Response' => Arc5\Response::class,
    'Route'    => Arc5\Route::class,
    'Service'  => Arc5\Service::class,
    'Session'  => Arc5\Session::class,
    'View'     => Arc5\View::class,
];

Example using aliases., (*6)

use Response;
use View;

return Response::response(View::render('about/more'));

Mvc5 Framework Configuration

To use static classes within the Mvc5 Framework, the service context needs to be initialized during the web event or middleware stack. Each of the following should be added to their respective configurations., (*7)

'service\context', //web event
'web\context', //middleware

The corresponding service configurations already exist in the Mvc5 service config., (*8)

'service\context' => new Invoke(Mvc5\Service\Context::class, ['service' => new Link]),
'web\context'     => [Mvc5\Web\Context::class, new Link],

Arc5 automatically provides functions that can be imported into the View5 Template Engine. The following service configuration automatically imports these functions into each template., (*9)

'view5\template' => [ViewTemplate::class, ['import' => ['arc5']]],

The functions currently provided are message, messages and url., (*10)

The Versions

31/05 2018

dev-master

9999999-dev

Arc5 provides a set of static classes for the Mvc5 Framework

  Sources   Download

MIT

The Requires

 

by Gregory Baboolal

static facade

31/05 2018

5.0.2

5.0.2.0

Arc5 provides a set of static classes for the Mvc5 Framework

  Sources   Download

MIT

The Requires

 

by Gregory Baboolal

static facade

09/04 2018

5.0.1

5.0.1.0

Arc5 provides a set of static classes for the Mvc5 Framework

  Sources   Download

MIT

The Requires

 

by Gregory Baboolal

static facade

06/04 2018

5.0

5.0.0.0

Arc5 provides a set of static classes for the Mvc5 Framework

  Sources   Download

MIT

The Requires

 

by Gregory Baboolal

static facade

02/10 2017

4.0.1

4.0.1.0

Arc5 provides a set of static classes for the Mvc5 Framework

  Sources   Download

MIT

The Requires

 

by Gregory Baboolal

static facade

08/09 2017

4.0

4.0.0.0

Arc5 provides a set of static classes for the Mvc5 Framework

  Sources   Download

MIT

The Requires

 

by Gregory Baboolal

static facade

20/08 2017

3.0

3.0.0.0

Arc5 provides a set of static classes for the Mvc5 Framework

  Sources   Download

MIT

The Requires

 

by Gregory Baboolal

static facade

15/08 2017

2.1

2.1.0.0

Arc5 provides a set of static classes for the Mvc5 Framework

  Sources   Download

MIT

The Requires

 

by Gregory Baboolal

static facade

22/05 2017

2.0

2.0.0.0

Arc5 provides a set of static classes for the Mvc5 Framework

  Sources   Download

MIT

The Requires

 

by Gregory Baboolal

static facade

05/03 2017

1.1.0

1.1.0.0

Arc5 provides a set of static classes for the Mvc5 Framework

  Sources   Download

MIT

by Gregory Baboolal

static facade

29/12 2016

1.0.3

1.0.3.0

Arc5 provides a set of static classes for the Mvc5 Framework

  Sources   Download

MIT

by Gregory Baboolal

static facade

09/12 2016

1.0.2

1.0.2.0

Arc5 provides a set of static classes for the Mvc5 Framework

  Sources   Download

MIT

by Gregory Baboolal

static facade

03/12 2016

1.0.1

1.0.1.0

Arc5 provides a set of static classes for the Mvc5 Framework

  Sources   Download

MIT

by Gregory Baboolal

static facade

28/11 2016

1.0.0

1.0.0.0

Arc5 provides a set of static classes for the Mvc5 Framework

  Sources   Download

MIT

by Gregory Baboolal

static facade