for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace yiicod\mailqueue\commands;
use Exception;
use Yii;
use yiicod\base\helpers\LoggerMessage;
use yiicod\cron\commands\DaemonController;
use yiicod\mailqueue\components\MailHandler;
use yiicod\mailqueue\components\MailHandlerInterface;
use yiicod\mailqueue\MailQueue;
/**
* Console command
* class MailQueueCommand
*/
class MailQueueCommand extends DaemonController
{
* @var MailHandlerInterface
public $mailProvider = MailHandler::class;
* Only one command can run in the same time in {n} times
*
* @param int $timeLock
public $timeLock = 3600;
* Daemon name
* @return string
protected function daemonName(): string
return 'mail-queue';
}
* Run send mail
public function worker()
try {
Yii::$app->db->close();
Yii::$app->db->open();
MailQueue::delivery(new $this->mailProvider());
} catch (Exception $e) {
Yii::error(LoggerMessage::log($e), __METHOD__);
$e
object<Exception>
object<Throwable>
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example:
function acceptsInteger($int) { } $x = '123'; // string "123" // Instead of acceptsInteger($x); // we recommend to use acceptsInteger((integer) $x);
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: