Class Phalcon\Mvc\Collection\Document

最后更新于:2018-09-01 07:08:51

implements Phalcon\Mvc\EntityInterface, ArrayAccess

在GitHub查看文件源码

This component allows Phalcon\Mvc\Collection to return rows without an associated entity.
This objects implements the ArrayAccess interface to allow access the object as object->x or array[x].

Methods

public boolean offsetExists (int $index)

Checks whether an offset exists in the document

public offsetGet (mixed $index)

Returns the value of a field using the ArrayAccess interfase

public offsetSet (mixed $index, mixed $value)

Change a value using the ArrayAccess interface

public offsetUnset (string $offset)

Rows cannot be changed. It has only been implemented to meet the definition of the ArrayAccess interface

public mixed readAttribute (string $attribute)

Reads an attribute value by its name

<?php

 echo $robot->readAttribute("name");

public writeAttribute (string $attribute, mixed $value)

Writes an attribute value by its name

<?php

 $robot->writeAttribute("name", "Rosey");

public array toArray ()

Returns the instance as an array representation

Class Phalcon\Mvc\Collection\Behavior\Timestampable

最后更新于:2018-09-01 07:08:51

extends abstract class Phalcon\Mvc\Collection\Behavior

implements Phalcon\Mvc\Collection\BehaviorInterface

在GitHub查看文件源码

Allows to automatically update a model’s attribute saving the
datetime when a record is created or updated

Methods

public notify (mixed $type, Phalcon\Mvc\CollectionInterface $model)

Listens for notifications from the models manager

public __construct ([array $options]) inherited from Phalcon\Mvc\Collection\Behavior

Phalcon\Mvc\Collection\Behavior

protected mustTakeAction (mixed $eventName) inherited from Phalcon\Mvc\Collection\Behavior

Checks whether the behavior must take action on certain event

protected array getOptions ([string $eventName]) inherited from Phalcon\Mvc\Collection\Behavior

Returns the behavior options related to an event

public missingMethod (Phalcon\Mvc\CollectionInterface $model, mixed $method, [mixed $arguments]) inherited from Phalcon\Mvc\Collection\Behavior

Acts as fallbacks when a missing method is called on the collection

Class Phalcon\Mvc\Collection\Behavior\SoftDelete

最后更新于:2018-09-01 07:08:51

extends abstract class Phalcon\Mvc\Collection\Behavior

implements Phalcon\Mvc\Collection\BehaviorInterface

在GitHub查看文件源码

Instead of permanently delete a record it marks the record as
deleted changing the value of a flag column

Methods

public notify (mixed $type, Phalcon\Mvc\CollectionInterface $model)

Listens for notifications from the models manager

public __construct ([array $options]) inherited from Phalcon\Mvc\Collection\Behavior

Phalcon\Mvc\Collection\Behavior

protected mustTakeAction (mixed $eventName) inherited from Phalcon\Mvc\Collection\Behavior

Checks whether the behavior must take action on certain event

protected array getOptions ([string $eventName]) inherited from Phalcon\Mvc\Collection\Behavior

Returns the behavior options related to an event

public missingMethod (Phalcon\Mvc\CollectionInterface $model, mixed $method, [mixed $arguments]) inherited from Phalcon\Mvc\Collection\Behavior

Acts as fallbacks when a missing method is called on the collection

Abstract class Phalcon\Mvc\Collection\Behavior

最后更新于:2018-09-01 07:08:51

implements Phalcon\Mvc\Collection\BehaviorInterface

在GitHub查看文件源码

This is an optional base class for ORM behaviors

Methods

public __construct ([array $options])

protected mustTakeAction (mixed $eventName)

Checks whether the behavior must take action on certain event

protected array getOptions ([string $eventName])

Returns the behavior options related to an event

public notify (mixed $type, Phalcon\Mvc\CollectionInterface $model)

This method receives the notifications from the EventsManager

