无法在slim3 php中创建新路由

问题描述 投票:0回答:1

我正在尝试slim3 PHP mico框架的示例。我有两条路线需要包含在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;
$app->get('/hello/{name}', function (Request $request, Response $response) {
    $name = $request->getAttribute('name');
    $response->getBody()->write("Hello, $name");

    return $response;
});

// Customer Routes
require 'src/routes/customers.php';
require 'src/routes/resto.php';

$app->run();

和customers.php

<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
date_default_timezone_set("Asia/Kolkata");

$app = new \Slim\App;

$app->options('/{routes:.+}', function ($request, $response, $args) {
    return $response;
});

$app->add(function ($req, $res, $next) {
    $response = $next($req, $res);
    return $response
            ->withHeader('Access-Control-Allow-Origin', '*')
            ->withHeader('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Accept, Origin, Authorization')
            ->withHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
});


// Get All Customers
$app->get('/customers/login/{userid}/{password}', function(Request $request, Response $response){

    $userid = $request->getAttribute('userid');
    $password = $request->getAttribute('password');

    $sql = "SELECT * FROM user WHERE userid = :userid AND password = :password";

    try{
        // Get DB Object
        $db = new db();
        // Connect
        $db = $db->connect();

        $stmt = $db->prepare($sql);
        $stmt->bindParam(':userid', $userid);
        $stmt->bindParam(':password', $password);
        $stmt->execute();

        $customers = $stmt->fetch(PDO::FETCH_ASSOC);

        if($stmt->rowCount()>0){
            $data['success']= "true";
            $data['name'] = $customers['name'];
            $data['userid'] = $customers['userid'];

        }else{

            $data['success']= "false";
        }

        $db = null;

        //echo $userid."-".$password;
        echo json_encode($data);

    } catch(PDOException $e){
        echo '{"error": {"text": '.$e->getMessage().'}';
    }
});

和我的resto.php

<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
date_default_timezone_set("Asia/Kolkata");

$app = new \Slim\App;

$app->options('/{routes:.+}', function ($request, $response, $args) {
    return $response;
});

$app->add(function ($req, $res, $next) {
    $response = $next($req, $res);
    return $response
            ->withHeader('Access-Control-Allow-Origin', '*')
            ->withHeader('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Accept, Origin, Authorization')
            ->withHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
});

//get Menu
$app->get('/resto/menu/{restoid}', function(Request $request, Response $response){
    $restoid = $request->getAttribute('restoid');

        if($restoid == 1){
            $menu = 'sairammenu';
        }else if($restoid == 2){
            $menu = 'newsatyammenu';
        }else if($restoid == 3){
            $menu = 'srivyafoodscmr';
        }else if($restoid == 4){
            $menu = 'satyammenu';
        }else if($restoid == 5){
            $menu = 'sairamrtc24x7';
        }else if($restoid == 6){
            $menu = 'lily';
        }

    $menusql = "SELECT * FROM $menu";

    try{
        // Get DB Object
        $db = new db();
        // Connect
        $db = $db->connect();

        $menu = $db->query($menusql);
        $menulist=$menu->fetchall(PDO::FETCH_OBJ);

        $db = null;

        echo json_encode($menulist);
    } catch(PDOException $e){
        echo '{"error": {"text": '.$e->getMessage().'}';
    }
});

其中只有一个正在工作。在这种情况下,我如何使用一条路线呢?>

我正在尝试slim3 PHP mico框架的示例。我有两条路由需要包含在index.php中,首先成功添加了一条路由,而当我尝试添加第二条路由时,我在这里遇到了问题...

php slim-3
1个回答
0
投票

尝试从“ customers.php和resto.php”中删除“ $ app = new \ Slim \ App;”

© www.soinside.com 2019 - 2024. All rights reserved.