1

(0 ответов, оставленных в Symfony 3.0–3.2)

Четверку кто-то щупал? Как ощущения, гладкая, приятная или пока с шероховатостями?

Можно еще почитать документацию о том, как хранить пользователей в базе. Как по мне это вариант получше, так как ставя бандл скорее всего вы точно также не сильно разберетесь, но сможете наделать дырок, пытаясь "чуть-чуть изменить логику" так как вам нужно.

antifreez пишет:

Как сервис он может быть вызван в контроллере.

Как сделать просто и красиво?

Чтобы просто и красиво вызывать сервис в контроллере нужно (не поверите!) сначала создать сервис и потом "вызвать" сервис. default/smile

Куда уж проще и красивее? default/smile

4

(0 ответов, оставленных в Курилка)

Если кто пропустил - можно еще успеть сделать пару прикольных фоточек, победить в конкурсе и получить приз default/smile

http://symfony.com/blog/the-road-to-500 … -downloads

PS: Но а вообще круто конечно default/smile

5

(8 ответов, оставленных в Изучение Symfony)

Как вариант решения - использовать KnpDoctrineBehaviors

мне сложно сказать как вы делали, но глядя на ваши два сообщения в этом топике могу только обратить внимание, что

$stock->stockname

не равно

$stock->getStockname()
$stock->getProperty();

8

(3 ответов, оставленных в Doctrine 2.x)

ааа.... я не так понял что вам нужно default/smile
думал типа "акции, у которых нет пользователей" или что-то вроде

9

(3 ответов, оставленных в Doctrine 2.x)

Во-первых меня терзают смутные сомнения по поводу того, что приведенный вами sql делает именно то, что вы хотите.
Во-вторых - если вы хотите, вы можете создать промежуточную сущность несмотря на то, что "таблица уже создана". Главное правильно прописать связи.
В-третьих "в обычном SQL" и, соответственно DQL есть всякие groupby i having. Они помогут составить действительно правильный sql,ну и на основе него - dql

10

(10 ответов, оставленных в Изучение Symfony)

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

PS: Ну и пароль да, жжет....

11

(5 ответов, оставленных в Symfony 2.0—2.2)

Советую попробовать календарь. С ним очень просто сравнивать даты постов с текущей.

читать про symlink. Много думать.

PS: Использовать apache, php без лишних надстроек типа "openserver".

13

(3 ответов, оставленных в Изучение Symfony)

deka6pb пишет:

звучит как напутствие в долгий в путь) а примеры есть какие-нибудь, или где почитать по работе с api?

ну как бы есть документация где есть куча разных примеров решения стандартных задач.
Не знаю что вы имеете ввиду под "работой с api" у самой по себе symfony нет никакого api, это как бы, грубо говоря,  конструктор из которого вы собираете все что захотите. Если вы хотите создать api для своего сервиса, то опять же - вы делаете это как хотите, возможно при этом вам пригодится какой-нибудь JMSSerializerBundle и NelmioApiDocBundle ну или, возможно, примеры из официальной доки о том как использовать api key для работы с api... Читайте документацию и все станет на свои места. default/smile

14

(3 ответов, оставленных в Изучение Symfony)

Да как угодно default/smile
Вы вольны творить все что вы захотите, все зависит больше от того что вам нужно.
Можно разделить все по контроллерам, создать разные модели/сервисы для front,back, api... можно разделить по бандлам, аналогично создавая любые модели для каждого бандла. Можно front и api совместить в одном контроллере и отдавать контент в зависимости от того, запрашивают html или json... все зависит от вашей фантазии, можете хоть повторить все то же, что есть в yii2 default/smile

Хотя в целом я бы не советовал создавать "структуру ради структуры". Понятное дело что вы привыкли к yii2, но это другой фреймворк, изучайте его, изучайте предлагаемые решения, пробуйте варианты и программируйте исходя из решаемой задачи, а не из структуры. Тогда, возможно, вам и понравится symfony.

friendsys пишет:

Столкнулся с проблеммой ассетов в симфе.
файлменеджер лежит в бандле, в Resources, ассеты инсталлированы через assets:install --symlink.
Не могу прописать относительные пути к uploads и thumbs. Менеджер Responsive filemanager.
Относительные пути ведут в бандл, а не по директории web.
Как быть? Просто разместить его в web директории проекта?

В принципе да, это ведь не ваша разработка, вполне логично ее держать просто в web, как по мне. Впрочем можно конечно оставить и в бандле, просто не пытаться прописать относительные пути в web, а куда-нибудь типа Resources/public/uploads ну и web-path получится чем-то вроде /bundles/friendsysbundle/uploads

Ну для начала можно сделать то, что написано - добавить трансформер который будет преобразовывать строку в файл.

