Вход Регистрация
Файл: onlinepoisk.wm-scripts.ru/vendor/AR/lib/Exceptions.php
Строк: 180
<?php
/**
 * @package ActiveRecord
 */
namespace ActiveRecord;

/**
 * Generic base exception for all ActiveRecord specific errors.
 *
 * @package ActiveRecord
 */
class ActiveRecordException extends Exception {};

/**
 * Thrown when a record cannot be found.
 *
 * @package ActiveRecord
 */
class RecordNotFound extends ActiveRecordException {};

/**
 * Thrown when there was an error performing a database operation.
 *
 * The error will be specific to whatever database you are running.
 *
 * @package ActiveRecord
 */
class DatabaseException extends ActiveRecordException
{
    public function 
__construct($adapter_or_string_or_mystery)
    {
        if (
$adapter_or_string_or_mystery instanceof Connection)
        {
            
parent::__construct(
                
join(", ",$adapter_or_string_or_mystery->connection->errorInfo()),
                
intval($adapter_or_string_or_mystery->connection->errorCode()));
        }
        elseif (
$adapter_or_string_or_mystery instanceof PDOStatement)
        {
            
parent::__construct(
                
join(", ",$adapter_or_string_or_mystery->errorInfo()),
                
intval($adapter_or_string_or_mystery->errorCode()));
        }
        else
            
parent::__construct($adapter_or_string_or_mystery);
    }
};

/**
 * Thrown by {@link Model}.
 *
 * @package ActiveRecord
 */
class ModelException extends ActiveRecordException {};

/**
 * Thrown by {@link Expressions}.
 *
 * @package ActiveRecord
 */
class ExpressionsException extends ActiveRecordException {};

/**
 * Thrown for configuration problems.
 *
 * @package ActiveRecord
 */
class ConfigException extends ActiveRecordException {};

/**
 * Thrown when attempting to access an invalid property on a {@link Model}.
 *
 * @package ActiveRecord
 */
class UndefinedPropertyException extends ModelException
{
    
/**
     * Sets the exception message to show the undefined property's name.
     *
     * @param str $property_name name of undefined property
     * @return void
     */
    
public function __construct($class_name$property_name)
    {
        if (
is_array($property_name))
        {
            
$this->message implode("rn"$property_name);
            return;
        }

        
$this->message "Undefined property: {$class_name}->{$property_name} in {$this->file} on line {$this->line}";
        
parent::__construct();
    }
};

/**
 * Thrown when attempting to perform a write operation on a {@link Model} that is in read-only mode.
 *
 * @package ActiveRecord
 */
class ReadOnlyException extends ModelException
{
    
/**
     * Sets the exception message to show the undefined property's name.
     *
     * @param str $class_name name of the model that is read only
     * @param str $method_name name of method which attempted to modify the model
     * @return void
     */
    
public function __construct($class_name$method_name)
    {
        
$this->message "{$class_name}::{$method_name}() cannot be invoked because this model is set to read only";
        
parent::__construct();
    }
};

/**
 * Thrown for validations exceptions.
 *
 * @package ActiveRecord
 */
class ValidationsArgumentError extends ActiveRecordException {};

/**
 * Thrown for relationship exceptions.
 *
 * @package ActiveRecord
 */
class RelationshipException extends ActiveRecordException {};

/**
 * Thrown for has many thru exceptions.
 *
 * @package ActiveRecord
 */
class HasManyThroughAssociationException extends RelationshipException {};
?>
Онлайн: 1
Реклама