Slim Framework ^ 3 файлы нескольких маршрутов

Я играю с созданием 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();

labour.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;
});

И если на этот вопрос был дан ответ в другом упущенном вопросе, пожалуйста, не стесняйтесь направлять меня в этом направлении. Но ничего из того, что я видел, не соответствовало наблюдаемой мной проблеме.

Грасиас Амигос

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
1 459
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы создаете новый экземпляр приложения в каждом файле, у вас должен быть только один

$app = new \Slim\App;

Затем вы можете добавить маршруты к этому одному экземпляру приложения в разных файлах.

Я попробовал это, и это не сработало .. получил ту же тонкую ошибку о том, что маршрут не найден.

Jonathan E. Emmett 06.06.2018 17:05

Вы создаете только значение в своем index.php?

Nigel Ren 06.06.2018 17:06

Хорошо, я беру это обратно ... Я удалил строки запроса и ответа вместе со строкой $ app, и это не сработало. Я просто попробовал это, просто удалив строку $ app, и это, похоже, устранило мою проблему. Спасибо брат. Я сделаю это как ответ, как только это позволит мне ..

Jonathan E. Emmett 06.06.2018 17:07

Вы также можете потребовать свои маршруты внутри $app->group(...).

Machado 19.09.2018 02:12

Извините, я не получил этого. Где удалить строку $ app? В индексном файле или в файлах маршрутов?

Krunal Pandya 01.01.2020 10:46

Другие вопросы по теме