class SettingManager extends BaseManager

Setting manager assists in setting and retrieving values.

Since settings are stored with type information in a base64 encoded string you can decode them yourself via the Setting model. This just assists with that.

Methods

object
save(object $obj)

Save handler, because DRY

Paginator
getPaginator(integer $page = 1, integer $limit = 50)

Helps paginate models using the query bulder. Bit more complicated than the native array method, but works better for larger data sets

boolean
restDelete(number $id)

Delete an object with rest

restCreate(array $data)

Create a new object

restUpdate(int $id, array $data)

Update an existing object

findFirstById($params = null)

No description

findFirst($params = null)

No description

find($params = null)

No description

array
allLabels()

Return a list of all keys

mixed
set(string $k, mixed $v, boolean $abortIfExists = false)

Set setting value.

mixed
get(string $k, mixed $default = false)

Retrieve a setting value. Returns the default value if not found.

Details

in BaseManager at line line 23
object save(object $obj)

Save handler, because DRY

Parameters

object $obj Model to be saved

Return Value

object Model

Exceptions

Exception Json encoded string of validation errors

in BaseManager at line line 60
Paginator getPaginator(integer $page = 1, integer $limit = 50)

Helps paginate models using the query bulder. Bit more complicated than the native array method, but works better for larger data sets

Because it's based on Phalcon's QueryBuilder, it supports a fluent filtering interface:

    $manager = $this->foo_manager;
    $items = $manager->getPaginator(1, 20)
        ->orderBy('created_at desc')
        ->where('name = :name:', array('name' => $name))
        ->andWhere('type = :type:', array('type' => $type))
        ->paginate();

    echo json_encode($items);

Parameters

integer $page Current page
integer $limit Per page limit

Return Value

Paginator

in BaseManager at line line 80
boolean restDelete(number $id)

Delete an object with rest

Parameters

number $id

Return Value

boolean

Exceptions

Exception

in BaseManager at line line 103
restCreate(array $data)

Create a new object

Parameters

array $data

in BaseManager at line line 117
restUpdate(int $id, array $data)

Update an existing object

Parameters

int $id
array $data

at line line 18
findFirstById($params = null)

Parameters

$params

at line line 23
findFirst($params = null)

Parameters

$params

at line line 28
find($params = null)

Parameters

$params

at line line 37
array allLabels()

Return a list of all keys

Return Value

array of strings

at line line 64
mixed set(string $k, mixed $v, boolean $abortIfExists = false)

Set setting value.

$manager->set('some-value', ['foo' => 'bar']);

Parameters

string $k Setting label
mixed $v Setting value
boolean $abortIfExists If TRUE, will not reset an existing value

Return Value

mixed The original value

Exceptions

Exception if unable to encode value

at line line 109
mixed get(string $k, mixed $default = false)

Retrieve a setting value. Returns the default value if not found.

Keep in mind that the settings manager is type aware, so values will be returned as a scalar, array or object. For example: $manager->set('some-key', true); $manager->get('some-key'); // Will be scalar TRUE

Similarly, if you pass a string number, it will be converted to a scalar float or int: $manager->set('some-key', '3.14159'); echo $manager->get('some-key') === '3.14159' ? 'Equal' : 'Not equal'; // Not equal echo $manager->get('some-key') === 3.14159 ? 'Equal' : 'Not equal'; // Equal

Parameters

string $k Setting key
mixed $default Default value to return

Return Value

mixed

Exceptions

Exception if unable to decode value