我在我的应用程序中添加了服务文件夹。我在composer.json中添加了应用程序/型号下面的应用程序/服务。
然后我表演了"composer dump-autoload“
这是我的控制器:
LogbookController.php
namespace App
use App\Services;
class LogbookController extends \BaseController {
public function index()
{
return Response::json($this->retrieveCashLogbook('977'));
}
public function retrieveLogbookHeader($logbook){
$log_id=$logbook->id;
$logbook->log_shift=\App\Services\ShiftService::retrieveShift($log_id);
return $logbook;
}
public function retrieveCashLogbook($id){
$logbook=Logbook::find($id);
$logbook=$this->retrieveLogbookHeader($logbook);
}这是我的服务:
ShiftService.php
namespace App\Services;
//use App\Models\Shift;
class ShiftService {
public static function retrieveShift($request){
$shift=Shift::where("shift","=",$request)->first();
return $shift;
}
}无论我是将命名空间App放在Service上,还是注释掉并替换它,这都无关紧要。当我使用Use App\Services或Use\App\Services或Use \App\Services\ShiftService时,它也不起作用,它仍然没有被检测到。
如果我在LogbookController.php上添加了命名空间应用程序或命名空间应用程序\控制器,则不会检测到控制器。我不知道该怎么做。
是配置的问题吗?我是不是遗漏了什么?composer和设置有什么问题吗?我目前使用的是PHP5.4,但我的Laravel也是一个旧版本。
我的composer.json:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"require": {
"laravel/framework": "4.1.*"
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/services",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php"
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "stable"
}发布于 2018-07-26 14:27:18
我解决了它,
首先,当我第二天进入composer dump-autoload时,出于某种原因,它工作了。我认为它需要一个硬重置。
然后,我在LogbookController.php的头上添加了以下内容:
use App\Services;
use App\Models;
class LogbookController extends \BaseController {
...
}然后我在TransactionService.php上添加了这个
namespace App\Services;
use App\Models;
use App\Services\TransactionService;
class TransactionService {
...
}基本上,名称空间和use语句很棘手,所以我必须使用它进行测试和重新测试。
https://stackoverflow.com/questions/51513742
复制相似问题