public missingMethod (Phalcon\Mvc\CollectionInterface $model, mixed $method, [mixed $arguments])

Acts as fallbacks when a missing method is called on the collection

Abstract class Phalcon\Mvc\Collection

最后更新于:2018-09-01 07:08:51

implements Phalcon\Mvc\EntityInterface, Phalcon\Mvc\CollectionInterface, Phalcon\Di\InjectionAwareInterface, Serializable

在GitHub查看文件源码

This component implements a high level abstraction for NoSQL databases which
works with documents

Constants

integer OP_NONE

integer OP_CREATE

integer OP_UPDATE

integer OP_DELETE

integer DIRTY_STATE_PERSISTENT

integer DIRTY_STATE_TRANSIENT

integer DIRTY_STATE_DETACHED

Methods

final public __construct ([Phalcon\DiInterface $dependencyInjector], [Phalcon\Mvc\Collection\ManagerInterface $modelsManager])

Phalcon\Mvc\Collection constructor

public setId (mixed $id)

Sets a value for the _id property, creates a MongoId object if needed

public MongoId getId ()

Returns the value of the _id property

public setDI (Phalcon\DiInterface $dependencyInjector)

Sets the dependency injection container

public getDI ()

Returns the dependency injection container

protected setEventsManager (Phalcon\Mvc\Collection\ManagerInterface $eventsManager)

Sets a custom events manager

protected getEventsManager ()

Returns the custom events manager

public getCollectionManager ()

Returns the models manager related to the entity instance

public getReservedAttributes ()

Returns an array with reserved properties that cannot be part of the insert/update

protected useImplicitObjectIds (mixed $useImplicitObjectIds)

Sets if a model must use implicit objects ids

protected setSource (mixed $source)

Sets collection name which model should be mapped

public getSource ()

Returns collection name mapped in the model

public setConnectionService (mixed $connectionService)

Sets the DependencyInjection connection service name

public getConnectionService ()

Returns DependencyInjection connection service

public MongoDb getConnection ()

Retrieves a database connection

public mixed readAttribute (string $attribute)

Reads an attribute value by its name

<?php

echo $robot->readAttribute("name");

public writeAttribute (string $attribute, mixed $value)

Writes an attribute value by its name

<?php

$robot->writeAttribute("name", "Rosey");

public static cloneResult (Phalcon\Mvc\CollectionInterface $collection, array $document)

Returns a cloned collection

protected static array _getResultset (array $params, Phalcon\Mvc\Collection $collection, MongoDb $connection, boolean $unique)

Returns a collection resultset

protected static int _getGroupResultset (array $params, Phalcon\Mvc\Collection $collection, MongoDb $connection)

Perform a count over a resultset

final protected boolean _preSave (Phalcon\DiInterface $dependencyInjector, boolean $disableEvents, boolean $exists)

Executes internal hooks before save a document

final protected _postSave (mixed $disableEvents, mixed $success, mixed $exists)

Executes internal events after save a document

protected validate (mixed $validator)

Executes validators on every validation call

<?php

use Phalcon\Mvc\Model\Validator\ExclusionIn as ExclusionIn;

class Subscriptors extends \Phalcon\Mvc\Collection
{
    public function validation()
    {
        // Old, deprecated syntax, use new one below
        $this->validate(
            new ExclusionIn(
                [
                    "field"  => "status",
                    "domain" => ["A", "I"],
                ]
            )
        );

        if ($this->validationHasFailed() == true) {
            return false;
        }
    }
}
<?php

use Phalcon\Validation\Validator\ExclusionIn as ExclusionIn;
use Phalcon\Validation;

class Subscriptors extends \Phalcon\Mvc\Collection
{
    public function validation()
    {
        $validator = new Validation();
        $validator->add("status",
            new ExclusionIn(
                [
                    "domain" => ["A", "I"]
                ]
            )
        );

        return $this->validate($validator);
    }
}

