我想在CommonController
中调用PostsController
的函数。
PostsController位于Posting名称空间
PostController: App\Http\Controllers\Posting\PostsController
CommonController: App\Http\Controllers\CommonController
我试过这段代码,但它在PostingController中不起作用,它是我的PostingController的一个小代码
namespace App\Http\Controllers\Employer;
use App\Http\Controllers\CommonController;
class PostsController extends Controller
{
public function myFunction(Request $request, $id){
$commonControllerObj = new CommonContoller;
$result = $commonControllerObj->commonCallingFunction($id);
}
}
但它没有用,它给出错误
Class 'App\Http\Controllers\Posting\CommonContoller' not found
答案 0 :(得分:3)
第一个命名空间错误
namespace App\Http\Controllers\Posting;
第二个你可以像这样调用另一个控制器
app('App\Http\Controllers\CommonController')->commonCallingFunction();
这会有效,但在代码组织方面这很糟糕
您可以像这样扩展Controller
use App\Http\Controllers\CommonContoller;
class PostsController extends CommonContoller
{
public function myFunction(Request $request, $id){
$result = $this->commonCallingFunction($id);
}
}