Skip to content

Latest commit

 

History

History
157 lines (119 loc) · 3.63 KB

ListSummary.md

File metadata and controls

157 lines (119 loc) · 3.63 KB

List Summary

  • implements ListTypeInterface

Class ItList extends It

Class AsitList extends Asit

Class AsittagList extends Asittag implements TagInterface, PkeyTagInterface

Class AsmitList extends Asmit

Class AsmittagList extends Asmittag implements TagInterface, PkeyTagInterface

  • assert collection elements of expected valueType
    • one of ListTypeInterface constants or FQCN (for class or interface)

ItList example:

use Kigkonsult\Asit\ItList;
class MyClass extend ItList {}
$myClass = MyClass::factory( ElementValueClass::class );
...
$myClass->append( $element );
...

Shared methods

*List::__construct( [ collection, [ valueType ]] )

  • collection array / Traversable
  • valueType string required
  • Throws CollectionException, TypeException

*List::__construct( valueType )

  • valueType string required
  • Throws CollectionException, TypeException

*List::factory( [ collection, [ valueType ]] )

  • collection array / Traversable
  • valueType string required
  • Return static
  • Throws CollectionException, TypeException
  • Static

*List::factory( valueType )

  • valueType string required
  • Return static
  • Throws CollectionException, TypeException
  • Static

*List::singleton( [ collection, [ valueType ]] )

  • collection array / Traversable
  • valueType string required
  • Return static
  • Throws CollectionException, TypeException
  • Static

*List::getInstance( [ collection, [ valueType ]] )

  • List::singleton() alias

*List::singleton( valueType )

  • valueType string
  • Return static
  • Throws CollectionException, TypeException
  • Static

*List::getInstance( valueType )

  • List::singleton() alias

Inherited methods

Inherit methods from It - Asit - Asmit - Asittag - Asmittag

A strong recommendation is to override the It::current(), It::get() and It::getIterator() methods to specify the return types.

    /**
     * @override
     * @return MyClass
     */
    #[\ReturnTypeWillChange]
    public function current() : MyClass
    {
        return parent::current();
    }

    /**
     * @override
     * @param callable|int|null $sortParam
     * @return MyClass[]
     */
    #[\ReturnTypeWillChange]
    public function get( null|callable|int $sortParam = null ) : array
    {
        return parent::get( $sortParam );
    }

    /**
     * @override
     * @return MyClass[]|Traversable
     */
    #[\ReturnTypeWillChange]
    public function getIterator() : array|Traversable
    {
        return parent::getIterator();
    }

Element value type methods

*List::assertElementType( element )

  • Assert collection element value type
  • element mixed
  • Throws TypeException

*List::assertValueType( valueType )

  • Assert value type
    • one of ListTypeInterface constants or FQCN (for class or interface)
  • valueType string
  • Throws TypeException
  • Static

*List::getValueType()

  • Return string

*List::isValueTypeSet()

  • Return bool

*List::setValueType( valueType )

  • valueType string
    • one of ListTypeInterface constants or FQCN (for class or interface)
  • Return static
  • Throws TypeException

Go to README - It summary - Asit/Asmit summary - Asittag/Asmittag summary