2017-07-05 214 views
0

我有一个RSA算法库由支付网关给我,当我做了添加第三方库Laravel

include (app_path().'/PaymentGateway/Crypt/RSA.php'); 

这一点,并试图为$rsa = new Crypt_RSA();这一点,让我和错误说使物体

Class 'App\Http\Controllers\Crypt_RSA' not found 

我试图将其纳入web.php,使一个对象,它的工作,当我尝试将其包含在一个控制器出现问题。

+0

尝试PSR-自动加载它在composer.json。 – mighTY

+0

会友好地解释一下吗? –

回答

0

在默认情况下,包含在你的laravel项目的app文件夹一切都自动加载,即在项目的composer.json描述:

...   
"autoload": { 
     "classmap": [ 
      "database" 
     ], 
     "psr-4": { 
      "App\\": "app/" 
     } 
    }, 
... 

,你需要做的唯一事情是简单地使用名称空间:

use App/Path/To/Third/Party/plugin/Class; 

然而,如果该插件被放置App的范围之外,则简单地将其添加到PSR-4自动加载机:

"psr-4": { 
     "ProjectRootNs\\": "projects/myproject/" 
    } 
0

您可以通过将基本文件夹告诉Composer来自动加载任何(非PSR)类:

"autoload": { 
"classmap": [ 
    "app/commands", 
    "app/database/migrations", 
    "app/database/seeds", 
    "app/tests/TestCase.php" 
], 
.... 

,你也可以自动加载磁带自动加载机将它们添加到该文件部分:

"autoload": { 
"files": [ 
    "temboo/src/Temboo_Loader.php" 
], 

...

添加这些条目后,执行:

composer dumpautoload 

并检查文件供应商/作曲家/ autoload_classmap.php,可用的类必须全部列在其中,如果一个文件不存在,它将不会自动加载。

0

这就是我所做的。哦,一个小回地面我用有这Laravel 4,PHP 5,JpGraph的2

我使用jpgraph 4.1Laravel 5.5使用PHP 7

  1. 下创建应用程序的文件夹名为jpgraph
  2. 放在src文件夹是在JpGraph的的压缩包文件夹中
  3. 创建文件调用Graph1.php,是我的代码使用jpgraph的,随着阶级Custom_GraphsJMjpgraph文件夹。
  4. composer.json添加"app/jpgraph/Graph1.php""classmap"

    "autoload": { 
        "classmap": [ 
        "database/seeds", 
        "database/factories", 
        "app/jpgraph/Graph1.php" 
        ], 
        "psr-4": { 
        "App\\": "app/" 
        } 
    }, 
    
  5. 在应用程序文件夹:

    composer dump-autoload

  6. 经过了autoload_classmap.php和我有

    'Custom_GraphsJM' => $baseDir . '/app/jpgraph/Graph1.php',

  7. 在我的顶级车型我有

    use Custom_GraphsJM;

  8. 要创建一个类

    $Two_Graphs_Temp = new Custom_GraphsJM();