Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «orm»
[Из песочницы] Прикручиваем ActiveRecord к сайту 2014-02-09 13:47:52
... имеются встроенные механизмы ORM (с англ. — Объектно ... популярную и простую ORM систему ActiveRecord к ...
+ развернуть текст сохранённая копия
Введение
В процессе создания более ли мене сложного сайта приходится задумываться об организации доступа к БД(базе данных). Если сайт создается на базе существующего фреймворка или CMS, то там как правило имеются встроенные механизмы ORM (с англ. — Объектно-реляционное отображение, подробнее в вики). В данной статье я расскажу как можно прикрутить популярную и простую ORM систему ActiveRecord к собственному фреймворку.
Читать дальше →
Тэги: activerecord, mysql, orm, php, собственный, фреймворк
UNIX_TIMESTAMP, ROUND и другие DQL запросы через queryBuilder в Symfony 2 2014-01-21 16:30:07
Как известно у Symfony 2 в Doctrine 2 из «коробки» нет поддержки некоторых стандартных функций ...
+ развернуть текст сохранённая копия
Как известно у Symfony 2 в Doctrine 2 из «коробки» нет поддержки некоторых стандартных функций Mysql, таких как UNIX_TIMESTAMP или ROUND и еще несколько других. В первую очередь статья для того чтобы понять как дополнять DQL своими функциями. Но перед написанием как следует «похабрить» и по «гитхабить», а вдруг уже кто-то написал, советую не городить велосипеды и воспользоваться уже готовыми наработками, например GitHub MysqlDoctrineFunctions.
Статья больше подходит для новичков.
Читать дальше →
Тэги: buildquery, doctrine, orm, php, symfony, symfony2
[Из песочницы] Как связать Yii Framework и Doctrine 2 ORM? 2014-01-06 00:00:57
... 2 ORM. Это пожалуй самая мощная ORM для ...
+ развернуть текст сохранённая копия
Мне очень нравится Yii Framework. Он быстрый, удобный, гибкий. Мне нравится, как реализован в нём паттерн ActiveRecord. Но бывают случаи, когда бизнес-логика, а, если быть точным, доменная логика, очень сложная и постоянно растёт и модифицируется. В таких случаях удобнее пользоваться паттерном DataMapper.
В тоже время мне нравится Doctrine 2 ORM. Это пожалуй самая мощная ORM для PHP, имеющая широчайший функционал. Да, возможно, она «тяжеловата» и замедляет работу приложения. Но начиная разработку, прежде всего стоит думать об архитектуре приложения, так как «преждевременная оптимизация корень всех бед»
Таким образом, однажды мне пришла в голову мысль связать 2 этих интересных мне инструмента. Как это было сделано, описано ниже.
Читать дальше →
Тэги: doctrine, doctrine2, orm, php, yii
Peewee – лёгкая, гибкая и очень быстрая ORM на Python 2013-12-24 13:35:08
... Peewee – stand-alone ORM, обязательной к ознакомлению ... с какой-нибудь ORM на ActiveRecord. Что ...
+ развернуть текст сохранённая копия
Предлагаю всем джангистам/алхимистам немного отвечься и почитать вольную интерпретацию вводного туториала и частично документации по Peewee – stand-alone ORM, обязательной к ознакомлению любому питонщику и, в особенности, фласкеру. Пишут о ней мало, а зря. С Peewee очень просто подружиться, особенно если вы уже знакомы с какой-нибудь ORM на ActiveRecord. Что более важно – с ней приятно дружить :) Ну, начнём.
УстановкаС pip:
pip install peewee
Из репозитория:
git clone https://github.com/coleifer/peewee.git cd peewee python setup.py install
Тесты:
python setup.py test
Есть обвязка для flask:
pip install flask-peewee
Определение моделей или «попахивает джангой»
Весь нижеследующий код можно повторить один к одному в интерактивном интерпретаторе или отдельном скрипте.
from peewee import *
db = SqliteDatabase('people.db')
class Person(Model):
name = CharField()
birthday = DateField()
is_relative = BooleanField()
class Meta:
database = db # модель будет использовать базу данных 'people.db'
Типов полей много, на все случаи жизни. Peewee берёт на себя преобразование питоновских объектов в значения, подходящие для базы данных, и наоборот.
Читать дальше →
Тэги: flask, orm, peewee, python, базы, бенчмарк, веб-разработка, данных, питон
[Из песочницы] Active Record против Data Mapper-а для сохранения данных 2013-10-21 20:16:05
Эти 2 шаблона проектирования описаны в книге Мартина Фаулера «Шаблоны корпоративных приложений» и ...
+ развернуть текст сохранённая копия
Эти 2 шаблона проектирования описаны в книге Мартина Фаулера «Шаблоны корпоративных приложений» и представляют собой способы работы с сохранением данных в объектно-ориентированном программировании.
Пример шаблона Active Record
class Foo
{
protected $db;
public $id;
public $bar;
public function __construct(PDO $db)
{
$this->db = $db;
}
public function do_something()
{
$this->bar .= uniqid();
}
public function save()
{
if ($this->id) {
$sql = "UPDATE foo SET bar = :bar WHERE id = :id";
$statement = $this->db->prepare($sql);
$statement->bindParam("bar", $this->bar);
$statement->bindParam("id", $this->id);
$statement->execute();
}
else {
$sql = "INSERT INTO foo (bar) VALUES (:bar)";
$statement = $this->db->prepare($sql);
$statement->bindParam("bar", $this->bar);
$statement->execute();
$this->id = $this->db->lastInsertId();
}
}
}
//Insert
$foo = new Foo($db);
$foo->bar = 'baz';
$foo->save();
В этом упрощенном примере, дескриптор базы данных вводится в конструкторе Foo (Использование инъекции зависимостей здесь позволяет тестировать объект без использования реальной базы данных), и Foo использует его, чтобы сохранять свои данные. Do_something — просто метод-заглушка, заменяющий бизнес логику. Читать дальше →
Тэги: active, data, mapper, oop, orm, patterns, php, record, ооп, переводы
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Главная / Главные темы / Тэг «orm»
|
Взлеты Топ 5
Падения Топ 5
|