state = $state; } /** * {@inheritdoc} */ public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { return new static( $configuration, $plugin_id, $plugin_definition, $container->get('state') ); } /** * {@inheritdoc} */ protected function blockAccess(AccountInterface $account) { return $this->state->get('test_block_access', FALSE) ? AccessResult::allowed()->setCacheMaxAge(0) : AccessResult::forbidden()->setCacheMaxAge(0); } /** * {@inheritdoc} */ public function build() { return ['#markup' => 'Hello test world']; } /** * {@inheritdoc} */ public function getCacheMaxAge() { return Cache::PERMANENT; } }