|
1 | 1 | --- |
2 | 2 | layout: default |
| 3 | +is_homepage: true |
3 | 4 | --- |
4 | 5 | {% block full_title %}{{ site.title }} — {{ site.subtitle }}{% endblock %} |
5 | 6 | {% block content %} |
6 | | -<div class="jumbotron masthead"> |
7 | | - <h1>Stack</h1> |
8 | | - <p class="tagline">Composing <a href="https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpKernel/HttpKernelInterface.php">HttpKernelInterface</a> middlewares since 2013!</p> |
9 | | - <p> |
10 | | - <ul class="nav nav-pills" style="display: inline-block;"> |
11 | | - <li> |
12 | | - <a href="https://github.com/stackphp"><i class="icon-github"></i> stackphp</a> |
13 | | - </li> |
14 | | - <li> |
15 | | - <a href="https://twitter.com/stackphp"><i class="icon-twitter"></i> @stackphp</a> |
16 | | - </li> |
17 | | - <li> |
18 | | - <a href="irc://irc.freenode.net/%23stackphp"><i class="icon-comment"></i> #stackphp</a> |
19 | | - </li> |
20 | | - </ul> |
21 | | - </p> |
22 | | -</div> |
23 | | - |
24 | | -<hr> |
25 | | - |
26 | 7 | <div class="about text"> |
27 | 8 | <h2>A common layer</h2> |
28 | 9 | <p> |
@@ -168,32 +149,71 @@ <h3>Backstage</h3> |
168 | 149 | </div> |
169 | 150 | </div> |
170 | 151 |
|
171 | | -<!-- |
172 | 152 | <hr> |
173 | 153 |
|
174 | | -<div class="examples"> |
175 | | - <h2>How do I use it?</h2> |
176 | | - <pre><code class="php">use Symfony\Component\HttpFoundation\Request; |
177 | | -use Symfony\Component\HttpKernel\HttpCache\Store; |
178 | | -
|
179 | | -// This can be **any** HttpKernelInterface based application |
180 | | -$app = new Silex\Application(); |
181 | | -$app->get('/', function () { |
182 | | - return 'Hello World!'; |
183 | | -}); |
184 | | -
|
185 | | -// Extend the behaviour of the application with some middlewares |
186 | | -$stack = (new Stack\Builder()) |
187 | | - ->push('Stack\Session') |
188 | | - ->push('Symfony\Component\HttpKernel\HttpCache\HttpCache', new Store(__DIR__.'/cache')); |
189 | | -$app = $stack->resolve($app); |
190 | | -
|
191 | | -// Front controller is business as usual |
192 | | -$request = Request::createFromGlobals(); |
193 | | -$response = $app->handle($request)->send(); |
194 | | -$app->terminate($request, $response);</code></pre> |
| 154 | +<div class="conventions-and-protocols"> |
| 155 | + <h2> |
| 156 | + <a name="conventions-and-protocols"></a> |
| 157 | + Conventions and Protocols |
| 158 | + <a class="anchor" href="#conventions-and-protocols"> |
| 159 | + <i class="icon icon-link"></i> |
| 160 | + </a> |
| 161 | + </h2> |
| 162 | + <p> |
| 163 | + In order to further the goal of interoperability between disparate |
| 164 | + <code>HttpKernelInterface</code> implementations, Stack tries to |
| 165 | + avoid imposing interfaces and instead relies on conventions and |
| 166 | + protocols for the purpose of integration. The following is a list of |
| 167 | + community driven proposals for Stack conventions and protocols. |
| 168 | + </p> |
| 169 | + |
| 170 | + <div class="row-fluid"> |
| 171 | + <div class="span6"> |
| 172 | + <h3><a href="{{ site.url }}/specs/0/">0 Proposals</a> <span class="label">Draft</span></h3> |
| 173 | + <p> |
| 174 | + Specification for how community driven Stack proposals will be |
| 175 | + written and managed. |
| 176 | + </p> |
| 177 | + <div class="btn-group"> |
| 178 | + <a class="btn" href="{{ site.url }}/specs/0/"><i class="icon icon-book"></i> Proposal</a> |
| 179 | + </div> |
| 180 | + </div> |
| 181 | + <div class="span6"> |
| 182 | + <h3><a href="{{ site.url }}/specs/1/">1 Core</a> <span class="label">Draft</span></h3> |
| 183 | + <p> |
| 184 | + Specification for writing and interacting with Stack middlewares |
| 185 | + and applications. |
| 186 | + </p> |
| 187 | + <div class="btn-group"> |
| 188 | + <a class="btn" href="{{ site.url }}/specs/1/"><i class="icon icon-book"></i> Proposal</a> |
| 189 | + </div> |
| 190 | + </div> |
| 191 | + </div> |
| 192 | + <div class="row-fluid"> |
| 193 | + <div class="span6"> |
| 194 | + <h3><a href="{{ site.url }}/specs/2/">2 Authentication</a> <span class="label">Draft</span></h3> |
| 195 | + <p> |
| 196 | + Specification for authentication middlewares to follow in order |
| 197 | + for applications and authorization middlewares to be able to |
| 198 | + interact with each other. |
| 199 | + </p> |
| 200 | + <div class="btn-group"> |
| 201 | + <a class="btn" href="{{ site.url }}/specs/2/"><i class="icon icon-book"></i> Proposal</a> |
| 202 | + </div> |
| 203 | + </div> |
| 204 | + <div class="span6"> |
| 205 | + <h3><a href="{{ site.url }}/specs/3/">3 Authorization</a> <span class="label">Draft</span></h3> |
| 206 | + <p> |
| 207 | + Specification for authorization middlewares to follow in order |
| 208 | + for applications and authentication middlewares to be able to |
| 209 | + interact with each other. |
| 210 | + </p> |
| 211 | + <div class="btn-group"> |
| 212 | + <a class="btn" href="{{ site.url }}/specs/3/"><i class="icon icon-book"></i> Proposal</a> |
| 213 | + </div> |
| 214 | + </div> |
| 215 | + </div> |
195 | 216 | </div> |
196 | | ---> |
197 | 217 |
|
198 | 218 | <footer class="authors container"> |
199 | 219 | <p class="lead">Brought to you by</p> |
|
0 commit comments