public validationHasFailed ()

Check whether validation process has generated any messages

<?php

use Phalcon\Mvc\Model\Validator\ExclusionIn as ExclusionIn;

class Subscriptors extends \Phalcon\Mvc\Collection
{
    public function validation()
    {
        $this->validate(
            new ExclusionIn(
                [
                    "field"  => "status",
                    "domain" => ["A", "I"],
                ]
            )
        );

        if ($this->validationHasFailed() == true) {
            return false;
        }
    }
}

public fireEvent (mixed $eventName)

Fires an internal event

public fireEventCancel (mixed $eventName)

Fires an internal event that cancels the operation

protected _cancelOperation (mixed $disableEvents)

Cancel the current operation

protected boolean _exists (MongoCollection $collection)

Checks if the document exists in the collection

public getMessages ()

Returns all the validation messages

<?php

$robot = new Robots();

$robot->type = "mechanical";
$robot->name = "Astro Boy";
$robot->year = 1952;

if ($robot->save() === false) {
    echo "Umh, We can't store robots right now ";

    $messages = $robot->getMessages();

    foreach ($messages as $message) {
        echo $message;
    }
} else {
    echo "Great, a new robot was saved successfully!";
}

public appendMessage (Phalcon\Mvc\Model\MessageInterface $message)

Appends a customized message on the validation process

<?php

use \Phalcon\Mvc\Model\Message as Message;

class Robots extends \Phalcon\Mvc\Model
{
    public function beforeSave()
    {
        if ($this->name === "Peter") {
            $message = new Message(
                "Sorry, but a robot cannot be named Peter"
            );

            $this->appendMessage(message);
        }
    }
}

protected prepareCU ()

Shared Code for CU Operations
Prepares Collection

public save ()

Creates/Updates a collection based on the values in the attributes

public create ()

Creates a collection based on the values in the attributes

public createIfNotExist (array $criteria)

Creates a document based on the values in the attributes, if not found by criteria
Preferred way to avoid duplication is to create index on attribute

<?php

$robot = new Robot();

$robot->name = "MyRobot";
$robot->type = "Droid";

// Create only if robot with same name and type does not exist
$robot->createIfNotExist(
    [
        "name",
        "type",
    ]
);

public update ()

Creates/Updates a collection based on the values in the attributes

public static findById (mixed $id)

Find a document by its id (_id)

<?php

// Find user by using \MongoId object
$user = Users::findById(
    new \MongoId("545eb081631d16153a293a66")
);

// Find user by using id as sting
$user = Users::findById("45cbc4a0e4123f6920000002");

// Validate input
if ($user = Users::findById($_POST["id"])) {
    // ...
}

public static findFirst ([array $parameters])

Allows to query the first record that match the specified conditions

<?php

// What's the first robot in the robots table?
$robot = Robots::findFirst();

echo "The robot name is ", $robot->name, "\n";

// What's the first mechanical robot in robots table?
$robot = Robots::findFirst(
    [
        [
            "type" => "mechanical",
        ]
    ]
);

echo "The first mechanical robot name is ", $robot->name, "\n";

// Get first virtual robot ordered by name
$robot = Robots::findFirst(
    [
        [
            "type" => "mechanical",
        ],
        "order" => [
            "name" => 1,
        ],
    ]
);

echo "The first virtual robot name is ", $robot->name, "\n";

// Get first robot by id (_id)
$robot = Robots::findFirst(
    [
        [
            "_id" => new \MongoId("45cbc4a0e4123f6920000002"),
        ]
    ]
);

echo "The robot id is ", $robot->_id, "\n";

public static find ([array $parameters])

Allows to query a set of records that match the specified conditions

<?php

// How many robots are there?
$robots = Robots::find();

echo "There are ", count($robots), "\n";

// How many mechanical robots are there?
$robots = Robots::find(
    [
        [
            "type" => "mechanical",
        ]
    ]
);

