3 Commits

4 changed files with 21 additions and 26 deletions

18
Config.php Normal file → Executable file
View File

@ -14,12 +14,26 @@ class Config extends Registry
private static $_class_name = 'Config'; private static $_class_name = 'Config';
static public function set($name, $value) /**
* Метод устанавливает параметры конфигурации
* @param mixed $param
* Имя параметра или параметры в массиве
* @param mixed $value
* Значение параметра. Не требуется, если передаются параметры в массиве
*/
static public function set($param, $value = null)
{ {
// Разбираю массив, если параметры переданы в массиве
if (is_array($param)) {
foreach ($param as $paramItem => $value) {
self::set($paramItem, $value);
}
return;
}
if (is_array($value)) { if (is_array($value)) {
$value = new ConfigArray($value); $value = new ConfigArray($value);
} }
self::getInstance()->offsetSet($name, $value); self::getInstance()->offsetSet($param, $value);
} }
} }

View File

@ -1,6 +1,4 @@
<?php namespace Majestic\Model; <?php namespace Majestic\Model;
use Majestic\Exception\GeneralException;
/** /**
* @copyright NetMonsters <team@netmonsters.ru> * @copyright NetMonsters <team@netmonsters.ru>
* @link http://netmonsters.ru * @link http://netmonsters.ru
@ -38,7 +36,7 @@ abstract class DbDriver
$required = array('database', 'username', 'password', 'hostname'); $required = array('database', 'username', 'password', 'hostname');
foreach ($required as $option) { foreach ($required as $option) {
if (!isset($config[$option])) { if (!isset($config[$option])) {
throw new GeneralException('Configuration must have a "' . $option . '".'); throw new \GeneralException('Configuration must have a "' . $option . '".');
} }
} }
} }

View File

@ -21,8 +21,7 @@ class MySQLiStatement extends DbStatement
if ($this->map === null) { if ($this->map === null) {
$this->mapPlaceholders(); $this->mapPlaceholders();
} }
if (is_array($this->map) && count($this->map) > 0) {
if ($this->map) {
if (!is_string($param) && !is_int($param)) { if (!is_string($param) && !is_int($param)) {
throw new \Majestic\Exception\GeneralException('Placeholder must be an integer or string'); throw new \Majestic\Exception\GeneralException('Placeholder must be an integer or string');
} }
@ -34,7 +33,6 @@ class MySQLiStatement extends DbStatement
return true; return true;
} }
} }
return false; return false;
} }
protected function mapPlaceholders() protected function mapPlaceholders()

View File

@ -164,10 +164,9 @@ abstract class SqlModel extends Model
* @param string $data Request * @param string $data Request
* @param array $params Request parameters * @param array $params Request parameters
* @param CacheKey $cache_key Key for caching in * @param CacheKey $cache_key Key for caching in
* @param bool $returnNewInstance Return the instance of this filled from query
* @return mixed * @return mixed
*/ */
protected function fetch($data, $params = array(), $cache_key = null, $returnFilledInstance = true) protected function fetch($data, $params = array(), $cache_key = null)
{ {
if (!$cache_key || !$result = $cache_key->get()) { if (!$cache_key || !$result = $cache_key->get()) {
$result = $this->query($data, $params)->fetch(); $result = $this->query($data, $params)->fetch();
@ -175,20 +174,6 @@ abstract class SqlModel extends Model
$cache_key->set($result); $cache_key->set($result);
} }
} }
if ($result && $returnFilledInstance) {
$instance = new $this;
foreach (get_object_vars($result) as $key => $value) {
if ($key == 'table') {
$key = 'table_field';
}
$instance->$key = $value;
}
return $instance;
}
return $result; return $result;
} }