Правда на самом деле оно вам нафиг не нужно, если честно. Как вариант можно в форме подставлять пустое значение в поле file. В результате для пользователя в самом поле не будет написано имя файла (по факту чаще всего оно и нахрен не нужно, особенно если это картинка). Саму картинку вы сможете запросто показать обычным способом. Для удаления картинки можно добавить какую-нибудь галочку и обрабатывать ее в экшене.

Но на самом деле вы городите велосипед. Чисто в познавательных целях конечно можно, но для практической реализации скорее всего он не пригодится. Потому что потом вы захотите добавлять сразу несколько фотографий, а не по одной. Потом вы захотите хранить фотографии на сервере, потому что менеджер поставил не ту фотографию и уехал в командировку, а все фотографии у него на домашнем компе.... и в итоге все придет к файловому менеджеру и работой со ссылками на картинки на сервере default/smile

Документация рекомендует использовать VichUploaderBundle. Но, впрочем, можно и согласно документации через Lifecycle Callbacks.

Ну или как вариант - использовать для управления файлами сторонний файлменеджер, которых кучи, и в сущности добавлять только имя файла/путь. В принципе все зависит от вашей задачи. Из файлменеджеров мне лично нравится Responsive filemanager

18

(7 ответов, оставленных в Symfony 2.0—2.2)

"Дополнить пхп код" конечно могу, но только по предоплате.
Прочитайте хотя бы один раз полностью The Book. В частности то, что вам нужно - http://symfony.com/doc/current/book/doc … sociations

19

(7 ответов, оставленных в Symfony 2.0—2.2)

{% for image in post.images %}
   <a href="http://symfony.com/doc/current/book/templating.html" title="RTFM"><img src="{{ image.url }}" alt="Documentation rules!"/></a>
{% endfor %}

http://symfony.com/doc/current/cookbook … ation.html

21

(2 ответов, оставленных в Symfony 2.6–2.8)

Всем салют,

...наверное многие встречались с ситуацией, когда клиентам очень полюбился TinyMCE (или аналог), они в нем души не чают, клепают "статьи" (или что угодно) и вставляют линки на сотни других своих же статей (тупо копируя из адресной строки браузера фронтенда). А через какое-то время меняют названия статей (или еще какие-то основополагающие элементы типа slug) и надо лезть ручками везде менять ссылки, так как ссылки сохраненные в тексте уже не работают (ясное дело).

...собственно. Что с этим можно сделать? default/smile В идеале наверное можно было бы типа добавить в TinyMCE кнопку, подтягивающую роуты/сущности (пошагово default/smile и заставляющую юзера выбрать кнопочкой на что он хотел сослаться.... но как это потом отрендерить? Писать twig extension и использовать его перед raw (грубо говоря)?  ...как-то костыльненько. Да и геморно default/smile
Может я чего-то не знаю и есть очевидное решение? default/smile

kay05 пишет:

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

"способ проще" это использовать Bootstrap form theme и выводить просто

{{ form(yourForm) }}

Тогда "по умолчанию" ошибки формы "выделяются красным". "Расшифровывать" при этом ничего не надо, "проверять на ошибки" тоже - главное написать верные правила валидации.

При "произвольном" выводе формы не забывать показывать ошибки формы, а не только поля. Ну и как бы если хочется совсем произвольного - сделайте свой темплейт формы и используйте его при выводе форм. Он будет один на всех и ничего "для каждой сущности" делать отдельного не надо будет.

23

(6 ответов, оставленных в Symfony 2.6–2.8)

kirigiz_jigit пишет:

Да у меня тройка . А как это писать в виде кода ?

Во втором "варианте" у вас уже есть переменная $request, не нужно ее еще раз "получать" через

$request = $this->getRequest();

24

(13 ответов, оставленных в Изучение Symfony)

Giddeon пишет:

Я разобрался, в чем было дело с обычными коллекциями, которые я сам делал, но так и не понял, почему мне не удалось воспользоваться бандлом DoctrineBehavior. Если вам не сложно, подскажите, что я делал не так?

Во-первых насколько я помню Id должен быть не автоматически генерируемый. Во-вторых я как-то не увидел где вы пытаетесь "вывести дерево". из документации:

    $root = $em->getRepository('Category')->getTree();
    $root->getChildNodes(); // ArrayCollection

Получаете массив дочерних элементов. В принципе getChildNodes() можно использовать для любого элемента, не только для root, если что.

Рекомендую таки использовать бандл, так как все равно к этому рано или поздно придете, после того как напишите половину его функционала. default/smile

25

(13 ответов, оставленных в Изучение Symfony)

Для начала переименуйте private $directory; в что-нибудь типа $parent, и соответствующие методы тоже. Глаза пухнут разбираться.

Каким образом вы получаете объект "с id 7" к которому "применяете getDirectories()"? Через find(7) или каким-то кастомным запросом?

PS: Кстати когда наиграетесь с построением собственных велосипедов - можете переходить на использование https://github.com/KnpLabs/DoctrineBehaviors#tree default/smile