Laravel 使用外部类
Posted
技术标签:
【中文标题】Laravel 使用外部类【英文标题】:Laravel use external class 【发布时间】:2017-05-09 07:19:29 【问题描述】:我是 laravel 的新手,需要一些帮助。 实际上我使用 5.3 laravel 版本。 我需要在 laravel 中使用外部公司框架(将其称为 F 表示简洁)。 这个框架有点像流程管理器。实际上,为了将它与 laravel 集成,我将它放在 laravel/public 文件夹中,这样我就可以在同一个域中使用 laravel 和 F 的页面。在 laravel 中,我需要访问一些 F 功能,这些功能都收集在 FFramework\Facade\FInterface 类中; 然后我想从 laravel 控制器 FController 访问这个类。 但是当我运行代码时,我得到了 Class Not Found Exception。
这是文件夹结构:
laravel 应用程序 http 控制器 FController.php 公开 CSS js index.php f框架 门面 FInterface.php index.php这是代码示例:
FController.php
<?php
namespace App\Http\Controllers;
use FFramework\facade\FInterface;
class FController extends Controller
public function getSimpleDAta()
$f = new FInterface();
return $f->getSimpleData();
FInterface.php
<?php
namespace FFramework\facade;
use some\internal\function;
class FInterface
public function getSimpleDAta()
$simpleData = ...omg so much computation :) ...
return $simpleData;
我得到的例外:
找不到类“FFramework\facade\FInterface”
其他信息
我使用标准 LAMP 配置 PHP 版本是最新的 5.6 稳定版
问题
如何使用 Laravel 控制器中的 FInterface 将 FFramework 留在公共文件夹中?
【问题讨论】:
Laravel 使用 composer 的自动加载器,将命名空间和路径添加到 composer.json 中的自动加载部分。 【参考方案1】:您需要更新composer.json
文件的自动加载部分,以告知您的项目在FFramework
命名空间中的何处查找文件。
"autoload":
"classmap": [
"database"
],
"psr-4":
"App\\": "app/"
"FFramework\\": "public/fframework"
,
【讨论】:
以上是关于Laravel 使用外部类的主要内容,如果未能解决你的问题,请参考以下文章