PHP Class Xpressengine\Plugin\PluginCollection

Author: XE Developers ([email protected])
Inheritance: implements Countabl\Countable, implements Illuminate\Contracts\Support\Arrayable, implements IteratorAggregat\IteratorAggregate, implements Illuminate\Contracts\Support\Jsonable
Show file Open project: xpressengine/xpressengine Class Usage Examples

Protected Properties

Property Type Description
$cache Xpressengine\Plugin\Cache\PluginCache
$entityClass String
$plugins PluginEntity[]
$scanner PluginScanner
$statusList array

Public Methods

Method Description
__construct ( PluginScanner $pluginScanner, Xpressengine\Plugin\Cache\PluginCache $pluginCache, string $entityClass, array $pluginStatus = [] ) Constructor
count ( ) : integer 설치된 플러그인의 갯수를 반환한다.
fetch ( array $searchField ) : PluginEntity[] 주어진 검색 정보 사용하여 플러그인을 조회한다.
fetchByComponent ( string $component, PluginEntity[] $plugins = null ) : PluginEntity[] 주어진 컴포넌트 타입을 소유한 플러그인 목록을 조회한다.
fetchByKeyword ( string $searchWord, PluginEntity[] $plugins = null ) : PluginEntity[] 키워드로 플러그인 목록을 조회한다. 주어진 키워드를 id, description, keywords, author정보에서 조회한다.
fetchByStatus ( string $status, PluginEntity[] $plugins = null ) : PluginEntity[] 플러그인 상태로 플러그인 목록을 조회한다.
get ( string $id ) : PluginEntity 주어진 id의 플러그인을 반환한다.
getIterator ( ) : Traversable Retrieve an external iterator
getList ( array $ids = null ) : PluginEntity[] 주어진 id에 해당하는 플러그인 목록을 조회한다.
has ( string $id ) : boolean 주어진 아이디를 가진 플러그인이 있는지 조사한다.
initialize ( boolean $refresh = false ) : void 설치된 플러그인들의 정보를 초기화 한다. 만약 cache에 저장된 정보가 있을 경우 cache로부터 저장된 정보를 가져오며, 캐싱된 정보가 없거나 refresh가 설정돼 있을 경우 다시 플러그인 디렉토리를 스캔하여 정보를 생성한다.
toArray ( ) : array Get the instance as an array.
toJson ( integer $options ) : string Convert the object to its JSON representation.

Protected Methods

Method Description
refresh ( ) : void 플러그인 디렉토리를 스캔하여 플러그인 정보를 새로 갱신한다.
resolvePlugins ( array $pluginData ) : PluginEntity[] 주어진 플러그인 정보를 사용하여 PluginEntity 목록을 생성후 반환한다.

Method Details

__construct() public method

Constructor
public __construct ( PluginScanner $pluginScanner, Xpressengine\Plugin\Cache\PluginCache $pluginCache, string $entityClass, array $pluginStatus = [] )
$pluginScanner PluginScanner Plugin Scanner
$pluginCache Xpressengine\Plugin\Cache\PluginCache Plugin Cache
$entityClass string PluginEntity class name
$pluginStatus array plugin status info list

count() public method

설치된 플러그인의 갯수를 반환한다.
public count ( ) : integer
return integer

fetch() public method

status, keyword, 소유한 component를 검색 필드로 사용할 수 있다.
public fetch ( array $searchField ) : PluginEntity[]
$searchField array 검색 정보
return PluginEntity[]

fetchByComponent() public method

만약 두번째 파라메터에 플러그인 목록이 주어진다면, 주어진 플러그인 목록이 조회대상이 된다.
public fetchByComponent ( string $component, PluginEntity[] $plugins = null ) : PluginEntity[]
$component string 조회할 컴포넌트 타입
$plugins PluginEntity[] 조회대상 플러그인 목록
return PluginEntity[]

fetchByKeyword() public method

만약 두번째 파라메터에 플러그인 목록이 주어진다면, 주어진 플러그인 목록이 조회대상이 된다.
public fetchByKeyword ( string $searchWord, PluginEntity[] $plugins = null ) : PluginEntity[]
$searchWord string 검색할 키워드
$plugins PluginEntity[] 조회대상 플러그인 목록
return PluginEntity[]

fetchByStatus() public method

만약 두번째 파라메터에 플러그인 목록이 주어진다면, 주어진 플러그인 목록이 조회대상이 된다.
public fetchByStatus ( string $status, PluginEntity[] $plugins = null ) : PluginEntity[]
$status string 플러그인 상태
$plugins PluginEntity[] 조회대상 플러그인 목록
return PluginEntity[]

get() public method

주어진 id의 플러그인을 반환한다.
public get ( string $id ) : PluginEntity
$id string 플러그인 아이디
return PluginEntity

getIterator() public method

Retrieve an external iterator
public getIterator ( ) : Traversable
return Traversable An instance of an object implementing Iterator Traversable

getList() public method

주어진 id에 해당하는 플러그인 목록을 조회한다.
public getList ( array $ids = null ) : PluginEntity[]
$ids array 플러그인 아이디 목록
return PluginEntity[]

has() public method

주어진 아이디를 가진 플러그인이 있는지 조사한다.
public has ( string $id ) : boolean
$id string plugin id
return boolean

initialize() public method

설치된 플러그인들의 정보를 초기화 한다. 만약 cache에 저장된 정보가 있을 경우 cache로부터 저장된 정보를 가져오며, 캐싱된 정보가 없거나 refresh가 설정돼 있을 경우 다시 플러그인 디렉토리를 스캔하여 정보를 생성한다.
public initialize ( boolean $refresh = false ) : void
$refresh boolean true일 경우, 캐싱된 데이터를 삭제하고 플러그인 정보를 새로 생성한다.
return void

refresh() protected method

플러그인 디렉토리를 스캔하여 플러그인 정보를 새로 갱신한다.
protected refresh ( ) : void
return void

resolvePlugins() protected method

주어진 플러그인 정보를 사용하여 PluginEntity 목록을 생성후 반환한다.
protected resolvePlugins ( array $pluginData ) : PluginEntity[]
$pluginData array 플러그인 정보
return PluginEntity[]

toArray() public method

Get the instance as an array.
public toArray ( ) : array
return array

toJson() public method

Convert the object to its JSON representation.
public toJson ( integer $options ) : string
$options integer json_encode option
return string

Property Details

$cache protected property

protected PluginCache,Xpressengine\Plugin\Cache $cache
return Xpressengine\Plugin\Cache\PluginCache

$entityClass protected property

protected String $entityClass
return String

$plugins protected property

protected PluginEntity[],Xpressengine\Plugin $plugins
return PluginEntity[]

$scanner protected property

protected PluginScanner,Xpressengine\Plugin $scanner
return PluginScanner

$statusList protected property

protected array $statusList
return array