Exponential 5.x Kernel 7.5.40 Exponential New Stack (Symfony-based) Kernel — PHP Class Reference

Todo List

Class eZ\Bundle\EzPublishIOBundle\DependencyInjection\Compiler\IOConfigurationPass
  Refactor into two passes, since they're very very close.
Class eZ\Bundle\EzPublishRestBundle\DependencyInjection\Compiler\OutputVisitorPass
  The tag is much more limited in scope than the name shows. Refactor. More ways to map ?
Member eZ\Publish\API\Repository\ContentService::publishVersion (VersionInfo $versionInfo, array $translations=Language::ALL)
  Introduce null|int ContentType->versionArchiveLimit to be able to let admins override this per type.
Member eZ\Publish\API\Repository\Values\Content\Query\Criterion::__construct ($target, $operator, $value, Value $valueData=null)
  Add a dedicated exception
Class eZ\Publish\API\Repository\Values\Content\Query\FacetBuilder\Location\LocationFacetBuilder
  : check hierarchical facets
Class eZ\Publish\API\Repository\Values\Content\Query\FacetBuilder\LocationFacetBuilder
  : check hierarchical facets
Member eZ\Publish\API\Repository\Values\ValueObject::getProperties ($dynamicProperties=[])
  Make object traversable and reuse this function there (hence why this is not exposed)
Class eZ\Publish\Core\Base\Exceptions\MissingClass
  Add a exception type in API that uses Logic exception and change this to extend it
Member eZ\Publish\Core\FieldType\EmailAddress\Type::getSortInfo (BaseValue $value)
  String normalization should occur here.
Member eZ\Publish\Core\FieldType\RelationList\Type::SELECTION_DROPDOWN
  following selection methods comes from legacy and may be interpreted as SELECTION_BROWSE by UI.
Member eZ\Publish\Core\FieldType\Url\UrlStorage\Gateway\LegacyStorage::deleteOrphanedUrls ()
  using two queries because zeta Database does not support joins in delete query. That could be avoided if the feature is implemented there.
