Я создал файл RmsAlert. php, который расширяет класс почтовика в папке RmsAlert в каталоге поставщика, и я хочу использовать это в задаче, но всякий раз, когда я использую этот файл в задаче с помощью require_once, он обрабатывает RmsAlert. php в каталоге задач в Cake php 4.
namespace App\Shell\Task;
use Cake\Console\Shell;
//App::classPath('RmsAlert','RmsAlert');
use Cake\ORM\TableRegistry;
use Cake\Datasource\ConnectionManager;
require_once(ROOT.DS.'vendor'.DS.'RmsAlert'.DS.'RmsAlert.php');
class InstantTask extends Shell {
public function execute() {
$this->Alerts = TableRegistry::getTableLocator()->get('Alerts');
$connection=ConnectionManager::get('logDb');
$uname = array('Gmail1');
$name = array_rand($uname,1);
$val = $uname[$name];
$allMails = $this->Alerts->find('all',['conditions'=>['AND'=>['Alerts.mode'=>1],['Alerts.status is null']]])->toArray();
foreach($allMails as $mail){
$email = new RmsAlert($val);
$fileArray = explode(',',substr($mail['attachment'],0,-1));
debug($email->processEmails($mail['data']));exit;
if($email->processEmails($mail['data'])){
$this->Alerts->id=$mail['id'];
$this->Alerts->updateAll(['status'=>1],['Alerts.id'=> $mail['id']]);
$this->Alerts->updateAll(['process_date'=>date('Y-m-d H:i:s', strtotime('now'))],['Alerts.id'=> $mail['id']]);
foreach($fileArray as $temp){
if(file_exists(APP.'images'.DS.'temp'.DS.$temp)){
UNLINK(APP.'images'.DS.'temp'.DS.$temp);
}
}
$connection->query("UPDATE alerts SET data=null WHERE id='".$mail['id']."'");
sleep(mt_rand(30,50));
}else{
$this->Alerts->id = $mail['id'];
$this->Alerts->updateAll(['status'=>null],['Alerts.id'=> $mail['id']]);
break;
}
}
}
}
cmd ошибка при использовании файла RmsAlert. php в моей задаче