回答:
EntityFieldManager :: getFieldMapをお勧めします。EntityManagerは、他のクラスの機能を提供するためのサービスにすぎません。
ドキュメントから:
戻り値
arrayエンティティタイプをキーとする配列。各値は配列であり、キーはフィールド名であり、値は2つのエントリを持つ配列です。
- type:フィールドのタイプ。
- bundles:フィールドが表示されるバンドルの連想配列。キーと値はどちらもバンドルのマシン名です。
EntityFieldManagerInterface::getFieldMap()
エンティティタイプ>フィールド名でキー配列を作成し、フィールドタイプとそれに関連するバンドルの詳細情報を提供します。
$field_map = \Drupal::entityManager()->getFieldMap();
$node_field_map = $field_map['node'];
$node_fields = array_keys($node_field_map['node']);
EntityFieldManagerInterface::getFieldDefinitions()
さらにフィールドメタデータが必要な場合もあります。これは、詳細を解析するためのBaseFieldDefinition
&FieldConfig
オブジェクトの配列を生成します。
$node_article_fields =\Drupal::entityManager()->getFieldDefinitions('node','article');
comment, contact_message, file, node, shortcut, taxonomy_term, user, menu_link_content
field_info_instance()
あなたが望むことをしますが、ドキュメントを見ると、D8では非推奨になっていることがわかります
Field::fieldInfo()->getBundleInstance($entity_type, $bundle, $field_name).