* @QueueWorker(
* id = "my_module_image_style",
* title = @Translation("Generate image styles"),
* cron = {"time" = 60}
* )
より具体的には
cron = {"time" = 60}
これは実際にはannotationsと呼ばれ、クラスに関するメタデータを提供します。このmetadataは、特定のロジックを実行するためにコードで後で抽出されます。
DrupalコンテキストQueueWorkerは別のプラグインであるため、drupalプラグインであるため、これを抽出するプラグインマネージャを使用して処理されます。 Annotationsからの情報と、それらを使用して、この例のようなロジックを構築します。
そしてすべてのdrupalプラグインはこのロジックに従います:
parent:construct()
argに設定されている注釈クラスの実装が検出されます4、ウィッチは:(\ Drupal\Core\Annotation\QueueWorker): public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler) {
parent::__construct('Plugin/QueueWorker', $namespaces, $module_handler, 'Drupal\Core\Queue\QueueWorkerInterface', 'Drupal\Core\Annotation\QueueWorker');
}
実際には、このクラスのpeoperty doc Commentに、各注釈属性の説明があります。
<?php namespace Drupal\Core\Annotation;
use Drupal\Component\Annotation\Plugin;
class QueueWorker extends Plugin {
/**
* The plugin ID.
*
* @var string
*/
public $id;
/**
* The human-readable title of the plugin.
*
* @ingroup plugin_translatable
*
* @var \Drupal\Core\Annotation\Translation
*/
public $title;
/**
* An associative array containing the optional key:
* - time: (optional) How much time Drupal cron should spend on calling
* this worker in seconds. Defaults to 15.
*
* @var array (optional)
*/
public $cron;
}
クラスのコメントはAnnotationsです:Annotationとはどういう意味ですか?
注釈とは、コンピュータプログラミングで使用される用語で、コードロジックにあるドキュメントやコメントを指します。コードが実行またはコンパイルされると、注釈は通常無視されます。
クラスの発見とメタデータの説明のための注釈。
Drupalプラグインシステムには、開発者がモジュールで使用、オーバーライド、および拡張できる一連の再利用可能なコンポーネントがあります。ほとんどのプラグインはアノテーションを使用します。プラグインとそのメタデータの説明(注釈は他の目的にも使用できますが、現時点ではDrupalはプラグインシステムでのみ使用されます)。
多くのフレームワークは、symfonyと同じようにアノテーションを使用します。アノテーションを使用してルートを作成するなど、多くのコンテキストで使用します here 。
質問に入力した注釈の例は、QueueWorkerプラグイン用です。
cron = {"time" = 60}
cronプロパティの定義QueueWorker::$cron
によると QueueWorker :: $ cron 意味:
time:(オプション)時間Drupal cronがこのワーカーの呼び出しに秒単位で費やす必要があります。デフォルトは15です。
これらはアノテーションと呼ばれ、このコンテキストでは プラグインの検出 に使用されます。
この:
cron = {"time" = 60}
QueueWorker
アノテーションのプロパティを示します。具体的には QueueWorker :: $ cron 、つまり:
Drupal cronがこのワーカーの呼び出しに秒単位で費やす時間。デフォルトは15。