joomla-framework / application

Joomla Framework Application Package
GNU General Public License v2.0
21 stars 29 forks source link

[2.0] Add a controller resolver and a concrete web application #81

Closed mbabker closed 6 years ago

mbabker commented 6 years ago

Summary of Changes

Note: Requires https://github.com/joomla-framework/router/pull/12 and CI will fail without it

There are some tools we can provide to help getting web applications deployed a little quicker, and that's what this PR provides.

Item 1 - A controller resolver. In 1.x this really didn't make sense to need because the router was coded in a way where a controller had to map to a Joomla\Controller\ControllerInterface implementation, that requirement is removed in the 2.0 code and controllers can now be any kind of callable. Based loosely on the resolver in Symfony's HttpKernel component, our implementation can support:

Item 2 - A concrete web application. The basics of our web application are to route the request and execute a controller. Without a controller resolver, it has never made sense to have a concrete application because downstream implementations were left to handle controller resolution and execution on their own. With the resolver, we can now ship this concrete implementation fulfilling these basic functions.

Testing Instructions

Review unit tests for basic use of these two features

Documentation Changes Required

A "getting started" guide can be much more simple now 😄

wilsonge commented 6 years ago

I've rekicked travis here with the PR merged - but still looks like tests are failing

mbabker commented 6 years ago

Green now. Lots of fun dealing with testing dependencies resolving both major versions of controller and input packages 😆