我正在使用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
答案 0 :(得分:1)
您正在每个文件中创建一个新的应用实例,您应该只有一个
$app = new \Slim\App;
然后,您可以在不同文件中向这个应用实例添加路由。