2016-05-15 69 views
0

我試圖在子目錄中設置phroute。這是我迄今爲止所做的工作,但沒有成功。在子目錄中設置phroute

首先。在我選擇撥打framework的文件夾中,我跑了composer require phroute/phroute

二。然後我創建了一個/public文件夾。所以現在在framework我有:

composer.json 
composer.lock 
public 
vendor 

三。在文件夾/public我撫摸index.php並添加以下內容:

<?php 
require '../vendor/autoload.php'; 

use Phroute\Phroute\RouteCollector; 

$router = new RouteCollector(); 

$router->get('/', function(){ 
    return 'Hello, 

四。在子文件夾framework我撫摸.htaccess並添加以下內容:

RewriteEngine On 
RewriteBase /framework/ 

RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC] 
RewriteRule^%1 [L,NE,R=302] 

RewriteRule ^((?!public/).*)$ public/$1 [L,NC] 

所以,當我打http://localhost:8888/framework/它只是一片空白,沒有任何錯誤什麼都沒有。當index.php中有一些文件時,顯示該文件。

的文件夾結構是這樣的:

├── composer.json 
├── composer.lock 
├── public 
│   └── index.php 
└── vendor 
    ├── autoload.php 
    ├── bin 
    ├── composer 
    │   ├── ClassLoader.php 
    │   ├── LICENSE 
    │   ├── autoload_classmap.php 
    │   ├── autoload_namespaces.php 
    │   ├── autoload_psr4.php 
    │   ├── autoload_real.php 
    │   ├── autoload_static.php 
    │   └── installed.json 
    └── phroute 
     └── phroute 
      ├── LICENSE 
      ├── README.md 
      ├── benchmark 
      │   └── simple.php 
      ├── composer.json 
      ├── examples 
      │   ├── route_filters.php 
      │   ├── route_prefix.php 
      │   ├── route_prefix_and_filter_nested.php 
      │   └── simple.php 
      ├── phpunit.xml 
      ├── src 
      │   └── Phroute 
      │    ├── Dispatcher.php 
      │    ├── Exception 
      │    │   ├── BadRouteException.php 
      │    │   ├── HttpException.php 
      │    │   ├── HttpMethodNotAllowedException.php 
      │    │   └── HttpRouteNotFoundException.php 
      │    ├── HandlerResolver.php 
      │    ├── HandlerResolverInterface.php 
      │    ├── Route.php 
      │    ├── RouteCollector.php 
      │    ├── RouteDataArray.php 
      │    ├── RouteDataInterface.php 
      │    ├── RouteDataProviderInterface.php 
      │    └── RouteParser.php 
      └── test 
       └── Dispatcher 
        └── DispatcherTest.php 

我認爲它可能有一些做的.htaccess文件。但我不知道我做錯了什麼。

回答

0

您需要添加以下

$dispatcher = new Phroute\Phroute\Dispatcher($router->getData()); 
echo $dispatcher->dispatch($_SERVER['REQUEST_METHOD'], parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)); 

我有問題了。問候