Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: symfony
Форумы портала PHP.SU » » CMS и фреймворки » symfony

Страниц (1): [1]
 

1. ksedin - 02 Февраля, 2014 - 14:32:07 - перейти к сообщению
Ребят, симфонию ковыряю и никак не доходит кое что до меня, можете написать маленький чат на нем? Только добавление и чтение сообщений, больше ничего
2. Ch_chov - 02 Февраля, 2014 - 15:08:37 - перейти к сообщению
Использовать симфони для маленьких чатов не рационально. Если вам нужно это для обучения то, вряд ли кто то захочет делать целый проект, только для того, что бы вам что то объяснить. Задавайте конкретные вопросы по конкретным темам. Желательно с примерами своего кода. Может быть кто нибудь поможет.

Дубировать темы на форуме не принято
http://forum.php.su/topic.php?fo...0&topic=5915
3. ksedin - 02 Февраля, 2014 - 15:18:37 - перейти к сообщению
Ch_chov пишет:
Использовать симфони для маленьких чатов не рационально. Если вам нужно это для обучения то, вряд ли кто то захочет делать целый проект, только для того, что бы вам что то объяснить. Задавайте конкретные вопросы по конкретным темам. Желательно с примерами своего кода. Может быть кто нибудь поможет.

Дубировать темы на форуме не принято
http://forum.php.su/topic.php?forum=60&topic=5915


Приходится, никто не отвечает
Помоему на это уйдет максимум два часа, там ведь ведь создать одну таблицу, одну сущность, ну и контроллер расписать. Мне не понятно, вообще не понятно как доктрина работает и куда засовывать логику и как ее использовать правильно
4. Ch_chov - 02 Февраля, 2014 - 15:31:43 - перейти к сообщению
Если вы имеете ввиду ОРМ, то таблицы доктрина сама умеет создавать. Вам просто нужно правильно описать поля сущности через аннотации.
5. caballero - 02 Февраля, 2014 - 15:49:11 - перейти к сообщению
У симфони высокий порог вхождения без опыта там разобраться сложно. Попробуйте изучить сначала чего нибудь попроще. Например CodeIgniter
6. ksedin - 02 Февраля, 2014 - 15:49:41 - перейти к сообщению
Ch_chov пишет:
Если вы имеете ввиду ОРМ, то таблицы доктрина сама умеет создавать. Вам просто нужно правильно описать поля сущности через аннотации.


Это я знаю, по учебнику создал сущность, скопировал анотации, с ними проблем не будет, там ясно все, но я даже просто не могу из базы вытащить значение, например, в учебнике создается сущность и таблица продукт, там есть айди, есть имя и цена, добавление там описывается, а вот вывод как-то не очень, я так понимаю нужно обращаться к геттерам, но как правильно это сделать не понятно
7. Ch_chov - 02 Февраля, 2014 - 15:59:21 - перейти к сообщению
Чтобы обращаться к геттерам, нужно сначала извлечь сущность из базы. Для этого в доктрине есть менеджер сущностей.
CODE (htmlphp):
скопировать код в буфер обмена
  1. $product = $entityManager->find('Product', $id);
8. ksedin - 02 Февраля, 2014 - 16:10:46 - перейти к сообщению
caballero пишет:
У симфони высокий порог вхождения без опыта там разобраться сложно. Попробуйте изучить сначала чего нибудь попроще. Например CodeIgniter

Кодеигнайтер простой, я в нем за часов 6 разобрался, после этого на симфонию перешел, впринципе понятно почти все, только доктрину разобрать не могу и не вижу куда логику засунуть
9. Ch_chov - 02 Февраля, 2014 - 16:19:05 - перейти к сообщению
Не понятно, причем тут симфони. Доктрина это отдельный проект. С ней можно работать и без симфони. И симфони можно использовать без доктрины. Опять же для простого чата, ни то ни другое не нужно.
10. ksedin - 02 Февраля, 2014 - 16:24:32 - перейти к сообщению
Ch_chov пишет:
Не понятно, причем тут симфони. Доктрина это отдельный проект. С ней можно работать и без симфони. И симфони можно использовать без доктрины. Опять же для простого чата, ни то ни другое не нужно.

да нафиг мне не нужен этот чат, просто в этом примере есть все что мне нужно.
Как в симфонии пдо использовать? В примере была описана только доктрина, да и я так понимаю он работает быстрей из-за сущностей
11. Ch_chov - 02 Февраля, 2014 - 16:49:32 - перейти к сообщению
ksedin пишет:
Как в симфонии пдо использовать?

Через доктриновский DBAL.
http://symfony[dot]com/doc/master/co[dot][dot][dot]ctrine/dbal[dot]html
12. ksedin - 02 Февраля, 2014 - 17:23:43 - перейти к сообщению
Ch_chov пишет:
ksedin пишет:
Как в симфонии пдо использовать?

Через доктриновский DBAL.
http://symfony.com/doc/master/cookbook/doctrine/dbal.html


Жесть, это мне везде конектиться к дб ?
13. digi - 03 Февраля, 2014 - 10:47:21 - перейти к сообщению
ksedin пишет:
Жесть, это мне везде конектиться к дб ?


неверная формулировка, надо говорить так "это мне везде, где нужно сделать нативный запрос к БД, нужно вытаскивать сервис database_connection из контейнера?", ответ - да Улыбка

в контроллерах унаследуемых от предлагаемоего симфонического контроллера, можно еще сделать так:

PHP:
скопировать код в буфер обмена
  1. $db = $this->getDoctrine()->getConnection();


но запросы к БД лучше стараться выносить в сервисы...

но нативные запросы - это прямо ну сильно крайне редкое явление, только когда надо сделать выборку по нескольким таблицами и при этом вопреки архитектуре использовать не только поля со связями.

если с енг пока плохо, то есть частично переведённая дока http://odiszapc[dot]ru/doctrine/

"чат сделать для примера", можно, притом очень быстро... но лично для меня как для бакенд программиста, просто влом писать морду %)) т.к. она займет 80% всего времени и только 20% будет симфони Улыбка
14. ksedin - 03 Февраля, 2014 - 14:31:17 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2.        $qb = $em->createQueryBuilder();
  3.                
  4.         $s = $qb -> add('select', '*')
  5.                        -> add('from', 'Product')
  6.                        -> add('where','id = ?1')
  7.                        -> setParameter(1, 1);
  8.                                                
  9.         $q = $s -> getArrayResult();
  10.  
  11.         return $this->render('AcmeWarmobiBundle:Default:index.html.twig', array('name' => "$q[id]"));

вот составил я такой запрос, по учебнику вроде все верно, но симфония ошибку выдает, когда создаю экземпляр квери буилдер, первая строка. Что там не так? копировал с учебника

 

Powered by ExBB FM 1.0 RC1