class AbstractExporter (View source)

Properties

private Writer $writer The CSV Writer instance.
private CategoryInterface $category The attribute category.
private array|null $attributeKeysAndControllers The memoized attribute keys and controllers for the attribute category.

Methods

__construct(Writer $writer, CategoryInterface $category)

Initialize the instance.

$this
insertHeaders()

Insert the header row.

$this
insertObject(ObjectInterface $object)

Insert a row for a specific object instance.

$this
insertList(ItemList $list)

Insert one row for every object in a database list.

string[]|Generator
getStaticHeaders()

Get the list of fixed headers.

string[]|Generator
getStaticFieldValues(ObjectInterface $object)

Get the list of fixed values of an object instance.

getObjectFromListResult(ItemList $list, mixed $listResult)

Override this method if the item returned by an ItemList is not already an ObjectInterface instance.

$this
setWriter(Writer $writer)

Set the CSV Writer instance.

Writer
getWriter()

Get the CSV Writer instance.

$this
setCategory(CategoryInterface $category)

Set the attribute category to be used to export the data.

getCategory()

Get the attribute category to be used to export the data.

string[]|Generator
projectHeaders()

A generator that returns all headers.

string[]|Generator
projectObject(ObjectInterface $object)

A generator that returns all fields of an object instance.

Generator
projectList(ItemList $list)

A generator that returns all the rows for an object list.

array
getAttributeKeysAndControllers()

Get a list the attribute keys and controllers for the current category.

Details

protected __construct(Writer $writer, CategoryInterface $category)

Initialize the instance.

Parameters

Writer $writer
CategoryInterface $category

$this insertHeaders()

Insert the header row.

Return Value

$this

$this insertObject(ObjectInterface $object)

Insert a row for a specific object instance.

Parameters

ObjectInterface $object

Return Value

$this

$this insertList(ItemList $list)

Insert one row for every object in a database list.

Parameters

ItemList $list

Return Value

$this

abstract protected string[]|Generator getStaticHeaders()

Get the list of fixed headers.

Return Value

string[]|Generator

abstract protected string[]|Generator getStaticFieldValues(ObjectInterface $object)

Get the list of fixed values of an object instance.

Parameters

ObjectInterface $object

Return Value

string[]|Generator

protected ObjectInterface getObjectFromListResult(ItemList $list, mixed $listResult)

Override this method if the item returned by an ItemList is not already an ObjectInterface instance.

Parameters

ItemList $list The list that returned the result
mixed $listResult The value returned from the ItemList

Return Value

ObjectInterface

protected $this setWriter(Writer $writer)

Set the CSV Writer instance.

Parameters

Writer $writer

Return Value

$this

protected Writer getWriter()

Get the CSV Writer instance.

Return Value

Writer

protected $this setCategory(CategoryInterface $category)

Set the attribute category to be used to export the data.

Parameters

CategoryInterface $category

Return Value

$this

protected CategoryInterface getCategory()

Get the attribute category to be used to export the data.

Return Value

CategoryInterface

protected string[]|Generator projectHeaders()

A generator that returns all headers.

Return Value

string[]|Generator

protected string[]|Generator projectObject(ObjectInterface $object)

A generator that returns all fields of an object instance.

Parameters

ObjectInterface $object

Return Value

string[]|Generator

protected Generator projectList(ItemList $list)

A generator that returns all the rows for an object list.

Parameters

ItemList $list

Return Value

Generator

protected array getAttributeKeysAndControllers()

Get a list the attribute keys and controllers for the current category.

Return Value

array