Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x

RefinableDependentAccessInterface.php

Namespace

Drupal\block_content\Access

File

core/modules/block_content/src/Access/RefinableDependentAccessInterface.php

View source
<?php

namespace Drupal\block_content\Access;

use Drupal\Core\Access\AccessibleInterface;

/**
 * An interface to allow adding an access dependency.
 *
 * @internal
 */
interface RefinableDependentAccessInterface extends DependentAccessInterface {
    
    /**
     * Sets the access dependency.
     *
     * If an access dependency is already set this will replace the existing
     * dependency.
     *
     * @param \Drupal\Core\Access\AccessibleInterface $access_dependency
     *   The object upon which access depends.
     *
     * @return $this
     */
    public function setAccessDependency(AccessibleInterface $access_dependency);
    
    /**
     * Adds an access dependency into the existing access dependency.
     *
     * If no existing dependency is currently set this will set the dependency
     * will be set to the new value.
     *
     * If there is an existing dependency and it is not an instance of
     * AccessGroupAnd the dependency will be set as a new AccessGroupAnd
     * instance with the existing and new dependencies as the members of the
     * group.
     *
     * If there is an existing dependency and it is an instance of AccessGroupAnd
     * the dependency will be added to the existing access group.
     *
     * @param \Drupal\Core\Access\AccessibleInterface $access_dependency
     *   The access dependency to merge.
     *
     * @return $this
     */
    public function addAccessDependency(AccessibleInterface $access_dependency);

}

Interfaces

Title Deprecated Summary
RefinableDependentAccessInterface An interface to allow adding an access dependency.

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal