PHP 클래스 Newscoop\Service\Resource\ResourceRepository

The resources can be services, configurations ...
파일 보기 프로젝트 열기: sourcefabric/newscoop 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
$repositoryProperties array
$serviceCache array

공개 메소드들

메소드 설명
getInstance ( ) : Newscoop\Service\Resource\ResourceRespository Provides the singletone of the resource repository.
getRepositoryProperties ( ) : array Provides the properties of the repository.
getResourceFor ( ResourceId $resourceId ) : mixed Provides the resource for the provided resource id.

보호된 메소드들

메소드 설명
cacheService ( string $key, mixed $service ) : mixed Provides to the cache the serice instance.
configureService ( mixed $service ) : mixed Configures the provided service instance with all configurations available in the properties of the repository.
extractSimpleClassName ( string $className ) : string Provides the simple class name based on the provided full class name (namespace + simple class name).
findInServiceCache ( string $key ) Find the service instance cached under the specified key.
loadProperties ( $path ) : array Load the property file at the specified path.
processConfigurationsPath ( string $className ) : string Provides the configuration path, where all property files are located.

비공개 메소드들

메소드 설명
__construct ( )

메소드 상세

cacheService() 보호된 메소드

Provides to the cache the serice instance.
protected cacheService ( string $key, mixed $service ) : mixed
$key string The key to be used for caching the provided service instance, *(not null not empty).
$service mixed The service instance to cache, *(not null).
리턴 mixed The cached service instance.

configureService() 보호된 메소드

This configurations works as folows: - if in the repository properties there is a property that has the format [simple class name].[field name] it will automatically assigne the value found to the service field. - the [simple class name] represents the service implementation simple class name (ex: 'ThemeServiceLocalFileSystem') - the [field name] represents the field name inside the instance that will be assigned the value for that property. ex: ThemeServiceLocalFileSystem.path=\usr\local This will configure the field path in the service instance with the provided value.
protected configureService ( mixed $service ) : mixed
$service mixed The service to be configured, not null.
리턴 mixed The configured service instance.

extractSimpleClassName() 보호된 메소드

Provides the simple class name based on the provided full class name (namespace + simple class name).
protected extractSimpleClassName ( string $className ) : string
$className string The class name from where to extract the simple class name.
리턴 string The config path.

findInServiceCache() 보호된 메소드

Find the service instance cached under the specified key.
protected findInServiceCache ( string $key )
$key string The key to search by, *(not null not empty).

getInstance() 공개 정적인 메소드

Provides the singletone of the resource repository.
public static getInstance ( ) : Newscoop\Service\Resource\ResourceRespository
리턴 Newscoop\Service\Resource\ResourceRespository The singletone.

getRepositoryProperties() 공개 메소드

Provides the properties of the repository.
public getRepositoryProperties ( ) : array
리턴 array The array containing the properties.

getResourceFor() 공개 메소드

The resource is located by using ResourceLocator (future).
public getResourceFor ( ResourceId $resourceId ) : mixed
$resourceId ResourceId The resource id used for obtaining the assigned resource, must not be null or empty.
리턴 mixed The resource coresponding to the resource id.

loadProperties() 보호된 메소드

Load the property file at the specified path.
protected loadProperties ( $path ) : array
리턴 array The array containing the loaded properties.

processConfigurationsPath() 보호된 메소드

Provides the configuration path, where all property files are located.
protected processConfigurationsPath ( string $className ) : string
$className string The class name for which to locate the property file, this done by convention the class name can contain alaso the namespace which will be removed, the property file will be considered as the simple class name with the 'properties' extension.
리턴 string The config path based on the properties convention for the provided class name.

프로퍼티 상세

$repositoryProperties 보호되어 있는 프로퍼티

protected array $repositoryProperties
리턴 array

$serviceCache 보호되어 있는 프로퍼티

protected array $serviceCache
리턴 array