2
我写了一个自定义的框架,使用飞行框架作为使用AngularJS
我们的系统中的实例来处理我们REST API
电话。我有一个特定的文件有问题,我不能前进。我有一个index.php
文件在/api/v1/
文件夹中建立一个框架的新对象和处理路线吧:PHP REST API错误
<?php
require '.././libs/Fury/autoload.php';
require_once '.././system/database.php';
require_once('.././helpers/passwordHash.php');
use Fury\Engine;
$db = is_null(DB_HOST) ? null : new Database(DB_HOST, DB_USER, DB_PASS, DB_DATABASE);
$app = new Engine();
require_once('auth.php');
require_once('projects.php');
function echoResponse($status_code, $response) {
global $app;
$app->json($response, $status_code);
}
$app->start();
我已经要求auth.php和projects.php对于不同的途径在该文件中,所以我可以保持较好跟踪他们。这是一个auth.php路线这工作得很好,并返回会话数据:
<?php
$app->route('GET /session', function() use ($db) {
$session = Session::getSession();
echoResponse(200, $session);
});
但由于某些原因projects.php给我一个错误与这条路线
<?php
$app->route('GET /projects', function() use($db) {
$rows = $db->all("SELECT * FROM projects");
echoResponse(200, $rows);
});
错误消息:
Notice: Undefined variable: app in \project\api\v1\projects.php on line 3
Fatal error: Call to a member function route() on a non-object in \project\api\v1\projects.php on line 3
基本上$应用程序是没有来过或别的东西是错误的,我只是无法弄清楚。有人有主意吗?