Symfony 4, получить корневой путь к каталогу из класса данных. - PullRequest
0 голосов
/ 05 ноября 2018

Из проекта Symfony 4, существует ли правильно / symfony способ получения корневого каталога пути из класса Fixture?

Конечная цель:

Я использую класс фикстур для загрузки некоторых данных по умолчанию в мою базу данных при развертывании моего сайта. (Может быть, это не очень хорошая практика)

Среди этих данных по умолчанию мне нужно хранить корневой путь к каталогу проекта, потому что мне нужна эта информация из пользовательских утилит и классов сервисов в проекте.

Я знаю, что для этого есть несколько способов. В настоящее время я жестко закодировал абсолютный путь (<= лучший уродливый способ за всю историю;)) </p>

1 Ответ

0 голосов
/ 19 ноября 2018

Symfonfy 4.1.7

Service.yml

services:
  _defaults:
    bind:
      $webDirectory:  '%kernel.project_dir%/public_html/'

Файл фикстур

use Symfony\Component\HttpFoundation\File\UploadedFile;
// --
private $webDirectory, $imageLocation;
public function __construct($webDirectory)
{
    $this->webDirectory = $webDirectory;
    $this->imageLocation = $webDirectory . 'img/config/';
}
public function load(ObjectManager $manager){
    for ($i = 0; $i < 20; $i++) {
        copy($this->imageLocation . 'blog_default_50x50.jpg', $this->imageLocation . 'blog_default_50x50-copy.jpg');
        $file = new UploadedFile($this->imageLocation . 'blog_default_50x50-copy.jpg', 'Image1', null, null, null, true);
        ---
        $blogPost->setFile($file);
        $manager->persist($blogPost);
    }
    $manager->flush();
}

Информация о загруженном файле () от https://stackoverflow.com/a/18883334/624533 (Спасибо!).

Надеюсь, это кому-нибудь поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...