Комментарии 74
Ваша статья офигительна.
Но — можно оффтопик? У меня создалось такое количество блогов, написанных в результате изучения фрэймворков, что я не успеваю в них ничего писать.
Что с этим делать? Можно ли оформить их как плагины к Symfony? ;)
Но — можно оффтопик? У меня создалось такое количество блогов, написанных в результате изучения фрэймворков, что я не успеваю в них ничего писать.
Что с этим делать? Можно ли оформить их как плагины к Symfony? ;)
+4
Hello, World — это не модно. Сейчас пишут Hello, Blog!
В плагины, конечно, можно оформить :)
В плагины, конечно, можно оформить :)
+4
Супер! Сам как раз сейчас изучаю фреймворк, пишу на нем один проектик. Столкнулся с тем, что очень тяжело начать. надеюсь с помощью вашей следующей статьи получится все быстрее и лучше) То, что описано в этой я уже успел осилить самостоятельно)
0
Можете на пальцах объяснить, почему? Возможно, я сделал неправильный выбор в пользу Propel
0
По слухам Doctrine самый продвинутый ORM на PHP. ИМХО: немного пользовался и тем и другим, доктрина круче. )
0
Работал с обеими фреймворками. Основное впечатление: Doctrine гораздо лучше, более логичен и функционален. Вот только блин, чего сильно не хватает, так это аналога sfPropelAlternativeSchema для Doctrine
0
Тег «symfony 1.2», а у Вас 1.1.4 в примере…
0
Symfony — очень хороший и продуманный Фрэймворк с большой буквы. Уже 9 месяцев вместе и он с каждым днём всё лучше и лучше!
Тем кто ещё не определился на чём работать — очень советую обратить взляд.
Тем кто ещё не определился на чём работать — очень советую обратить взляд.
0
Под какими нагрузками работает?
0
Как обстоят дела с производительностью на виртуальном хостинге, не в курсе?
0
нормально, под рбк хостится, конечно после очистки кэша первый реквест выполняется долго (вплоть иногда до таймаута) а дальше нормально
+2
Виртуальный хостинг не айс. Даже не потому, что symfony на нём плохо работает ( это я не утверждаю ) — просто для лучшей производительности нужна ещё куча софта, которым на таких хостах обычно и не пахнет — nginx, APC, например.
+1
НЛО прилетело и опубликовало эту надпись здесь
Определенно стоит перевести и 2ю часть; )
+1
Замечательная альтернатива Rails ;) Но код… после рельсов мягко говоря отпугивает… Здесь, наверное, тоже на MVC обычно раскидывают — иначе не разобраться в коде. И теперь я наконец-то понимаю, почему в Rails так восхищаются REST
+3
Да, стоит заметить, конечно, что с PHP я практически не связывался
0
не спорю, что ruby более приятен чем php. Но если откинуть в сторону различия в синтаксисе языков, то оба фреймворка имеют много общего.
0
Тоже не спорю — уверен, что профессиональным PHP-программистам проще и удобнее использовать symfony. Хотя… Руби совсем несложен, зато потом сколько радости ;)
Одним из крупных преимуществ symfony считаю отсутствие проблем с shared хостингом. В рунете с RoR тяжело…
Одним из крупных преимуществ symfony считаю отсутствие проблем с shared хостингом. В рунете с RoR тяжело…
+1
Правда симфони-разработчики об этом не знают и пишут, что фреймворк их не расчитан на shared хостинг)))
0
Кстати при написании symfony очень много взято и ruby, prada, и др фремворков, попытались сделать сборную солянку и взять наиболее интересные реализации.
Думаю что неплохо получилось.
Думаю что неплохо получилось.
-1
Фреймворки, конечно — хорошо, но гораздо интереснее писать код самому!
Это увлекательно и интересно!
Это увлекательно и интересно!
-3
после 2-3 раза писать одно и то же становится необычайно влом. ТОгда или пишут свой фреймворк, или берут существующий
+2
Возможно, но все равно — весь кайф в программировании заключается в создании собственного кода.
Это как родить ребенка, лучше когда он свой, а не чужой :)
Так интереснее жить!
А с тотальным распространением фреймворком мы катимся к тому, что через пару лет не будет программистов, а будет какая-нить софтинка для какого нить менеджера. Он в ней ставит тока галочки (импортировать блог, каталог, укажите требуемое кол-во полей и т.п.). И все прога сама сгенерит и подключит нужное…
Эх, а где романтика, где эти короткие темные ночи
Это как родить ребенка, лучше когда он свой, а не чужой :)
Так интереснее жить!
А с тотальным распространением фреймворком мы катимся к тому, что через пару лет не будет программистов, а будет какая-нить софтинка для какого нить менеджера. Он в ней ставит тока галочки (импортировать блог, каталог, укажите требуемое кол-во полей и т.п.). И все прога сама сгенерит и подключит нужное…
Эх, а где романтика, где эти короткие темные ночи
0
Софтинка сама собой появится? ;)
0
Ее напишет 1 программист,
тем самым «убив» много миллионов программистов.
тем самым «убив» много миллионов программистов.
0
Убив? Что вы под этим понимаете?
0
Ну вот смотрите,
что дает symphony?
Он дает предопределенную логику и инструменты, он выполняет низкоуровневые операции…
Сейчас программист определеяет набор данных, называет методы, выполняет команды по сборке проекта, всякие управляющие команды (symfony propel:build-model).
По сути — все это можно реализовать в грамотно построенном интерфейсе и тогда создавать проекты смогут не технические специалисты — менеджеры например. А что там, указал в програмульке название проекта, понаставил галок — мол включить такие то модули, такие наборы полей, нажал кнопочку сгенерить и вуаля сайтец…
Таким образом, отпадает необходимость в высоко квалифицированнх программистах.
что дает symphony?
Он дает предопределенную логику и инструменты, он выполняет низкоуровневые операции…
Сейчас программист определеяет набор данных, называет методы, выполняет команды по сборке проекта, всякие управляющие команды (symfony propel:build-model).
По сути — все это можно реализовать в грамотно построенном интерфейсе и тогда создавать проекты смогут не технические специалисты — менеджеры например. А что там, указал в програмульке название проекта, понаставил галок — мол включить такие то модули, такие наборы полей, нажал кнопочку сгенерить и вуаля сайтец…
Таким образом, отпадает необходимость в высоко квалифицированнх программистах.
-2
вам что занятся нечем? У меня есть НАСТОЛЬКО большое количество идей сделать то чего ЕЩЁ НЕТ, что о том чтобы не пользоваться существующими веб-фреймворками даже и речи-то нет +).
0
Каждый раз писать, к примеру, функции санитизации GET/POST/данных для вставки в БД и пр.?
Да вы, батенька, затейник :)
Да вы, батенька, затейник :)
+1
Согласен, но со временем все равно появляются какие-то куски кода, которыми начинаешь пользоваться постоянно, модернизируя по ходу… А это уже ни что иное, как свой, маленький фреймворк :)
С фреймворками разработка продвигается намного быстрее, ИМХО.
С фреймворками разработка продвигается намного быстрее, ИМХО.
0
А каким образом тебе в этом мешает фрэймворк?
+1
>>Фреймворки, конечно — хорошо, но гораздо интереснее писать код самому!
>>Это увлекательно и интересно!
Ух ты — мне поставили -2.
Это значит, что тут куча идиотов, а не программистов
>>Это увлекательно и интересно!
Ух ты — мне поставили -2.
Это значит, что тут куча идиотов, а не программистов
-3
аффтар, напиши про реализацию ACL в symphony, лично мне оно может вскоре пригодиться:)
+5
Спасибо большое за перевод! Давно хотел начать изучать Симфони, да все руки никак не доходили. Думаю, это послужит стартом ;) Слыхал много положительных отзывов о Симфони, и как ни странно, не слышал ни одного негативного. Хотя нет, слышал пару негативных отзывов по поводу того, что нет хорошей документации на русском, но это не относится непосредственно к самому фреймворку. :)
С нетерпением буду ждать следующих переводов :)
З.Ы. Английский знаю на среднем уровне, и не всегда все понимаю дословно, только в общих чертах :(
С нетерпением буду ждать следующих переводов :)
З.Ы. Английский знаю на среднем уровне, и не всегда все понимаю дословно, только в общих чертах :(
0
Думаю будет полезно не просто переводить пост, а добавлять в него русской специфики:
— все надписи — на русском,
— кодировку можно тоже использовать например cp1251, чтобы по-полной черпнуть локальной специфики.
Так же, при работе с формами стоит обратить внимание на маркировку с помощью * обязательных полей. На то, чтобы slug формирвоать с помощью транслитерации, ну и так дале…
— все надписи — на русском,
— кодировку можно тоже использовать например cp1251, чтобы по-полной черпнуть локальной специфики.
Так же, при работе с формами стоит обратить внимание на маркировку с помощью * обязательных полей. На то, чтобы slug формирвоать с помощью транслитерации, ну и так дале…
0
А кроме блогов на этих фреймфорках можно чтото написать?
0
как-то мне довелось работать с одним проектом на symfony. необходимо было добавить несколько полей к существующей формочке и я поправил файл, описывающий модель, но затем исполнять команду «php symfony propel:build-model» побоялся, т.к. мне нужно было всего лишь обновить структуру базы и я не знал что с ней произойдёт если исполнить эту команду, как она отработает, что будет с данными?
поэтому нашел где лежали несколько сгенерированных файлов и поправил их вручную (заняло около часа, причем именно рутинные операции).
то есть я задаю один вопрос: как обновить структуру базы после изменения описания модели?
поэтому нашел где лежали несколько сгенерированных файлов и поправил их вручную (заняло около часа, причем именно рутинные операции).
то есть я задаю один вопрос: как обновить структуру базы после изменения описания модели?
0
Вау, хорошо написана.
Да, стоит переводить.
Все не было времени познакомиться с симфони.
а теперь вы дали отличный толчек для старта :)
Да, стоит переводить.
Все не было времени познакомиться с симфони.
а теперь вы дали отличный толчек для старта :)
0
Очень нравится Symfony, но сильно раздражают его стандарты кодирования и YAML (XML использовать религия не позволяет).
-1
YAML гораздо быстрее чем XML. Учитывая общую тормознутость PHP, в котором даже нормального ООП-то не попишешь по причине тормознутости, и кэшировать приходится каждый чих — YAML это настоящая находка.
Точно так же как для аякса лучше использовать JSON.
XML рулит в других местах, типа Жавы, ящитаю.
Точно так же как для аякса лучше использовать JSON.
XML рулит в других местах, типа Жавы, ящитаю.
-1
Вот я чайник в симфонии. Стал всё делать по статье и на шаге, где добавление коммента делается по ссылке из поста получаю sfError404Exception Object blog_comment does not exist (). :( Не подскажете, в чём может быть дело? В симфонии 1.2? :)
+1
Ошибка не потому, что вы чайник в Симфонии, а потому что в оригинальной статье целых 3 ошибки в одном месте. Когда мы привязываем комментарий к посту, мы сначала выводим ссылку
Тут мы видим первые две ошибки:
1. поскольку мы Добавляем, а не Редактируем комментарий, надо вместо edit написать new.
2. Параметр ID поста должен быть не post_id, а blog_post_id
Ну и третья ошибка — это собственно создание hidden-поля со значением, взятым из $_GET['blog_post_id'], которое мы передаем по упомянутой ссылке. Я еще не вполне знаком с культурой Симфонии, и не могу точно сказать, что предложенное решение верное, но я сделал так: в файле apps/frontend/modules/comments/actions/action.class.php в экшене executeNew я добавил следующую строку:
которая добавляет в форму одно поле, взяв значение из $_REQUEST['blog_post_id'].
Теперь вопрос к знатокам Симфонии: как это сделать правильно?
P.S. Получается, вы — единственный, из прочитавших пост, кто сделал этот туториал?..
<?php echo link_to('Add a comment', 'comment/edit?post_id='.$blog_post->getId()) ?>
Тут мы видим первые две ошибки:
1. поскольку мы Добавляем, а не Редактируем комментарий, надо вместо edit написать new.
2. Параметр ID поста должен быть не post_id, а blog_post_id
Ну и третья ошибка — это собственно создание hidden-поля со значением, взятым из $_GET['blog_post_id'], которое мы передаем по упомянутой ссылке. Я еще не вполне знаком с культурой Симфонии, и не могу точно сказать, что предложенное решение верное, но я сделал так: в файле apps/frontend/modules/comments/actions/action.class.php в экшене executeNew я добавил следующую строку:
$this->form->bind(array("blog_post_id"=>$request->getParameter('blog_post_id')));
которая добавляет в форму одно поле, взяв значение из $_REQUEST['blog_post_id'].
Теперь вопрос к знатокам Симфонии: как это сделать правильно?
P.S. Получается, вы — единственный, из прочитавших пост, кто сделал этот туториал?..
+1
Просто давно собирался разобраться с симфонией, да всё руки не доходили.
Я, в общем-то, так и предполагал, что там ошибка, но как её исправить не докумекал.
Обязательно попробую ваше решение, спасибо.
Я, в общем-то, так и предполагал, что там ошибка, но как её исправить не докумекал.
Обязательно попробую ваше решение, спасибо.
0
Вот еще один вариант решения:
В методе executeNew() модуля comment пишем вместо
следующее:
(спасибо bitingm@n за подсказку).
В методе executeNew() модуля comment пишем вместо
$this->form = new BlogCommentForm();
следующее:
$comment=new BlogComment(); $comment->setBlogPostId($request->getParameter('blog_post_id')); $this->form = new BlogCommentForm($comment);
(спасибо bitingm@n за подсказку).
+1
Перевел вторую часть статьи. Welcome!
0
Статья — супер.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Первый проект на symfony, часть 1