Laravel控制器不存在,但实际上存在
Laravel Controller does not exist, but actually it does
我的控制器有问题。在我的本地仓库中,我 serve
项目有效!
route: at web.php
Route::get('/jobs', 'one\jobs\JobsController@index');
但是当我在我公司的服务器上尝试时,它没有用! 说controller不存在我对比了controller和web路由,和我本地的是一样的
这是我的控制器:
App\Http\Controllers\one\Jobs\JobsController;
<?php
namespace App\Http\Controllers\one\Jobs;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Library\One\ApiLibrary;
use Alert;
class JobsController extends Controller
{
public function __construct()
{
$this->apiLib = new ApiLibrary;
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request)
{
$token = $request->session()->get('token');
$put['data'] = ['token' => $token];
$this->apiLib->setParams($put['data']);
$result = $this->apiLib->generate('GET','/api/jobs');
if(!empty($result->status))
{
$data = $result->data;
$action = $result->action->original;
return view('one.jobs.jobsList',compact('data', 'action'));
}else{
$err_messages = "Server Error";
return view('one.errors.errors', compact('err_messages'));
}
}
}
知道如何解决这个问题吗?提前致谢!
您引用控制器的方式有误:
Route::get('/jobs', 'one\jobs\JobsController@index');
应该是:
Route::get('/jobs', 'one\Jobs\JobsController@index');
您在控制器 namespace
中使用大写字母 J
,但在 web.php
中引用它时使用小写字母 j
。这些东西区分大小写,并且应该与 psr-4
自动加载的文件和文件夹的命名相匹配。
我的控制器有问题。在我的本地仓库中,我 serve
项目有效!
route: at web.php
Route::get('/jobs', 'one\jobs\JobsController@index');
但是当我在我公司的服务器上尝试时,它没有用! 说controller不存在我对比了controller和web路由,和我本地的是一样的
这是我的控制器:
App\Http\Controllers\one\Jobs\JobsController;
<?php
namespace App\Http\Controllers\one\Jobs;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Library\One\ApiLibrary;
use Alert;
class JobsController extends Controller
{
public function __construct()
{
$this->apiLib = new ApiLibrary;
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request)
{
$token = $request->session()->get('token');
$put['data'] = ['token' => $token];
$this->apiLib->setParams($put['data']);
$result = $this->apiLib->generate('GET','/api/jobs');
if(!empty($result->status))
{
$data = $result->data;
$action = $result->action->original;
return view('one.jobs.jobsList',compact('data', 'action'));
}else{
$err_messages = "Server Error";
return view('one.errors.errors', compact('err_messages'));
}
}
}
知道如何解决这个问题吗?提前致谢!
您引用控制器的方式有误:
Route::get('/jobs', 'one\jobs\JobsController@index');
应该是:
Route::get('/jobs', 'one\Jobs\JobsController@index');
您在控制器 namespace
中使用大写字母 J
,但在 web.php
中引用它时使用小写字母 j
。这些东西区分大小写,并且应该与 psr-4
自动加载的文件和文件夹的命名相匹配。