Php YII2-为cli命令注册事件
我制作了BidController组件,我将用于crone作业Php YII2-为cli命令注册事件,php,yii,Php,Yii,我制作了BidController组件,我将用于crone作业 <?php namespace app\commands; use Yii; use app\models\Bid; use app\components\Bids; use yii\console\Controller; class BidController extends Controller { public function actionExpired() {
<?php
namespace app\commands;
use Yii;
use app\models\Bid;
use app\components\Bids;
use yii\console\Controller;
class BidController extends Controller
{
public function actionExpired()
{
$bids = Bid::find()
->where(['<', 'expiration_date', 'CURDATE()'])
->all();
if($bids)
Bids::expired($bids);
}
}
以下是我尝试触发事件的方式:
Yii::$app->bid->trigger(UserEvents::BID_RESPONSE, new UserEvents([
'user' => $user,
'title' => $title,
'message' => $message,
]));
当我尝试运行命令时,出现以下错误:
Exception 'yii\base\UnknownPropertyException' with message 'Getting unknown property: yii\console\Application::bid'
UserEvents类:
<?php
namespace app\components;
use yii;
use yii\base\Event;
class UserEvents extends Event
{
const REGISTER = 'register';
const PAYMENT = 'payment';
const EXPIRE = 'expire';
const NOTIFICATION = 'notification';
const TOGGLEPUBLISH = 'toggle-publish';
const WISHLIST = 'wishlist';
const BID = 'bid';
const BID_RESPONSE = 'bid-response';
const NEW_PRODUCT = 'new-product';
public $user;
public $type = null;
public $message = null;
public $title = null;
public $admin = false;
}
<?php
namespace app\components;
use yii;
use yii\base\Event;
class UserEvents extends Event
{
const REGISTER = 'register';
const PAYMENT = 'payment';
const EXPIRE = 'expire';
const NOTIFICATION = 'notification';
const TOGGLEPUBLISH = 'toggle-publish';
const WISHLIST = 'wishlist';
const BID = 'bid';
const BID_RESPONSE = 'bid-response';
const NEW_PRODUCT = 'new-product';
public $user;
public $type = null;
public $message = null;
public $title = null;
public $admin = false;
}