Slim Framework ^ 3多个路径文件

时间:2018-06-06 14:59:11

标签: php routing slim

我正在使用slim框架创建API。在我在youtube上观看的教程中,他将路由放在一个单独的文件中,看起来好像是个好主意,直​​到我添加了一个额外的文件,即两个单独的带有路由的php文件。然后它默认为最后包含的文件,从不查看第一个。我已经尝试了所有可能的组合来完成这项工作,包括创建一个组并在组中包含文件。在较大的应用程序中,如果不能更好地组织index.php文件会变得非常丑陋。

也许我错过了什么,但对我来说这似乎很简单。大声笑

的index.php

<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;

require '../vendor/autoload.php';
require '../src/config/db.php';

$app = new \Slim\App;

  //labor routes
 require '../src/routes/labor.php';  
 // Testing routes
 require '../src/routes/testing.php';

$app->run();

labor.php

<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;

$app = new \Slim\App;

// GET all customers

// Default Route
$app->get('/api/labor', function(Request $request, Response $response){
  $response->getBody()->write("Hello, This is the Celltron, Inc. API for 
internal web. Your IP address has been logged and notification sent to the 
Administrator.");

return $response;
});

testing.php

<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;

$app = new \Slim\App;

// GET all testing

// Default Route
$app->get('/api/testing', function(Request $request, Response $response){
 $response->getBody()->write("Hello, This is the Celltron, Inc. testing API 
for internal web. Your IP address has been logged and notification sent to 
the Administrator.");

 return $response;
});

如果在另一个错过的问题中回答了这个问题,请随时向我转移。但是,我看到的任何内容都与我所看到的问题相符。

Gracias Amigos

1 个答案:

答案 0 :(得分:1)

您正在每个文件中创建一个新的应用实例,您应该只有一个

$app = new \Slim\App;

然后,您可以在不同文件中向这个应用实例添加路由。