我的操作如下:
第一步:\appserver\config\fecshop_local_services添加Joho.php
路径\appserver\config\fecshop_local_services\Joho.php
return [
'joho' => [
'class' => 'appserver\local\local_services\Joho',
// 子服务
'childService' => [
'product' => [
'class' => 'appserver\local\local_services\joho\Product',
],
],
],
];
第二部appserver\local\local_services下添加Joho.php
路径 \appserver\local\local_services\Joho.php
<?php
namespace appserver\local\local_services;
use fecshop\services\Service;
use Yii;
class Joho extends Service
{
public function index()
{
}
}
第三部:appserver\local\local_services\joho下添加Product.php
路径 \appserver\local\local_services\joho\Product.php
<?PHP
namespace appserver\local\local_services\joho;
use fecshop\services\Service;
use Yii;
class Product extends Service
{
public function index()
{
return '服务';
}
}
第四部:我想使用一下语句输出"服务"
$var =Yii::$service->joho->product->index();
echo $var;
正确做法:将第一步文件位置appserver换成commom 因为默认配置文件指向common
第一步:commom\config\fecshop_local_services下添加Joho.php
路径commom\config\fecshop_local_services\Joho.php
报错信息
{"name":"Invalid Configuration","message":"Child Service [joho] does not exist in fecshop\services\Application, you must config it! ","code":0,"type":"yii\base\InvalidConfigException","file":"/data/wwwroot/fecshop/vendor/fancyecommerce/fecshop/services/Application.php","line":95,"stack-trace":["#0 /data/wwwroot/fecshop/vendor/fancyecommerce/fecshop/services/Application.php(111): fecshop\\services\\Application->getChildService('joho')","#1 /data/wwwroot/fecshop/appserver/local/local_modules/Wx/controllers/HomeController.php(24): fecshop\\services\\Application->__get('joho')","#2 [internal function]: appserver\\local\\local_modules\\Wx\\controllers\\HomeController->actionIndex()","#3 /data/wwwroot/fecshop/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)","#4 /data/wwwroot/fecshop/vendor/yiisoft/yii2/base/Controller.php(157): yii\\base\\InlineAction->runWithParams(Array)","#5 /data/wwwroot/fecshop/vendor/yiisoft/yii2/base/Module.php(528): yii\\base\\Controller->runAction('index', Array)","#6 /data/wwwroot/fecshop/vendor/yiisoft/yii2/web/Application.php(103): yii\\base\\Module->runAction('wx/home/index', Array)","#7 /data/wwwroot/fecshop/vendor/yiisoft/yii2/base/Application.php(386): yii\\web\\Application->handleRequest(Object(yii\\web\\Request))","#8 /data/wwwroot/fecshop/appserver/web/index.php(109): yii\\base\\Application->run()","#9 {main}"]}