2017-07-04 3 views
0

カスタムモジュールを1つ作成しました。コントローラファイルにFile :: load staticメソッドを使用しました。私がチェックコーディング標準のためのphpcsを実行していたときに、それは誰がための依存性注入を作成する方法を教えてくださいすることができます代わりにFile :: load in drupal8カスタムモジュールコントローラ

を依存性注入を使用し、

ファイル::ロードの呼び出しはクラスでは避けるべきであるとエラーになりますこの。

答えて

0

Drupal \ Core \ Entity \ EntityTypeManagerInterfaceを使用して達成されます。あなたが更新できる。そこから

use Drupal\Core\Entity\EntityTypeManagerInterface; 

class MyForm extends FormBase { 

/** 
    * The storage handler class for files. 
    * 
    * @var \Drupal\file\FileStorage 
    */ 
protected $fileStorage; 

/** 
    * This is an example. 
    * 
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity 
    * The Entity type manager service. 
    */ 
    public function __construct(EntityTypeManagerInterface $entity) { 
    $this->fileStorage = $entity->getStorage('file'); 
    } 
    .... 
} 

File::load($fid)$this->fileStorage->load($fid)

関連する問題