使用PSR-4自动加载的Laravel 4中没有发现自定义类别的奇怪错误

时间:2015-09-26 01:16:51

标签: php laravel-4 autoload autoloader psr-4

在我的自定义课程中。

<?php
  namespace CustomHelpers\API;

class api {

  public function __construct()
  {
  }

  public function api_login($data =[])
  {
     $respond = $this->api_function('admin_login', $data);
  }

  public function api_function($name, $request, $data = [])
  {
    $url = $name;
  }
}

文件结构:

-app
--CustomHelpers
---API
----api.php

Composer.json

 "autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/models",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php"
    ],
    "psr-4": {
      "CustomHelpers\\": "app/CustomHelpers"
    }

},
  

Class&#39; CustomHelpers \ API \ App&#39;找不到

我已经完成了手册中的内容,但显示的错误很奇怪,因为我的 API 文件夹中没有 APP 。我使用composer dump-autoload的命令希望有人可以帮助我。

更新

use CustomHelpers\API;

 public function login()
 {
   $new = new CustomHelpers\API\api();
   $session = $new->api_login(array('token'=>$token));
 }

1 个答案:

答案 0 :(得分:0)

我自己设法了。

  

Class&#39; CustomHelpers \ API \ App&#39;找不到

此处的错误是在我的客户帮助程序类中找到App类或App的外观。

<?php
namespace CustomHelpers\API;
use Illuminate\Support\Facades\App; //I add this line and solve my problem

class api {

    public function __construct() {
    }

  public function api_login($data =[])
  {
    $respond = $this->api_function('admin_login', $data);
  }

  public function api_function($name, $request, $data = [])
  {
     $url = $name;
   }
}