Slim Framework ^3 多个路由文件
Slim Framework ^3 multiple route files
我正在尝试使用 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;
});
如果这个问题在另一个遗漏的问题中得到了回答,请随时将我转向那个方向。但我所看到的与我所看到的问题完全不符。
谢谢朋友
您正在每个文件中创建一个新的应用程序实例,您应该只有一个
$app = new \Slim\App;
然后您可以将路由添加到不同文件中的这个应用程序实例。
我正在尝试使用 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;
});
如果这个问题在另一个遗漏的问题中得到了回答,请随时将我转向那个方向。但我所看到的与我所看到的问题完全不符。
谢谢朋友
您正在每个文件中创建一个新的应用程序实例,您应该只有一个
$app = new \Slim\App;
然后您可以将路由添加到不同文件中的这个应用程序实例。