Laravel 使用外部 class
Laravel use external class
我是 laravel 的新手,需要一些帮助。
实际上我使用 5.3 laravel 版本。
我需要在 laravel 中使用外部公司框架(为了简单起见,称之为 F)。
这个框架有点像流程管理器。实际上,为了将它与 laravel 集成,我将它放在 laravel/public 文件夹中,这样我就可以在同一域中使用 laravel 和 F 的页面。在 laravel 中,我需要访问一些 F 功能,这些功能全部收集在 class FFramework\Facade\FInterface 中;
然后我想从 laravel 控制器 FController 访问这个 class。
但是当我 运行 代码时,我得到 Class 未找到异常。
这是文件夹结构:
- laravel
- 应用
- http
- 控制器
- FController.php
- public
- css
- js
- index.php
- 框架
- 立面
- 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;
}
}
我得到的异常:
Class 'FFramework\facade\FInterface' 未找到
附加信息
我使用标准 LAMP 配置
PHP版本是最新的5.6稳定版
问题
我如何使用 Laravel 控制器中的 FInterface 将 FFramework 留在 public 文件夹中?
您需要更新 composer.json
文件的自动加载部分,以告知您的项目在 FFramework
命名空间中查找文件的位置。
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\": "app/"
"FFramework\": "public/fframework"
}
},
我是 laravel 的新手,需要一些帮助。 实际上我使用 5.3 laravel 版本。 我需要在 laravel 中使用外部公司框架(为了简单起见,称之为 F)。 这个框架有点像流程管理器。实际上,为了将它与 laravel 集成,我将它放在 laravel/public 文件夹中,这样我就可以在同一域中使用 laravel 和 F 的页面。在 laravel 中,我需要访问一些 F 功能,这些功能全部收集在 class FFramework\Facade\FInterface 中; 然后我想从 laravel 控制器 FController 访问这个 class。 但是当我 运行 代码时,我得到 Class 未找到异常。
这是文件夹结构:
- laravel
- 应用
- http
- 控制器
- FController.php
- http
- 应用
- public
- css
- js
- index.php
- 框架
- 立面
- 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;
}
}
我得到的异常:
Class 'FFramework\facade\FInterface' 未找到
附加信息
我使用标准 LAMP 配置 PHP版本是最新的5.6稳定版
问题
我如何使用 Laravel 控制器中的 FInterface 将 FFramework 留在 public 文件夹中?
您需要更新 composer.json
文件的自动加载部分,以告知您的项目在 FFramework
命名空间中查找文件的位置。
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\": "app/"
"FFramework\": "public/fframework"
}
},