Php 如何解决Laravel(IoC容器)中的BadMethodCallExection
当我添加Php 如何解决Laravel(IoC容器)中的BadMethodCallExection,php,laravel,namespaces,ioc-container,Php,Laravel,Namespaces,Ioc Container,当我添加Route::resource('api','ApiController')到我的app/Http/routes.php,我得到以下错误: BadMethodCallException方法[index]不存在 我的api控制器如下所示: <?php class ApiController extends BaseController { public function getIndex() { ech
Route::resource('api','ApiController')
到我的app/Http/routes.php,我得到以下错误:
BadMethodCallException方法[index]不存在
我的api控制器如下所示:
<?php
class ApiController extends BaseController
{
public function getIndex()
{
echo "No Access";
}
public function postIndex()
{
// content here ...
}
public function check_ban($user, $gameBit, $ip)
{
// content here ...
}
public function check_balance($userid, $gameid, $serverid)
{
// content here ...
}
public function purchase_item($xml)
{
// content here ...
}
public function LoginRequest($xml)
{
// content here ...
}
public function CurrencyRequest($xml)
{
// content here ...
}
public function ItemPurchaseRequest($xml)
{
// content here ...
}
}
当您使用以下命令声明资源丰富的路由时
Route::resource('api', 'ApiController');
然后让Laravel
为您生成方法,因此转到命令提示符/terminal
并运行:
php artisan controller:make ApiController
这将在app/controllers
目录中创建一个ApiController
resourceful控制器,并将创建所有方法(方法的框架)。要确保哪个方法侦听哪个URI
和HTTP
方法,请从命令提示符/terminal
运行php artisan routes
,这样您就知道了。请在Laravel
网站上阅读更多信息
如果要针对HTTP
谓词声明自己的方法,请创建RESTful
控制器,并且要创建RESTful
控制器,您不必从终端运行任何artisan
命令,而是使用以下命令声明路由:
Route::controller('api', 'ApiController');
然后创建前缀为HTTP
动词的方法,以响应该动词,例如:
class ApiController extends BaseController {
// URL: domain.com/api using GET HTTP method
public function getIndex()
{
//...
}
// URL: domain.com/api/profile using POST HTTP method
public function postProfile()
{
//...
}
// ...
}
如果您运行php artisan routes
,那么您将能够看到所有URI
s和方法映射。查看Laravel
网站