echo "There are ", count(robots), "\n";

// Get and print virtual robots ordered by name
$robots = Robots::findFirst(
    [
        [
            "type" => "virtual"
        ],
        "order" => [
            "name" => 1,
        ]
    ]
);

foreach ($robots as $robot) {
   echo $robot->name, "\n";
}

// Get first 100 virtual robots ordered by name
$robots = Robots::find(
    [
        [
            "type" => "virtual",
        ],
        "order" => [
            "name" => 1,
        ],
        "limit" => 100,
    ]
);

foreach ($robots as $robot) {
   echo $robot->name, "\n";
}

public static count ([array $parameters])

Perform a count over a collection

<?php

echo "There are ", Robots::count(), " robots";

public static aggregate ([array $parameters])

Perform an aggregation using the Mongo aggregation framework

public static summatory (mixed $field, [mixed $conditions], [mixed $finalize])

Allows to perform a summatory group for a column in the collection

public delete ()

Deletes a model instance. Returning true on success or false otherwise.

<?php

$robot = Robots::findFirst();

$robot->delete();

$robots = Robots::find();

foreach ($robots as $robot) {
    $robot->delete();
}

public setDirtyState (mixed $dirtyState)

Sets the dirty state of the object using one of the DIRTY_STATE_* constants

public getDirtyState ()

Returns one of the DIRTY_STATE_* constants telling if the document exists in the collection or not

protected addBehavior (Phalcon\Mvc\Collection\BehaviorInterface $behavior)

Sets up a behavior in a collection

public skipOperation (mixed $skip)

Skips the current operation forcing a success state

public toArray ()

Returns the instance as an array representation

<?php

print_r(
    $robot->toArray()
);

public serialize ()

Serializes the object ignoring connections or protected properties

public unserialize (mixed $data)

Unserializes the object from a serialized string

Class Phalcon\Mvc\Application\Exception

最后更新于:2018-09-01 07:08:51

extends class Phalcon\Application\Exception

implements Throwable

在GitHub查看文件源码

Methods

final private Exception __clone () inherited from Exception

Clone the exception

public __construct ([string $message], [int $code], [Exception $previous]) inherited from Exception

Exception constructor

public __wakeup () inherited from Exception

final public string getMessage () inherited from Exception

Gets the Exception message

final public int getCode () inherited from Exception

Gets the Exception code

final public string getFile () inherited from Exception

Gets the file in which the exception occurred

final public int getLine () inherited from Exception

Gets the line in which the exception occurred

final public array getTrace () inherited from Exception

Gets the stack trace

final public Exception getPrevious () inherited from Exception

Returns previous Exception

final public Exception getTraceAsString () inherited from Exception

Gets the stack trace as a string

public string __toString () inherited from Exception

String representation of the exception

Class Phalcon\Mvc\Application

最后更新于:2018-09-01 07:08:51

extends abstract class Phalcon\Application

implements Phalcon\Di\InjectionAwareInterface, Phalcon\Events\EventsAwareInterface

在GitHub查看文件源码

This component encapsulates all the complex operations behind instantiating every component
needed and integrating it with the rest to allow the MVC pattern to operate as desired.

<?php

use Phalcon\Mvc\Application;

class MyApp extends Application
{
    /**
     * Register the services here to make them general or register
     * in the ModuleDefinition to make them module-specific
     */
    protected function registerServices()
    {

    }

    /**
     * This method registers all the modules in the application
     */
    public function main()
    {
        $this->registerModules(
            [
                "frontend" => [
                    "className" => "Multiple\\Frontend\\Module",
                    "path"      => "../apps/frontend/Module.php",
                ],
                "backend" => [
                    "className" => "Multiple\\Backend\\Module",
                    "path"      => "../apps/backend/Module.php",
                ],
            ]
        );
    }
}

$application = new MyApp();

$application->main();

