Download the PHP package asgard/behaviors without Composer
On this page you can find all versions of the php package asgard/behaviors. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package behaviors
Behaviors
The Behaviors package provides some behaviors ready to use out-of-the-box for your entities. This page defines what the usage, the properties, the hooks and the methods brought by the behavior.
- Installation
- MetasBehavior
- PublishBehavior
- SlugifyBehavior
- SortableBehavior
- TimestampsBehavior
Installation
If you are working on an Asgard project you don't need to install this library as it is already part of the standard libraries.
composer require asgard/behaviors 0.*
MetasBehavior
Usage
In your entity definition:
$definition->behaviors = [
new \Asgard\Behaviors\MetasBehavior
];
Properties
meta_title:
type: text
required: false
meta_description:
type: text
required: false
meta_keywords:
type: text
required: false
Methods
$entity->showMetas();
outputs the entity metas in the html
PublishBehavior
Usage
In your entity definition:
$definition->behaviors = [
new \Asgard\Behaviors\PublishBehavior
];
Properties
published:
type: boolean
default: true
Methods
Entity::published();
returns an orm with a published entities scope.
Entity::loadPublished($id);
returns an entity from a given id only if the entity is published.
SlugifyBehavior
Usage
In your entity definition:
$definition->behaviors = [
new \Asgard\Behaviors\SlugifyBehavior
];
This will use the first entity property as a slug.
To use a speficic property as slug:
$definition->behaviors = [
new \Asgard\Behaviors\SlugifyBehavior('title')
];
Properties
slug:
type: text
required: false
Methods
$entity->slug();
returns the entity slug
SortableBehavior
Usage
In your entity definition:
$definition->behaviors = [
new \Asgard\Behaviors\SortableBehavior
];
Properties
position:
type: integer
required: false
default: 0
editable: false
Hooks
If the position is not set, when saving the entity, the position will be incremented from the last entity.
Methods
$entity->moveAfter($anotherEntityId);
moves the entity after another entity with a given id
$entity->previous();
returns the entity before the current one.
$entity->next();
returns the entity after the current one.
TimestampsBehavior
Usage
In your entity definition:
$definition->behaviors = [
new \Asgard\Behaviors\TimestampsBehavior
];
Properties
created_at:
type: datetime
required: false
default: function() { return \Asgard\Common\Datetime::now(); }
editable: false
updated_at:
type: datetime
required: false
default: function() { return \Asgard\Common\Datetime::now(); }
editable: false
Hooks
Upon saving an entity, the updated_at property will be updated with the current date and time.
Contributing
Please submit all issues and pull requests to the asgardphp/asgard repository.
License
The Asgard framework is open-sourced software licensed under the MIT license