好的,我这里有一些巫毒魔法。 inb4-我已经使作曲家转储和dump-autoload达到10万次。
<?
namespace Cds\Goods\Classes;
use Cds\Goods\Classes\Logs;
use Cds\Goods\Classes\AttributeUniteFront;
class ShiptorSync extends Shiptor{
public static function sync_products() {
Logs::add_to_log("shiptor_sync", date("d.m.Y"), "begin sync shiptor products");
$name = AttributeUniteFront::getSlugProduct($item->cds_products_id);
}
}
这是我的类,该类是我在控制台命令中调用的功能sync_products()
<?php
namespace App\Console\Commands;
use Cds\Goods\Classes\ShiptorSync;
use Illuminate\Console\Command;
/**
* Class ShiptorSynchronizeProducts
*/
class ShiptorSynchronizeProducts extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'shiptor:products:synchronize';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Sync goods';
/**
* Execute the console command.
*/
public function handle()
{
ShiptorSync::sync_products();
}
}
每当我从控制台运行它时-找不到类'Cds \ Goods \ Classes \ AttributeUniteFront'
但是!成功找到类日志。哎呀...
班在他的位置
即使在IDE中,它也使用灰色字体和错误进行绘制,就像在页面上未使用一样。会是什么??
否,这到底是什么?它告知未找到课程,并错误地向我抛出了未成立课程的完整列表!!!
答案 0 :(得分:1)
添加到命令控制器:
public function __construct()
{
parent::__construct();
}
在Kernel.php中:
protected $commands = [
//
'\App\Console\Commands\ShiptorSynchronizeProducts',
];
然后,为什么不只处理()命令中的sync_products?另外,似乎没有定义$ item。
将此添加到命令文件:
use Cds\Goods\Classes\Logs;
use Cds\Goods\Classes\AttributeUniteFront;
public function handle()
{
Logs::add_to_log("shiptor_sync", date("d.m.Y"), "begin sync shiptor products");
$name = AttributeUniteFront::getSlugProduct($item->cds_products_id);
}
}
答案 1 :(得分:0)
天哪,我不知道为什么,但情况是打开短的PHP标签,尽管启用了short_open_tag。但是我改变它,一切正常。