承接 rossriley/stack-aura-router 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

rossriley/stack-aura-router

Composer 安装命令:

composer require rossriley/stack-aura-router

包简介

Stack middleware to add Routes to the request object

README 文档

README

Technologies Used

You need to build your app using Stack PHP

Installation

Is best done via composer, all you need to do is add this to the (or ignore any packages that you already have) require block of your composer.json file:

require: {
    ....
    "aura/router": "~2.0@dev" ,
    "rossriley/stack-aura-router": "1.0.*@dev",
    "stack/builder" : "dev-master",
    "stack/url-map" : "dev-master",
    "stack/run"     : "dev-master",
    ....
}

How it works

This project works on a very simple concept. Using Aura Router which is a lovely decoupled Routing package you can define your routes and add the data to an HTTP request object.

Here's an example of bootstrapping an application:

First up configure your routes:

#routes.php
<?php
use Aura\Router\RouterFactory;
$router_factory = new RouterFactory;
$router = $router_factory->newInstance();
$router->setValues(['controller' => 'YourNamespace\Controller\Main']);
$router->add("homepage", '/'')->addValues(["action"=>"index"]);
$router->add("signup", '/signup')->addValues(["action"=>"signup"]);
......

Then bootstrap your app:

#public/index.php

$router = include(__DIR__."/../config/routes.php");

$app = new YourNamespace\Application;


$app = (new Stack\Builder())
        ->push('Stack\Session')
        ->push('Stack\Aura\RequestRouter', $router)
        ->resolve($app);

Stack\run($app);

How to use the compiled routes.

Since your Stack app handles an HttpKernelInterface $request instance, your route details can be fetched directly from the request

$route = $request->attributes->get("route");
// This outputs with a request to /
Array (
    [controller] => YourNamespace\Controller\Main
    [action] => index
    [_name] => homepage
    [_route] => /
)

As you'll see this output matches the route you described in your routes.php file.

Similarly, the signup route would output the following:

$route = $request->attributes->get("route");
// This outputs with a request to /signup
Array (
    [controller] => YourNamespace\Controller\Main
    [action] => signup
    [_name] => signup
    [_route] => /signup
)

Contributions Welcome

This is a relatively new project in early alpha stage, although it's being used in the wild by a few fairly large projects. Pull requests / ideas for improvement are most welcome.

统计信息

  • 总下载量: 1.49k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2014-03-26

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固