keltanas
marty cats
По моему мнению, суждения о доктрине несколько предвзяты. Достаточно взглянуть на примеры использования, чтобы понять, что ничего сложного в этом нет.Пусть начнет с чего-то попроще, чем сразу лбом об доктрину.
По моему мнению, суждения о доктрине несколько предвзяты. Достаточно взглянуть на примеры использования, чтобы понять, что ничего сложного в этом нет.Пусть начнет с чего-то попроще, чем сразу лбом об доктрину.
Адище.PHP:$stmt = $conn->executeQuery('SELECT * FROM articles WHERE id IN (?, ?, ?, ?, ?, ?)', array(1, 2, 3, 4, 5, 6), array(\PDO::PARAM_INT, \PDO::PARAM_INT, \PDO::PARAM_INT, \PDO::PARAM_INT, \PDO::PARAM_INT, \PDO::PARAM_INT) );
так под этим и подпись стоитАдище.
так что ай-яй-яй ))This is much more complicated and is ugly to write generically.
да как и остальные "database abstraction & access layer", но дальше по мануалу начинаются более интересные вещиСамо по себе это так же неюзабельно, как и pdo.
Стоит. Но все остальные присутствующие там способы задать тип аргумента еще более бесчеловечны.так под этим и подпись стоит
Когда пытаются сделать легкое изящное решение, внеся туда заведомый небольшой кусочек говнокода ради удобства - я за.Absinthe, не ты ли пропагандируешь границу говнокодности и удобство решений этим инструментом? да все писать нет смысла, но можно быстренько сверстать довольно мощную основу.
Но означает, что стоимость поддержки сильно возрастает, любой фикс бага может (и часто приводит) к новому багу.hell0w0rd, отсутствие тестов не означает, что приложение плохое.
Я давно не видел популярных библиотек такого качестване более, чем в какой-либо другой библиотеке ))
С этим, пожалуй, соглашусь. Но, это не заставит меня и под дулом пистолета использовать AR со статикой.А вообще, то, что единственная поддерживаемая и развиваемая php-реализация DataMapper - это кривой монстр Doctrine2, это печально.
Разве то, что профессионалы не потратили время на качественную альтернативу доктрине, означает, что код доктрины нормальный?Всегда можно сказать, что чужой код далек от идеала. Но, что мешает написать лучшую реализацию? Видимо тем, чем автор пожертвовал, а мы не можем. Своим драгоценным временем, которое должно конвертироваться в наше благосостояние.
Это уже скорее философский вопрос. Ходит не сама модель, а делегирует другим. Но, по большому счету она в любом случае делегирует, будет там mysql_*, или какой-то объект. Разницы же нет.Сама-то модель уже давно нигде в базу не ходит.
$user = User::find(1);
$user->email = '[email protected]';
$user->save();
/**
* Find a model by its primary key.
*
* @param mixed $id
* @param array $columns
* @return \Illuminate\Database\Eloquent\Model|Collection|static
*/
public static function find($id, $columns = array('*'))
{
if (is_array($id) && empty($id)) return array();
$result = mysql_query('SELECT '.join(',', $columns).' FROM ' . self::$table . ' WHERE id = ' . $id);
return mysql_fetch_object($result);
}
/**
* Find a model by its primary key.
*
* @param mixed $id
* @param array $columns
* @return \Illuminate\Database\Eloquent\Model|Collection|static
*/
public static function find($id, $columns = array('*'))
{
if (is_array($id) && empty($id)) return new Collection;
$instance = new static;
return $instance->newQuery()->find($id, $columns);
}
Симфони. Eloquent ларавеловский.Если уже код доктрины плохой, то где тогда хороший код?