Methods

public useImplicitView (mixed $implicitView)

By default. The view is implicitly buffering all the output
You can full disable the view component using this method

public handle ([mixed $uri])

Handles a MVC request

public __construct ([Phalcon\DiInterface $dependencyInjector]) inherited from Phalcon\Application

Phalcon\Application

public setEventsManager (Phalcon\Events\ManagerInterface $eventsManager) inherited from Phalcon\Application

Sets the events manager

public getEventsManager () inherited from Phalcon\Application

Returns the internal event manager

public registerModules (array $modules, [mixed $merge]) inherited from Phalcon\Application

Register an array of modules present in the application

<?php

$this->registerModules(
    [
        "frontend" => [
            "className" => "Multiple\\Frontend\\Module",
            "path"      => "../apps/frontend/Module.php",
        ],
        "backend" => [
            "className" => "Multiple\\Backend\\Module",
            "path"      => "../apps/backend/Module.php",
        ],
    ]
);

public getModules () inherited from Phalcon\Application

Return the modules registered in the application

public getModule (mixed $name) inherited from Phalcon\Application

Gets the module definition registered in the application via module name

public setDefaultModule (mixed $defaultModule) inherited from Phalcon\Application

Sets the module name to be used if the router doesn’t return a valid module

public getDefaultModule () inherited from Phalcon\Application

Returns the default module name

public setDI (Phalcon\DiInterface $dependencyInjector) inherited from Phalcon\Di\Injectable

Sets the dependency injector

public getDI () inherited from Phalcon\Di\Injectable

Returns the internal dependency injector

public __get (mixed $propertyName) inherited from Phalcon\Di\Injectable

Magic method __get

Class Phalcon\Logger\Multiple

最后更新于:2018-09-01 07:08:51

在GitHub查看文件源码

Handles multiples logger handlers

Methods

public getLoggers ()

public getFormatter ()

public getLogLevel ()

public push (Phalcon\Logger\AdapterInterface $logger)

Pushes a logger to the logger tail

public setFormatter (Phalcon\Logger\FormatterInterface $formatter)

Sets a global formatter

public setLogLevel (mixed $level)

Sets a global level

public log (mixed $type, [mixed $message], [array $context])

Sends a message to each registered logger

public critical (mixed $message, [array $context])

Sends/Writes an critical message to the log

public emergency (mixed $message, [array $context])

Sends/Writes an emergency message to the log

public debug (mixed $message, [array $context])

Sends/Writes a debug message to the log

public error (mixed $message, [array $context])

Sends/Writes an error message to the log

public info (mixed $message, [array $context])

Sends/Writes an info message to the log

public notice (mixed $message, [array $context])

Sends/Writes a notice message to the log

public warning (mixed $message, [array $context])

Sends/Writes a warning message to the log

public alert (mixed $message, [array $context])

Sends/Writes an alert message to the log

Class Phalcon\Logger\Item

最后更新于:2018-09-01 07:08:51

在GitHub查看文件源码

Represents each item in a logging transaction

Methods

public getType ()

Log type

public getMessage ()

Log message

public getTime ()

Log timestamp

public getContext ()

public __construct (string $message, integer $type, [integer $time], [array $context])

Phalcon\Logger\Item constructor

Class Phalcon\Logger\Formatter\Syslog

最后更新于:2018-09-01 07:08:51

extends abstract class Phalcon\Logger\Formatter

implements Phalcon\Logger\FormatterInterface

在GitHub查看文件源码

Prepares a message to be used in a Syslog backend

Methods

public array format (string $message, int $type, int $timestamp, [array $context])

Applies a format to a message before sent it to the internal log

public getTypeString (mixed $type) inherited from Phalcon\Logger\Formatter

Returns the string meaning of a logger constant

public interpolate (string $message, [array $context]) inherited from Phalcon\Logger\Formatter

Interpolates context values into the message placeholders