已解决:能不能重新server 如Yii::$service->joho->product->index()这样

技术问题 · k0432 · 于 4年前 发布 · 1378 次阅读

我的操作如下: 第一步:\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}"]}

共收到 1 条回复
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics