Как правильно переделать строку под php?

211
23 мая 2018, 08:50

Раньше у меня во вьюхе для вывода изображения использовался такой код

<img src="<?= $this->url('application', ['action'=>'file'], 
                            ['query'=>['name'=>$foto], 'thumbnail'=>true]); ?>" alt="" class="d-block w-100" data-toggle="modal" data-target="#exampleModal">

Теперь я переношу эту часть кода в помощник видов. По идее должно получится что-то вроде

$result .= '<img src="'.('application', ['action'=>'file'],
                            ['query'=>['name'=>$escapeHtml($foto)],  'thumbnail'=>true]).'" alt="" class="d-block w-100" data-toggle="modal" data-target="#exampleModal">';

Но в помощнике видов нет метода

$this->url

и я не могу сообразить как правильно написать эту строку.

Answer 1

Передайте url в помощник параметром, и подставляйте его в результат:

class SomeHelper
{
  public static function myImg($url) {
    ...
    $result .= '<img src="' . $url . '" alt="" class="d-block w-100" data-toggle="modal" data-target="#exampleModal">';
    ...
  }
}

Затем во вьюхе вызывайте, например так:

$actual_url = $this->url('application', ['action'=>'file'], ['query'=>['name'=>$foto], 'thumbnail'=>true]);
echo SomeHelper->myImg($actual_url);
READ ALSO
preg_replace: invalid range

preg_replace: invalid range

Подскажите как решить:

195
LATEST FOREIGN KEY ERROR

LATEST FOREIGN KEY ERROR

Дело было так

230
Где выгоднее хранить данные об онлайн статусе серверов

Где выгоднее хранить данные об онлайн статусе серверов

Есть много автоматов по продаже чего-либо, у каждого автомата есть онлайн статус (работа/сбой/перезагрузка и др)Есть панель управления, куда...

198