PHP Класс Devise\Pages\Interpreter\DvsPageData

Показать файл Открыть проект

Защищенные свойства (Protected)

Свойство Тип Описание
$CollectionsRepository CollectionRepository The collections repository gets a list of collections for us
$PagesRepository Devise\Pages\PagesRepository The pages repository fetches additional information we need for our page
$TagManager TagManager Tag manager that creates and finds fields for our tags
$cids array Keeps track of some cids for variable tags
$csrfToken string Csrf token
$database array Keeps track of a database that we can build in javascript where all the cool data is stored
$initialized boolean We don't need to initialize our dvspagedata object more than once
$languageId integer Language id
$pageId integer Page id
$pageVersionId integer Page version id
$tags array Keep track of all the page tags

Открытые методы

Метод Описание
__construct ( TagManager $TagManager, CollectionsRepository $CollectionsRepository, PagesRepository $PagesRepository ) Create a new page data object
cid ( string $id, string $bindingType, string $collection, string $key, string $type, string $humanName, $collectionName, string $group, string $category, string $alternateTarget, mixed $defaults ) : string Returns the cid for this $id and also sets default values for this cid. At this point, the $default values should be set correctly, if not then we need to just throw the exception because something is not right. We also allow for variables in this place, so we need to update all the values for this $id. So if we have a human name with like $someVar in it, then this is the place where we actually update it.
database ( [type] $key, [type] $value ) : [type] Set the values up in the database
initialize ( integer $pageId, integer $pageVersionId, integer $languageId, $csrfToken ) : void The dvs page data cannot create fields and collection objects without knowing what page we are on. This is injected in on every view that uses dvsPageData.
register ( string $id, string $bindingType, string $collection, string $key, string $type, string $humanName, $collectionName, string $group, string $category, string $alternateTarget ) : void Register a binding, collection or model data-devise tag using this method.
setDefaults ( string $id, mixed $defaults ) Try to set defaults for an id
toJSON ( ) : string Creates a json object that we use for editing a devise page

Защищенные методы

Метод Описание
addCollectionNodesIntoGroupsOrNodes ( array $collections, array $groups, array $nodes ) Adds collections into the existing nodes or groups array
addGroupNodes ( array $groups, array $nodes ) Adds the groups into the nodes. Groups are organized into categories. Some groups only have 1 category but it is possible to have many categories inside of a single group
addNodesIntoGroupsOrNodes ( array $nodes, array $groups, $allNodes ) : array Adds nodes into the existing nodes or groups array
appendToArray ( array $container, string $key, mixed $item ) : array Helper method so that I don't have to put this logic inside of another foreach loop
assertNoDuplicateTags ( string $id ) : void Makes sure we don't get duplicate tags registered
assertTagExists ( string $id ) : void Assert that the id exists.
buildCollectionNode ( string $collectionName, array $collectionFields ) : array Collection nodes are grouped together
buildGroupNode ( string $cid, $name, $categories ) : array Group nodes are just a bunch of node items
buildNode ( array $node ) : array Build a node
buildNodes ( $collections, $fields, $models, $attributes, $creators ) : array Build the node structure for this json. This takes into account groups too. Nodes that are grouped together we will take that into account too.
extractModelFromKey ( $chain ) : string Analyze this key variable and determine if it is a attribute or model type
filterTags ( string $bindingType ) : array Filter the tags by the binding type
jsonEncode ( mixed $object ) : string Encodes the object passed in as a json string and also escapes all ' characters
resolveTag ( string $id, string $bindingType, string $collection, string $key, string $type, string $humanName, $collectionName, string $group, string $category, string $alternateTarget, mixed $defaults ) : string Resolve the tag
resolveVariableTag ( string $id, string $bindingType, string $collection, string $key, string $type, string $humanName, $collectionName, string $group, string $category, string $alternateTarget, mixed $defaults ) : string Resolve the variable tag

Описание методов

__construct() публичный Метод

Create a new page data object
public __construct ( TagManager $TagManager, CollectionsRepository $CollectionsRepository, PagesRepository $PagesRepository )
$TagManager TagManager
$CollectionsRepository Devise\Pages\Collections\CollectionsRepository
$PagesRepository Devise\Pages\PagesRepository

addCollectionNodesIntoGroupsOrNodes() защищенный Метод

Adds collections into the existing nodes or groups array
protected addCollectionNodesIntoGroupsOrNodes ( array $collections, array $groups, array $nodes )
$collections array
$groups array
$nodes array

addGroupNodes() защищенный Метод

Adds the groups into the nodes. Groups are organized into categories. Some groups only have 1 category but it is possible to have many categories inside of a single group
protected addGroupNodes ( array $groups, array $nodes )
$groups array
$nodes array

addNodesIntoGroupsOrNodes() защищенный Метод

Adds nodes into the existing nodes or groups array
protected addNodesIntoGroupsOrNodes ( array $nodes, array $groups, $allNodes ) : array
$nodes array
$groups array
Результат array

appendToArray() защищенный Метод

Helper method so that I don't have to put this logic inside of another foreach loop
protected appendToArray ( array $container, string $key, mixed $item ) : array
$container array
$key string
$item mixed
Результат array

