Php 在silex中注册命名空间而不使用编写器
我正在使用silex为我正在构建的应用程序构建api,我想将我的控制器抽象到不同的文件中 我在一家相当大的公司工作,公司的IT部门非常严格,他们不允许我安装composer。由于这个原因,我需要通过Php 在silex中注册命名空间而不使用编写器,php,composer-php,autoload,silex,Php,Composer Php,Autoload,Silex,我正在使用silex为我正在构建的应用程序构建api,我想将我的控制器抽象到不同的文件中 我在一家相当大的公司工作,公司的IT部门非常严格,他们不允许我安装composer。由于这个原因,我需要通过$loader->add()函数手动注册名称空间,但我得到以下错误: Fatal error: Class 'App\Controller\SessionController' not found in C:\path\to\webroot\App\bootstrap.php on line 9 有
$loader->add()
函数手动注册名称空间,但我得到以下错误:
Fatal error: Class 'App\Controller\SessionController' not found in C:\path\to\webroot\App\bootstrap.php on line 9
有人知道为什么自动加载器不接收我的应用程序名称空间吗
目前,我的应用程序结构如下:
App/
Controller/
ApiControllerAbstract.php
SessionController.php
bootstrap.php
vendor/
www/
index.php
index.php
require_once "../app/bootstrap.php";
$loader = require_once __DIR__.'/../vendor/autoload.php';
$loader->add('App', __DIR__ . '/../App/');
$app = new Silex\Application();
$app->mount('/session', new App\Controller\SessionController());
$app->run();
namespace App\Controller;
class SessionController extends ApiControllerAbstract {
public function connect( $app)
{
$this->app = $app;
$controller_collection = $app['controllers_factory'];
// DECLARE ALL YOUR ROUTES HERE
//...
}
}
bootstrap.php
require_once "../app/bootstrap.php";
$loader = require_once __DIR__.'/../vendor/autoload.php';
$loader->add('App', __DIR__ . '/../App/');
$app = new Silex\Application();
$app->mount('/session', new App\Controller\SessionController());
$app->run();
namespace App\Controller;
class SessionController extends ApiControllerAbstract {
public function connect( $app)
{
$this->app = $app;
$controller_collection = $app['controllers_factory'];
// DECLARE ALL YOUR ROUTES HERE
//...
}
}
SessionController.php
require_once "../app/bootstrap.php";
$loader = require_once __DIR__.'/../vendor/autoload.php';
$loader->add('App', __DIR__ . '/../App/');
$app = new Silex\Application();
$app->mount('/session', new App\Controller\SessionController());
$app->run();
namespace App\Controller;
class SessionController extends ApiControllerAbstract {
public function connect( $app)
{
$this->app = $app;
$controller_collection = $app['controllers_factory'];
// DECLARE ALL YOUR ROUTES HERE
//...
}
}
你好,,
以下一行:
$loader->add('App','DIR'/../App/);
应该是:
$loader->add('App','DIR'/../);