Slim 控制器函数缺少参数 1
Slim controller function missing argument 1
我有一个简单的 Slim 应用程序,它应该呈现一个 html 页面。
这是我的 index.php
require __DIR__ . '/../vendor/autoload.php';
$app = new \RKA\Slim(
[
'mode' => 'development',
]
);
// Optionally register a controller with the container
$app->container->singleton('App\Home', function ($container) {
return new \App\Controller\Home();
});
// Set up routes
$app->get('/','App\Home:index');
这是我的控制器Home.php
命名空间 App\Controller;
class Home
{
protected $request;
protected $response;
public function index($app)
{
$this->app = $app;
$this->app->render('../test.html');
}
我得到Message: Missing argument 1 for App\Controller\Home::index()
我看到你没有使用原始的 Slim,而是使用 RKA Slim Controller project.
扩展的 Slim
据我了解代码,您的 index
不会将应用程序作为参数传递。该方法将仅获取路由定义的 URL 参数(在本例中为 none)。
如果您需要引用该应用程序,请实现名为 setApp
的方法,该方法将自动调用(在调度路由时)。
class Home
{
protected $request;
protected $response;
protected $app;
public function setApp($app)
{
$this->app = $app;
}
public function index() {
/* logic for the route
app is available as $this->app */
}
}
如果您另外实施 setRequest
和 setResponse
,您将获得请求和响应引用。
我有一个简单的 Slim 应用程序,它应该呈现一个 html 页面。 这是我的 index.php
require __DIR__ . '/../vendor/autoload.php';
$app = new \RKA\Slim(
[
'mode' => 'development',
]
);
// Optionally register a controller with the container
$app->container->singleton('App\Home', function ($container) {
return new \App\Controller\Home();
});
// Set up routes
$app->get('/','App\Home:index');
这是我的控制器Home.php 命名空间 App\Controller;
class Home
{
protected $request;
protected $response;
public function index($app)
{
$this->app = $app;
$this->app->render('../test.html');
}
我得到Message: Missing argument 1 for App\Controller\Home::index()
我看到你没有使用原始的 Slim,而是使用 RKA Slim Controller project.
扩展的 Slim据我了解代码,您的 index
不会将应用程序作为参数传递。该方法将仅获取路由定义的 URL 参数(在本例中为 none)。
如果您需要引用该应用程序,请实现名为 setApp
的方法,该方法将自动调用(在调度路由时)。
class Home
{
protected $request;
protected $response;
protected $app;
public function setApp($app)
{
$this->app = $app;
}
public function index() {
/* logic for the route
app is available as $this->app */
}
}
如果您另外实施 setRequest
和 setResponse
,您将获得请求和响应引用。