assertNoDuplicateTags() защищенный Метод

Makes sure we don't get duplicate tags registered
protected assertNoDuplicateTags ( string $id ) : void
$id string
Результат void

assertTagExists() защищенный Метод

.. this means we should have registered the id already
protected assertTagExists ( string $id ) : void
$id string
Результат void

buildCollectionNode() защищенный Метод

Collection nodes are grouped together
protected buildCollectionNode ( string $collectionName, array $collectionFields ) : array
$collectionName string
$collectionFields array
Результат array

buildGroupNode() защищенный Метод

Group nodes are just a bunch of node items
protected buildGroupNode ( string $cid, $name, $categories ) : array
$cid string
Результат array

buildNode() защищенный Метод

Build a node
protected buildNode ( array $node ) : array
$node array
Результат array

buildNodes() защищенный Метод

.. Loop through all collections, fields, models, attributes and creators and create the node structure for them.
protected buildNodes ( $collections, $fields, $models, $attributes, $creators ) : array
Результат array

cid() публичный Метод

.. if this field's binding type is a creator, field, or colelction then we only use 1 cid if this type is a model or attribute then we need to register a new cid for this thing... because we are dealing with new instances everytime we get called (think about iterating over a collection of models inside of a foreach loop), each one has their own key (model's id)
public cid ( string $id, string $bindingType, string $collection, string $key, string $type, string $humanName, $collectionName, string $group, string $category, string $alternateTarget, mixed $defaults ) : string
$id string
$bindingType string
$collection string
$key string
$type string
$humanName string
$group string
$category string
$alternateTarget string
$defaults mixed
Результат string

database() публичный Метод

Set the values up in the database
public database ( [type] $key, [type] $value ) : [type]
$key [type]
$value [type]
Результат [type]

extractModelFromKey() защищенный Метод

Analyze this key variable and determine if it is a attribute or model type
protected extractModelFromKey ( $chain ) : string
Результат string

filterTags() защищенный Метод

Filter the tags by the binding type
protected filterTags ( string $bindingType ) : array
$bindingType string
Результат array

initialize() публичный Метод

..
public initialize ( integer $pageId, integer $pageVersionId, integer $languageId, $csrfToken ) : void
$pageId integer
$pageVersionId integer
$languageId integer
Результат void

jsonEncode() защищенный Метод

Encodes the object passed in as a json string and also escapes all ' characters
protected jsonEncode ( mixed $object ) : string
$object mixed
Результат string

register() публичный Метод

Register a binding, collection or model data-devise tag using this method.
public register ( string $id, string $bindingType, string $collection, string $key, string $type, string $humanName, $collectionName, string $group, string $category, string $alternateTarget ) : void
$id string
$bindingType string
$collection string
$key string
$type string
$humanName string
$group string
$category string
$alternateTarget string
Результат void

resolveTag() защищенный Метод

Resolve the tag
protected resolveTag ( string $id, string $bindingType, string $collection, string $key, string $type, string $humanName, $collectionName, string $group, string $category, string $alternateTarget, mixed $defaults ) : string
$id string
$bindingType string
$collection string
$key string
$type string
$humanName string
$group string
$category string
$alternateTarget string
$defaults mixed
Результат string

resolveVariableTag() защищенный Метод

Resolve the variable tag
protected resolveVariableTag ( string $id, string $bindingType, string $collection, string $key, string $type, string $humanName, $collectionName, string $group, string $category, string $alternateTarget, mixed $defaults ) : string
$id string
$bindingType string
$collection string
$key string
$type string
$humanName string
$group string
$category string
$alternateTarget string
$defaults mixed
Результат string

setDefaults() публичный Метод

Try to set defaults for an id
public setDefaults ( string $id, mixed $defaults )
$id string
$defaults mixed

toJSON() публичный Метод

Creates a json object that we use for editing a devise page
public toJSON ( ) : string
Результат string

Описание свойств

$CollectionsRepository защищенное свойство

The collections repository gets a list of collections for us
protected CollectionRepository $CollectionsRepository
Результат CollectionRepository

$PagesRepository защищенное свойство

The pages repository fetches additional information we need for our page
protected PagesRepository,Devise\Pages $PagesRepository
Результат Devise\Pages\PagesRepository

$TagManager защищенное свойство

Tag manager that creates and finds fields for our tags
protected TagManager,Devise\Pages\Interpreter $TagManager
Результат TagManager

$cids защищенное свойство

Keeps track of some cids for variable tags
protected array $cids
Результат array

$csrfToken защищенное свойство

Csrf token
protected string $csrfToken
Результат string

$database защищенное свойство

Keeps track of a database that we can build in javascript where all the cool data is stored
protected array $database
Результат array

$initialized защищенное свойство

We don't need to initialize our dvspagedata object more than once
protected bool $initialized
Результат boolean

$languageId защищенное свойство

Language id
protected int $languageId
Результат integer

$pageId защищенное свойство

Page id
protected int $pageId
Результат integer

$pageVersionId защищенное свойство

Page version id
protected int $pageVersionId
Результат integer

$tags защищенное свойство

Keep track of all the page tags
protected array $tags
Результат array