2017-07-04 75 views
0

我已經創建了一個自定義模塊,在控制器文件中我使用了File :: load靜態方法。但是當我做檢查編碼標準運行phpcs它會給一個錯誤文件::加載在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)

相關問題