- var_dump: documentation ( source)
- count: documentation ( source)
- str_replace: documentation ( source)
<?php
namespace App\Classes;
class EmailSubjectBase
{
protected $lead;
protected $fetchedJobs;
public function setLead($lead)
{
$this->lead = $lead;
}
public function setFetchedJobs($fetchedJobs)
{
$this->fetchedJobs = $fetchedJobs;
}
}
class DynamicEmailSubject extends EmailSubjectBase
{
public function fillAndGet($subject)
{
dd($this->lead);
$newSubject = str_replace($this->getAvailableDynamicPlaceholders(), $this->getDynamicPlaceHolderValues(), $subject);
return $newSubject;
}
private function getAvailableDynamicPlaceholders() {
return ["keyword"];
}
private function getDynamicPlaceHolderValues()
{
return [
count($this->fetchedJobs),
$this->lead->keyword,
$this->lead->location,
$this->lead->keyword,
$this->lead->firstname,
];
}
}
function dd($a) { var_dump($a); }
$d = new DynamicEmailSubject;
$d->setLead((object)["keyword"=>"a", "location"=>"b", "firstname"=>"c"]);
$d->setFetchedJobs([]);
$d->fillAndGet("keyword location");