Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Мы в твиттере!
Мы вконтакте!
Мы на яндексе!

Краснодарское время: 26 Май, 2012, 12:05:46

Страниц: [1] 2
Печать
Автор Тема: Связь между пекейджем и базой данных в фреймворке  (Прочитано 162 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Ivan    ↓ 
27 Январь, 2012, 08:06:10
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 27
Сообщений: 1366
Сила слова: 1.98

Есть фреймворк, есть пекейджи (Packages).
Package - почти независимый reuse-код, который может быть использован в качестве модуля для проекта.
Package зависим от фреймворка.
 
Иногда Package может потребовать работы с бд
Предположим Package UserAuth
 
Вопрос: как передать "пакету" объект базы данных или что-то ещё чтобы он не был зависим от какой-то бд/orm/etc и просто молча сделал свою работу, например сделал
SQL
SELECT * FROM users WHERE login="Ivan" AND password="asdu9asjda9sdjasduas9dju9"

Я придумал такой выход:
Раз Package зависим от фреймворка - нужно создать какой-то контейнер с инструментарием в самом фреймворке и передавать его по необходимости в Package.
 
Например:
DBContainer
в нём - DBContainer/Crud с функциями select/insert/update/delete, не зависимый от специфичной бд
и в нём же драйвера DBContainer/Drivers/* со специфичным интерфейсом, которые использует crud
 
Показал своё решение в конференции симфони в скайпе, там меня обосрали сказав что я пытаюсь написать Doctrine, и что надо использовать Doctrine и передавать в Package сущности. Но тут есть другие проблемы, которые лично я вижу:
1. Привязанность кода Package и фреймворка в целом к Doctrine
2. А что если мне в проекте не надо ORM? А тупо надо "mysql_query" да-да, и что тогда? Как я буду с этой сущностью работать? Откуда я её возьму то.
« Последнее редактирование: 27 Январь, 2012, 08:06:10 от Ivan » Записан

Абырвалг    ↓ 
27 Январь, 2012, 08:17:04 , спустя 10 минут 54 секунды
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6096
Сила слова: 1.31

интересная тема
 
да-да, и что тогда?
соснуть хуйца, очевидно же)
 
Такая тема уже есть, реализована в доктрине2. \Doctrine\Common\Persistence\ObjectManager https://github.com/doctrine/common/blob/master/lib/Doctrine/Common/Persistence/ObjectManager.php
Спустя 1 минуту 11 секунд добавил
https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/index.md
Спустя 2 минуты 29 секунд добавил
Меня больше другое интересует: вот есть модуль блогов. Там у топика есть завязка на автора (сущность юзер). Я хочу подменить эту сущность своим пользователем, как в рамках Doctrine2+Symfony2 это реализовать попроще, не прибегая к http://www.doctrine-project.org/docs/orm/2.0/en/reference/php-mapping.html#static-function
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
Ivan    ↓ 
27 Январь, 2012, 08:18:51 , спустя 1 минуту 47 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 27
Сообщений: 1366
Сила слова: 1.98

соснуть хуйца, очевидно же)
И как, помогает?)
Записан

Абырвалг    ↓ 
27 Январь, 2012, 08:21:23 , спустя 2 минуты 32 секунды
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6096
Сила слова: 1.31

не знаю, мы используем орм и не хотим mysql_query писать, ггг
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
Ivan    ↓ 
27 Январь, 2012, 08:23:15 , спустя 1 минуту 52 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 27
Сообщений: 1366
Сила слова: 1.98


не знаю, мы используем орм и не хотим mysql_query писать, ггг

mysql_query это я формально показал, просто допустим может быть ситуация когда можно обойтись и без орм
Записан

phpdude    ↓ 
27 Январь, 2012, 08:26:13 , спустя 2 минуты 58 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: 20790
Сила слова: 1.66

может быть ситуация когда можно обойтись и без орм
всегда :D
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Ivan    ↓ 
27 Январь, 2012, 08:28:02 , спустя 1 минуту 49 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 27
Сообщений: 1366
Сила слова: 1.98


может быть ситуация когда можно обойтись и без орм
всегда :D

попробуй это доказать сообществу симфони
Записан

Status    ↓ 
27 Январь, 2012, 08:34:03 , спустя 6 минут 1 секунду
НЕ ХУЕТА! ХУЕТА!

Редкостная сволочь
Группа: Джедаи

Карма: 57
Сообщений: 1447
Сила слова: 3.94


не знаю, мы используем орм и не хотим mysql_query писать, ггг
И море запросов в базу:D
Записан

Заткнись говно, я воевал!
Абырвалг    ↓ 
27 Январь, 2012, 08:39:01 , спустя 4 минуты 58 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6096
Сила слова: 1.31

Status, совершенно необязательно
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
Status    ↓ 
27 Январь, 2012, 08:43:34 , спустя 4 минуты 33 секунды
НЕ ХУЕТА! ХУЕТА!

Редкостная сволочь
Группа: Джедаи

Карма: 57
Сообщений: 1447
Сила слова: 3.94


Status, совершенно необязательно
Я много разныx ORM пробовал, всегда больше запросов чем по старинке
Записан

Заткнись говно, я воевал!
phpdude    ↓ 
27 Январь, 2012, 09:09:56 , спустя 26 минут 22 секунды
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: 20790
Сила слова: 1.66



не знаю, мы используем орм и не хотим mysql_query писать, ггг
И море запросов в базу:D
а без орм они типа не в базу :D
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Ivan    ↓ 
27 Январь, 2012, 09:13:30 , спустя 3 минуты 34 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 27
Сообщений: 1366
Сила слова: 1.98

Лучше подумайте как можно решить эту проблему
Записан

Status    ↓ 
27 Январь, 2012, 09:17:43 , спустя 4 минуты 13 секунд
НЕ ХУЕТА! ХУЕТА!

Редкостная сволочь
Группа: Джедаи

Карма: 57
Сообщений: 1447
Сила слова: 3.94




не знаю, мы используем орм и не хотим mysql_query писать, ггг
И море запросов в базу:D
а без орм они типа не в базу :D
Ну так я сторонник не делать лишние запросы, а с ORM их всегда больше
Записан

Заткнись говно, я воевал!
Sinkler    ↓ 
27 Январь, 2012, 09:35:01 , спустя 17 минут 18 секунд
НЕ ХУЕТА! ХУЕТА!

Похуй, пляшем!
Группа: Джедаи

Карма: 73
Сообщений: 6808
Сила слова: 1.07

если нет нагрузок, вообще похуй, есть орм или нету
Записан

Ivan    ↓ 
27 Январь, 2012, 09:39:26 , спустя 4 минуты 25 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 27
Сообщений: 1366
Сила слова: 1.98

Короче решил юзать Doctrine2/DBAL, теперь я тоже в рабстве у доктрины
Записан

Страниц: [1] 2
Печать
 

Перейти в: