Merge pull request #1903 from roots/add-controller

Add soberwp/controller
This commit is contained in:
Ben Word
2017-06-22 19:37:07 -05:00
committed by GitHub
7 changed files with 264 additions and 8 deletions

View File

@@ -13,7 +13,8 @@ Sage is a WordPress starter theme with a modern development workflow.
* ES6 for JavaScript
* [Webpack](https://webpack.github.io/) for compiling assets, optimizing images, and concatenating and minifying files
* [Browsersync](http://www.browsersync.io/) for synchronized browser testing
* [Laravel's Blade](https://laravel.com/docs/5.3/blade) as a templating engine
* [Laravel Blade](https://laravel.com/docs/5.3/blade) as a templating engine
* [Controller](https://github.com/soberwp/controller) for passing data to Blade templates
* CSS framework options:
* [Bootstrap 4](http://getbootstrap.com/)
* [Foundation](http://foundation.zurb.com/)
@@ -23,10 +24,6 @@ Sage is a WordPress starter theme with a modern development workflow.
See a working example at [roots-example-project.com](https://roots-example-project.com/).
### Recommended extensions
* [Controller](https://github.com/soberwp/controller) — WordPress plugin to enable a basic controller when using Blade with Sage 9
## Requirements
Make sure all dependencies have been installed before moving on:
@@ -76,6 +73,7 @@ themes/your-theme-name/ # → Root of your Sage based theme
│ │ ├── images/ # → Theme images
│ │ ├── scripts/ # → Theme JS
│ │ └── styles/ # → Theme stylesheets
│ ├── controllers/ # → Controller files
│ ├── functions.php # → Composer autoloader, theme includes
│ ├── index.php # → Never manually edit
│ ├── screenshot.png # → Theme screenshot for WP admin
@@ -109,6 +107,8 @@ Sage 8 documentation is available at [https://roots.io/sage/docs/](https://roots
Sage 9 documentation is currently in progress and can be viewed at [https://github.com/roots/docs/tree/sage-9/sage](https://github.com/roots/docs/tree/sage-9/sage).
Controller documentation is available at [https://github.com/soberwp/controller#usage](https://github.com/soberwp/controller#usage).
## Contributing
Contributions are welcome from everyone. We have [contributing guidelines](https://github.com/roots/guidelines/blob/master/CONTRIBUTING.md) to help you get started.

View File

@@ -32,7 +32,8 @@
"php": ">=5.6.4",
"composer/installers": "~1.0",
"illuminate/view": "~5.4.0",
"illuminate/config": "~5.4.0"
"illuminate/config": "~5.4.0",
"soberwp/controller": "dev-master"
},
"require-dev": {
"squizlabs/php_codesniffer": "^2.8.0"

226
composer.lock generated
View File

@@ -4,8 +4,64 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"content-hash": "ea9fa1afa3655447aadf2168ebe1d9b4",
"content-hash": "0b1470920d1b38f8ed13b807488e729e",
"packages": [
{
"name": "brain/hierarchy",
"version": "2.3.0",
"source": {
"type": "git",
"url": "https://github.com/Brain-WP/Hierarchy.git",
"reference": "adb52da233e586051a577ef5eabe2c537df785d5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Brain-WP/Hierarchy/zipball/adb52da233e586051a577ef5eabe2c537df785d5",
"reference": "adb52da233e586051a577ef5eabe2c537df785d5",
"shasum": ""
},
"require": {
"php": ">=5.5"
},
"require-dev": {
"antecedent/patchwork": "~1.3.0",
"brain/monkey": "~1.2",
"gmazzap/andrew": "~1.0",
"mockery/mockery": "0.9.3",
"phpunit/phpunit": "~4.8",
"symfony/finder": "~2.7.0"
},
"suggest": {
"symfony/finder": "Allows loading of templates using Symfony finder component."
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.2.x-dev",
"dev-dev": "2.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Brain\\Hierarchy\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Giuseppe Mazzapica",
"email": "giuseppe.mazzapica@gmail.com"
}
],
"description": "No-dependencies package that embodies WordPress template hierarchy",
"keywords": [
"wordpress"
],
"time": "2016-09-15T13:33:53+00:00"
},
{
"name": "composer/installers",
"version": "v1.2.0",
@@ -180,6 +236,63 @@
],
"time": "2015-11-06T14:35:42+00:00"
},
{
"name": "hassankhan/config",
"version": "0.10.0",
"source": {
"type": "git",
"url": "https://github.com/hassankhan/config.git",
"reference": "06ac500348af033f1a2e44dc357ca86282626d4a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/hassankhan/config/zipball/06ac500348af033f1a2e44dc357ca86282626d4a",
"reference": "06ac500348af033f1a2e44dc357ca86282626d4a",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"require-dev": {
"phpunit/phpunit": "~4.0",
"scrutinizer/ocular": "~1.1",
"squizlabs/php_codesniffer": "~2.2"
},
"suggest": {
"symfony/yaml": "~2.5"
},
"type": "library",
"autoload": {
"psr-4": {
"Noodlehaus\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Hassan Khan",
"homepage": "http://hassankhan.me/",
"role": "Developer"
}
],
"description": "Lightweight configuration file loader that supports PHP, INI, XML, JSON, and YAML files",
"homepage": "http://hassankhan.me/config/",
"keywords": [
"config",
"configuration",
"ini",
"json",
"microphp",
"unframework",
"xml",
"yaml",
"yml"
],
"time": "2016-02-11T16:21:17+00:00"
},
{
"name": "illuminate/config",
"version": "v5.4.17",
@@ -604,6 +717,58 @@
],
"time": "2016-10-10T12:19:37+00:00"
},
{
"name": "soberwp/controller",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/soberwp/controller.git",
"reference": "6b3a28840845261822cdc31c2359db6901e9e209"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/soberwp/controller/zipball/6b3a28840845261822cdc31c2359db6901e9e209",
"reference": "6b3a28840845261822cdc31c2359db6901e9e209",
"shasum": ""
},
"require": {
"brain/hierarchy": "^2.3",
"composer/installers": "~1.0",
"hassankhan/config": "^0.10.0",
"php": ">=5.6.0",
"symfony/yaml": "^3.2"
},
"require-dev": {
"squizlabs/php_codesniffer": "2.*"
},
"type": "package",
"autoload": {
"psr-4": {
"Sober\\Controller\\": "src/",
"Sober\\Controller\\Module\\": "src/Module/"
},
"files": [
"controller.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Darren Jacoby",
"email": "darren@jacoby.co.za",
"homepage": "https://github.com/darrenjacoby"
}
],
"description": "WordPress package to enable a basic controller when using Blade with Sage 9",
"homepage": "https://github.com/soberwp",
"keywords": [
"wordpress"
],
"time": "2017-06-12 18:41:19"
},
{
"name": "symfony/debug",
"version": "v3.2.7",
@@ -709,6 +874,61 @@
"description": "Symfony Finder Component",
"homepage": "https://symfony.com",
"time": "2017-03-20T09:32:19+00:00"
},
{
"name": "symfony/yaml",
"version": "v3.3.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "9752a30000a8ca9f4b34b5227d15d0101b96b063"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/9752a30000a8ca9f4b34b5227d15d0101b96b063",
"reference": "9752a30000a8ca9f4b34b5227d15d0101b96b063",
"shasum": ""
},
"require": {
"php": ">=5.5.9"
},
"require-dev": {
"symfony/console": "~2.8|~3.0"
},
"suggest": {
"symfony/console": "For validating YAML files using the lint command"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.3-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Component\\Yaml\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
"time": "2017-06-02T22:05:06+00:00"
}
],
"packages-dev": [
@@ -793,7 +1013,9 @@
],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
"stability-flags": {
"soberwp/controller": 20
},
"prefer-stable": false,
"prefer-lowest": false,
"platform": {

View File

View File

@@ -0,0 +1,10 @@
<?php
namespace App;
use Sober\Controller\Controller;
class About extends Controller
{
}

View File

@@ -0,0 +1,13 @@
<?php
namespace App;
use Sober\Controller\Controller;
class App extends Controller
{
public function siteName()
{
return get_bloginfo('name');
}
}

View File

@@ -0,0 +1,10 @@
<?php
namespace App;
use Sober\Controller\Controller;
class Home extends Controller
{
}