Member eZ\Publish\Core\Helper\TranslationHelper::getTranslatedContentNameByContentInfo (ContentInfo $contentInfo, $forcedLanguage=null)
  Remove ContentService usage when translated names are available in ContentInfo (see https://jira.ez.no/browse/EZP-21755)
Member eZ\Publish\Core\Limitation\OwnerLimitationType::evaluate (APILimitationValue $value, APIUserReference $currentUser, ValueObject $object, array $targets=null)
  Add support for $limitationValues[0] == 2 when session values can be injected somehow, or deprecate
Member eZ\Publish\Core\Limitation\OwnerLimitationType::getCriterion (APILimitationValue $value, APIUserReference $currentUser)
  Add support for $limitationValues[0] == 2 when session values can be injected somehow, or deprecate
Member eZ\Publish\Core\Limitation\ParentOwnerLimitationType::evaluate (APILimitationValue $value, APIUserReference $currentUser, ValueObject $object, array $targets=null)
  Add support for $limitationValues[0] == 2 when session values can be injected somehow
Member eZ\Publish\Core\Persistence\Doctrine\ConnectionHandler::createConnectionFromDSN ($dsn)
  retry connection here.
Member eZ\Publish\Core\Persistence\Legacy\Content\Handler::addRelation (RelationCreateStruct $createStruct)
  Should the existence verifications happen here or is this supposed to be handled at a higher level?
Member eZ\Publish\Core\Persistence\Legacy\Content\Handler::removeRelation ($relationId, $type)
  Should the existence verifications happen here or is this supposed to be handled at a higher level?
Member eZ\Publish\Core\Persistence\Legacy\Content\Location\Gateway::moveSubtreeNodes (array $fromPathString, array $toPathString)
  optimize
Member eZ\Publish\Core\Persistence\Legacy\Content\Location\Gateway\DoctrineDatabase::getAllLocationsQueryBuilder (array $columns)
  Align with createNodeQueryBuilder, removing the need for both(?)
Member eZ\Publish\Core\Persistence\Legacy\Content\Location\Handler::copySubtree ($sourceId, $destinationParentId, $newOwnerId=null)

  Either move to async/batch or find ways toward optimizing away operations per object.

  Optionally retain dates and set creator

Member eZ\Publish\Core\Persistence\Legacy\Content\Location\Trash\Handler::recover ($trashedId, $newParentId)
  Handle field types actions
Member eZ\Publish\Core\Persistence\Legacy\Content\Location\Trash\Handler::trashSubtree ($locationId)
  Handle field types actions
Member eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler::link ($groupId, $contentTypeId, $status)
  Above throws are not implemented
Member eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler::unlink ($groupId, $contentTypeId, $status)
  Add throws for NotFound and BadState when group is not assigned to type
Member eZ\Publish\Core\Persistence\Legacy\Content\Type\Mapper::createGroupFromCreateStruct (GroupCreateStruct $struct)
  $description is not supported by database, yet
Member eZ\Publish\Core\Repository\ContentTypeService::loadContentTypeDraft ($contentTypeId, bool $ignoreOwnership=false)
  Use another exception when user of draft is someone else
Member eZ\Publish\Core\Repository\Repository::getContentTypeDomainMapper ()
  Move out from this & other repo instances when services becomes proper services in DIC terms using factory.
Member eZ\Publish\Core\Repository\Repository::getDomainMapper ()
  Move out from this & other repo instances when services becomes proper services in DIC terms using factory.
Member eZ\Publish\Core\Repository\Repository::getNameSchemaService ()
  Move out from this & other repo instances when services becomes proper services in DIC terms using factory.
Member eZ\Publish\Core\Repository\Repository::getPermissionCriterionResolver ()
  Move out from this & other repo instances when services becomes proper services in DIC terms using factory.
Member eZ\Publish\Core\Repository\Repository::getRelationProcessor ()
  Move out from this & other repo instances when services becomes proper services in DIC terms using factory.
Member eZ\Publish\Core\REST\Client\ContentService::loadContent ($contentId, array $languages=null, $versionNo=null, $useAlwaysAvailable=true)

  Handle $versionNo = null

  Handle language filters

Member eZ\Publish\Core\REST\Client\ContentTypeService::deleteUserDrafts (int $userId)
  Implement
Class eZ\Publish\Core\REST\Client\Input\Parser\Content

  Integrate FieldType fromHash()

  Caching for extracted embedded objects

Member eZ\Publish\Core\REST\Client\Input\Parser\Content::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\ContentInfo::parse (array $data, ParsingDispatcher $parsingDispatcher)

  Error handling

  What about missing properties? Set them here, using the service to load? Or better set them in the service, since loading is really unsuitable here?

Member eZ\Publish\Core\REST\Client\Input\Parser\ContentList::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\ContentType::parse (array $data, ParsingDispatcher $parsingDispatcher)

  Error handling

  What about missing properties? Set them here, using the service to load? Or better set them in the service, since loading is really unsuitable here?

Member eZ\Publish\Core\REST\Client\Input\Parser\ContentTypeGroup::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\ContentTypeGroupList::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\ContentTypeList::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Class eZ\Publish\Core\REST\Client\Input\Parser\FieldDefinition
  Caching for extracted embedded objects
Member eZ\Publish\Core\REST\Client\Input\Parser\FieldDefinition::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\Limitation::getLimitationByIdentifier ($identifier)
  Use dependency injection system
Member eZ\Publish\Core\REST\Client\Input\Parser\Limitation::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\Location::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\LocationList::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\ObjectState::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\ObjectStateGroup::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\ObjectStateGroupList::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\ObjectStateList::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\Policy::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\PolicyList::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\Relation::parse (array $data, ParsingDispatcher $parsingDispatcher)

  Error handling

  Should the related ContentInfo structs really be loaded here or do we need lazy loading for this?

Member eZ\Publish\Core\REST\Client\Input\Parser\RelationList::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\Role::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\RoleAssignment::parse (array $data, ParsingDispatcher $parsingDispatcher)

  Error handling

  Use dependency injection system for Role Limitation lookup

Member eZ\Publish\Core\REST\Client\Input\Parser\RoleAssignmentList::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\RoleList::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\Section::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\SectionList::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\Session::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\UserList::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\UserRefList::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\Input\Parser\VersionInfo::parse (array $data, ParsingDispatcher $parsingDispatcher)
  Error handling
Member eZ\Publish\Core\REST\Client\LocationService::copySubtree (Location $subtree, Location $targetParentLocation)
  enhancement - this method should return a result structure containing the new location and a list of locations which are not copied due to permission denials.
Member eZ\Publish\Core\REST\Client\RoleService::assignRoleToUser (APIRole $role, User $user, RoleLimitation $roleLimitation=null)
  add limitations
Member eZ\Publish\Core\REST\Client\SectionService::assignSection (ContentInfo $contentInfo, Section $section)
  In order to make the integration test for this method running, the countAssignedContents() method must be implemented. Otherwise this should work fine.
Member eZ\Publish\Core\REST\Common\Input\ParserTools::getLimitationByIdentifier ($identifier)
  Use dependency injection system
Member eZ\Publish\Core\REST\Server\Controller::getMediaType (Request $request)
  refactor, maybe to a REST Request with an accepts('content-type') method
Member eZ\Publish\Core\REST\Server\Controller\ContentType::loadContentTypeFieldDefinitionList ($contentTypeId)
  Check why this isn't in the specs
Member eZ\Publish\Core\REST\Server\Controller\Location::loadLocationByRemoteId (Request $request)
  remove, or use in loadLocation with filter
Member eZ\Publish\Core\REST\Server\Input\Parser\ContentUpdate::parse (array $data, ParsingDispatcher $parsingDispatcher)
  use url handler instead of hardcoded URL matching
Member eZ\Publish\Core\REST\Server\Input\Parser\FieldDefinitionUpdate::getFieldDefinition (array $data)
  depends on temporary solution to give parser access to the URL
Class eZ\Publish\Core\REST\Server\Output\ValueObjectVisitor\CreatedContentType
  coverage add test
Class eZ\Publish\Core\REST\Server\Output\ValueObjectVisitor\CreatedContentTypeGroup
  coverage add test
Class eZ\Publish\Core\REST\Server\Output\ValueObjectVisitor\CreatedFieldDefinition
  coverage add test
Class eZ\Publish\Core\REST\Server\Output\ValueObjectVisitor\CreatedLocation
  coverage add test
Class eZ\Publish\Core\REST\Server\Output\ValueObjectVisitor\CreatedObjectState
  coverage add test
Class eZ\Publish\Core\REST\Server\Output\ValueObjectVisitor\CreatedObjectStateGroup
  coverage add unit test
Class eZ\Publish\Core\REST\Server\Output\ValueObjectVisitor\CreatedPolicy
  coverage add unit test
Class eZ\Publish\Core\REST\Server\Output\ValueObjectVisitor\CreatedRelation
  coverage add unit test
Class eZ\Publish\Core\REST\Server\Output\ValueObjectVisitor\CreatedRole
  coverage add unit test
Class eZ\Publish\Core\REST\Server\Output\ValueObjectVisitor\CreatedSection
  coverage add unit test
Class eZ\Publish\Core\REST\Server\Output\ValueObjectVisitor\CreatedURLAlias
  coverage add unit test
Class eZ\Publish\Core\REST\Server\Output\ValueObjectVisitor\CreatedURLWildcard
  coverage add unit test
Class eZ\Publish\Core\REST\Server\Output\ValueObjectVisitor\CreatedUser
  coverage add unit test
Class eZ\Publish\Core\REST\Server\Output\ValueObjectVisitor\CreatedUserGroup
  coverage add unit test
Class eZ\Publish\Core\REST\Server\Output\ValueObjectVisitor\CreatedVersion
  coverage add unit test
Class eZ\Publish\Core\REST\Server\Output\ValueObjectVisitor\Options
  coverage add unit test
Class eZ\Publish\Core\REST\Server\Output\ValueObjectVisitor\PublishedRole
  coverage add unit test
Class eZ\Publish\Core\REST\Server\Output\ValueObjectVisitor\RestFieldDefinition
  $fieldSettings & $validatorConfiguration (missing from spec)
Class eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitor\CustomField\CustomFieldRange
  needs tests
Class eZ\Publish\Core\Search\Elasticsearch\Content\FacetBuilderVisitor\Aggregate
  find better method to map for type/name
Member eZ\Publish\Core\Search\Elasticsearch\Content\Handler::bulkIndexContent (array $contentObjects)
  : This function and setCommit() is needed for Persistence\Solr for test speed but not part of interface for the reason described in Solr\Content\Search\Gateway\Native::bulkIndexContent Short: Bulk handling should be properly designed before added to the interface.
Member eZ\Publish\Core\Search\Elasticsearch\Content\Handler::bulkIndexLocations (array $locations)
  : This function and setCommit() is needed for Persistence\Solr for test speed but not part of interface for the reason described in Solr\Content\Search\Gateway\Native::bulkIndexContent Short: Bulk handling should be properly designed before added to the interface.
Member eZ\Publish\Core\Search\Elasticsearch\Content\Handler::deleteLocation ($locationId, $contentId)

  Make use of this, or remove if not needed.

  When we support Location-less Content, we will have to reindex instead of removing

  Should we not already support the above?

  The subtree could potentially be huge, so this implementation should scroll reindex

Member eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\MapLocationDistance::getBoundingCoordinates (MapLocationValue $location, $distance)
  it should also be possible to calculate inner bounding box, which could be applied for the operators GT, GTE and lower distance of the BETWEEN operator.
Member eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\ObjectStateId::handle (CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, array $languageSettings)
  : Needs optimisation since this subselect can potentially be problematic due to large number of contentobject_id values returned. One way to fix this is to use inner joins on ezcobj_state_link table, but this is not currently supported in legacy search gateway
Member eZ\Publish\Core\Search\Legacy\Content\Gateway\CriterionHandler\Visibility::handle (CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, array $languageSettings)
  : Needs optimisation since this subselect can potentially be problematic due to large number of contentobject_id values returned. One way to fix this is to use inner joins on ezcontentobject_tree table, but this is not currently supported in legacy search gateway
Class eZ\Publish\SPI\FieldType\Event
  Add VersionInfo parameter
Member eZ\Publish\SPI\Persistence\Content\Handler::addRelation (RelationCreateStruct $createStruct)
  Should the existence verifications happen here or is this supposed to be handled at a higher level?
Member eZ\Publish\SPI\Persistence\Content\Handler::removeRelation ($relationId, $type)
  Should the existence verifications happen here or is this supposed to be handled at a higher level?
Member eZ\Publish\SPI\Persistence\Content\Location\Handler::setSectionForSubtree ($locationId, $sectionId)
  This can be confusing (regarding permissions and main/multi location). So method is for the time being not in PublicAPI so people can instead write scripts using their own logic against the assignSectionToContent() api.
Member eZ\Publish\SPI\Persistence\Content\Section\Handler::create ($name, $identifier)

  Should validate that $identifier is unique??

  What about translatable $name?

Class eZ\Publish\SPI\Persistence\Content\Type\FieldDefinition

  Do we need a FieldDefinitionCreateStruct?

  What about the "serialized_data_text" field in legacy storage?

Member eZ\Publish\SPI\Persistence\Content\Type\Handler::addFieldDefinition ($contentTypeId, $status, FieldDefinition $fieldDefinition)
  Add FieldDefinition\CreateStruct?
Member eZ\Publish\SPI\Persistence\Content\Type\Handler::updateFieldDefinition ($contentTypeId, $status, FieldDefinition $fieldDefinition)
  Add FieldDefinition\UpdateStruct?
Member eZ\Publish\SPI\Persistence\User\Handler::addPolicy ($roleId, Policy $policy)
  Throw on invalid Role Id?
Member eZ\Publish\SPI\Persistence\User\Handler::addPolicyByRoleDraft ($roleId, Policy $policy)
  Throw on invalid Role Id?
Member eZ\Publish\SPI\Persistence\User\Handler::delete ($userId)
  Throw on missing user?
Member eZ\Publish\SPI\Persistence\User\Handler::deletePolicy ($policyId, $roleId)
  Throw exception on missing role / policy?
Class eZ\Publish\SPI\Repository\Values\MultiLanguageDescription
  Move to API, Repository is not a SPI concept.
Class eZ\Publish\SPI\Repository\Values\MultiLanguageName
  Move to API, Repository is not a SPI concept.
Member EzSystems\PlatformInstallerBundle\Command\InstallPlatformCommand::indexData (OutputInterface $output, $siteaccess=null)
  This should not be needed once/if the Installer starts using API in the future. So temporary measure until it is not raw SQL based for the data itself (as opposed to the schema). This is done after cache clearing to make sure no cached data from before sql import is used.

Copyright © 1998 – 2026 7x. All rights reserved. Licensed under the GNU GPLv2+.