コード例 #1
0
 public function load(ObjectManager $manager)
 {
     $blog1 = new Blog();
     $blog1->setTitle('A day with Symfony2');
     $blog1->setContent('Lorem ipsum dolor sit amet, consectetur adipiscing eletra electrify denim vel ports. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi ut velocity magna. Etiam vehicula nunc non leo hendrerit commodo. Vestibulum vulputate mauris eget erat congue dapibus imperdiet justo scelerisque. Nulla consectetur tempus nisl vitae viverra. Cras el mauris eget erat congue dapibus imperdiet justo scelerisque. Nulla consectetur tempus nisl vitae viverra. Cras elementum molestie vestibulum. Morbi id quam nisl. Praesent hendrerit, orci sed elementum lobortis, justo mauris lacinia libero, non facilisis purus ipsum non mi. Aliquam sollicitudin, augue id vestibulum iaculis, sem lectus convallis nunc, vel scelerisque lorem tortor ac nunc. Donec pharetra eleifend enim vel porta.');
     $blog1->setImage('beach.jpg');
     $blog1->setAuthor('LatinGuy');
     $blog1->setTags('symfony2, php, paradise, symblog');
     $blog1->setCreated(new \DateTime());
     $blog1->setUpdated($blog1->getCreated());
     $manager->persist($blog1);
     $blog2 = new Blog();
     $blog2->setTitle('The pool on the roof must have a leak');
     $blog2->setContent('Vestibulum vulputate mauris eget erat congue dapibus imperdiet justo scelerisque. Na. Cras elementum molestie vestibulum. Morbi id quam nisl. Praesent hendrerit, orci sed elementum lobortis.');
     $blog2->setImage('pool_leak.jpg');
     $blog2->setAuthor('Zero Cool');
     $blog2->setTags('pool, leaky, hacked, movie, hacking, symblog');
     $blog2->setCreated(new \DateTime('2011-07-23 06:12:33'));
     $blog2->setUpdated($blog2->getCreated());
     $manager->persist($blog2);
     $blog3 = new Blog();
     $blog3->setTitle('Ice Cream For Everyone');
     $blog3->setContent('Lorem ipsumvehicula nunc non leo hendrerit commodo. Vestibulum vulputate mauris eget erat congue dapibus imperdiet justo scelerisque.');
     $blog3->setImage('icecream.jpg');
     $blog3->setAuthor('Gabriel');
     $blog3->setTags('ice cream, magic, movie, hacking, symblog');
     $blog3->setCreated(new \DateTime('2011-07-16 16:14:06'));
     $blog3->setUpdated($blog3->getCreated());
     $manager->persist($blog3);
     $blog4 = new Blog();
     $blog4->setTitle('The grid - A digital frontier');
     $blog4->setContent('Lorem commodo. Vestibulum vulputate mauris eget erat congue dapibus imperdiet justo scelerisque. Nulla consectetur tempus nisl vitae viverra.');
     $blog4->setImage('the_grid.jpg');
     $blog4->setAuthor('Kevin Flynn');
     $blog4->setTags('grid, daftpunk, movie, symblog');
     $blog4->setCreated(new \DateTime('2011-06-02 18:54:12'));
     $blog4->setUpdated($blog4->getCreated());
     $manager->persist($blog4);
     $blog5 = new Blog();
     $blog5->setTitle('Push this Button');
     $blog5->setContent('Lorem ipsum dolor sit amet, consectetur adipiscing elittibulum vulputate mauris eget erat congue dapibus imperdiet justo scelerisque.');
     $blog5->setImage('one_or_zero.jpg');
     $blog5->setAuthor('Gary Winston');
     $blog5->setTags('ice cream, symblog');
     $blog5->setCreated(new \DateTime('2011-04-25 15:34:18'));
     $blog5->setUpdated($blog5->getCreated());
     $manager->persist($blog5);
     $manager->flush();
     $this->addReference('blog-1', $blog1);
     $this->addReference('blog-2', $blog2);
     $this->addReference('blog-3', $blog3);
     $this->addReference('blog-4', $blog4);
     $this->addReference('blog-5', $blog5);
 }
コード例 #2
0
ファイル: BlogFixtures.php プロジェクト: black-bullet/zenmate
 public function load(ObjectManager $manager)
 {
     $blog1 = new Blog();
     $blog1->setTitle('GulpJS — фантастически быстрый сборщик проектов');
     $blog1->setBlog('Gulp.js это потоковый сборщик проектов на JS. Он использует Stream и действительно является очень быстрым. Для примера у меня есть проект где около тысячи stylus файлов, GruntJS нужно примерно 2.5 секунды на сборку и 2 секунды на обработку autoprefixerом. Gulp все это делает за 0.5 секунды выигрывая у GruntJS минимум в 4 раза.
         Вас может отпугнуть молодость проекта, отсутствие плагинов и небольшое сообщество. Но это не так, на данный момент ведется активная разработка проекта, написано достаточное количество плагинов под задачи для популярных инструментов. На данный момент существует 165 плагинов, посмотреть их вы можете тут.
         В этой статье будет больше практики, мы соберем среду разработки фронтенда используя Jade и Stylus, запустим локальный сервер и подключим Livereload. Проект я выложил на Github, экспериментируйте. ');
     $blog1->setImage('one.jpg');
     $blog1->setAuthor('Петоро Кучер');
     $blog1->setTags('blog, html, css, js, gulpJS');
     $manager->persist($blog1);
     $blog2 = new Blog();
     $blog2->setTitle('Самые простые техники адаптивной верстки');
     $blog2->setBlog("Википедия говорит:\n            «Адаптивный веб-дизайн (англ. Responsive web design) — дизайн веб-страниц, обеспечивающий отличное отображение сайта на различных устройствах, подключённых к интернету.»\n            Благодаря адаптивной верстке сайт будет качественно и удобно отображаться на разных устройствах, таких как:\n            персональные компьютеры\n            ноутбуки\n            планшеты\n            смартфоны и других.\n            С каждым днем адаптивная верстка становится все популярней. Адаптивных сайтов появляется все больше и больше.\n            Для начала освоения адаптивной верстки мы попробуем сделать простенькую фотогалерею, которая будет хорошо отображаться на различных экранах устройств.\n            Смысл адаптивного макета в том, что сайт динамически (в режиме реального времени) подстраивается под размер вашего устройства, и если размер дисплея вдруг расширится / сузится (как при ресайзе браузера или смене ориентации планшета), то и сайт на это отреагирует незамедлительно, без перезагрузок и задержек.\n            В итоге мы получаем одну единственную версию сайта (site-on.net), которая великолепно отображается на любых устройствах и экранах, учитывая их особенности.\n            На создание адаптивного макета этого блога (из фиксированного) у меня ушла вся прошлая суббота: с 9:00 утра до полуночи с перерывами на отдых.\n            Это занятие показалось мне слегка нудным, но желание насладиться конечным результатом не давало угаснуть энтузиазму.\n            Теперь у всех посетителей этого блога появилась возможность удобного чтения статей с любого устройства: начиная с магнитолы в вашем авто и заканчивая телевизором на вашей стене.\n            Ради идеи пришлось даже распрощаться с рекламной строкой nolix, так как она была не уместна при маленьких разрешениях экранов, а убрать ее специально для них было бы обманом рекламодателей, ведь показы, скорее всего, все равно бы накручивались.\n            Приступим!");
     $blog2->setImage('one.jpg');
     $blog2->setAuthor('Роман Наконечний');
     $blog2->setTags('blog, html, css, адаптив');
     $manager->persist($blog2);
     $blog3 = new Blog();
     $blog3->setTitle('Разработка сайтов на PrestaShop');
     $blog3->setBlog('
         Как видно из заголовка, речь в данной статье пойдет о разработке сайтов-магазинов. Сразу хочу оговориться: данный пост не является техническим, это, скорее, просто выжимка из собственного опыта работы с e-commerce платформами. Основной целью при написании текста было желание поделиться своим опытом с разработчиками, только начинающими свой путь в огромном мире девелопмента для e-commerce.
         Красной линией в этом тексте будет проходить вопрос выбора платформы для вашего будущего магазина.
         Случилось так, что свою карьеру разработчика я начал в компании, основной специализацией которой были интернет-магазины. С того времени и по сей день я в поиске идеальной СMS под это дело. На данный момент движков для построения своего магазина существует превеликое множество, от древних и морально устаревших, как-то Ubercart или Opencart, до современных гигантов вроде Magento, но как говорится, истина где-то между... В данный момент золотой серединой для меня является СMS Prestashop.
         Интернет хранит неисчислимое множество сравнений по производительности, проценту покрытия рынка и прочих параметрах, но это сухая статистика, в ней жизни нету :). Гораздо интереснее то, почему использует тот или иной движок конкретный разработчик.
         Отправной точкой в моем нелегком путешествий стала упомянутая выше СMS Magento, но так как на тот момент я был зеленым джуном, система показалась мне слишком тяжелой: все эти бесконечные xml-файлы конфигураций (похоже на то, что разработчикам системы за их количество доплачивали :) ); к тому же, движок довольно «тугой» в плане производительности, без varnish на prod ни ногой. Кто-то может возразить, «да ну, вы просто не умеете его готовить». Возможно, в этом есть доля истины, но с тем фактом, что система весьма сложная для освоения, думаю, многие согласятся (вспомнить одни формочки в админке, сразу мутить начинает).');
     $blog3->setImage('three.jpg');
     $blog3->setAuthor('Євгеній Жолкевський');
     $blog3->setTags('blog, php, prestashop, CMS');
     $manager->persist($blog3);
     $blog4 = new Blog();
     $blog4->setTitle('Symfony2 Vs Yii: какой фреймворк выбрать в 2015-м году?');
     $blog4->setBlog('
         Symfony — это PHP-фреймворк для веб-проектов или, иными словами, набор PHP-компонентов, Symfony2 создан на стандартной основе, на которой разработаны большинство лучших PHP-приложений. С другой стороны, Yii (сокращение для «Yes It Is») — это компонентный PHP-фреймворк, используемый для разработки крупномасштабных веб-приложений. Фреймворк известен оптимизацией под повторное использование в веб-программировании и может ускорить процесс разработки. И, хоть оба они и являются фреймворками для разработки на PHP, между ними есть существенные различия, о которых мы и поговорим в этой статье. Если честно, мы пользовались и тем, и другим, и эта парочка вызывает у нас теплые чувства. Однако мы постепенно перешли на Symfony2, и этому найдется несколько причин.
         Разница, она, знаете ли, в деталях :-). Ну что, готовы кабанчиком пробежаться по двум самым часто используемым MVC-фреймворкам, Yii и Symfony2?! Тогда мы начинаем.
         Производительность Symfony2 vs Yii: краткое сравнение
         Прежде, чем мы погрузимся в повседневные аспекты производительности Symfony2 и Yii, рассмотрим основные возможности и особенности использования этих двух фреймворков. В качестве ORM Yii использует Active Record ORM, который был непосредственно вдохновлен тем Active Record, что в Ruby on Rails. С другой стороны, Symfony2 использует Doctrine2. Doctrine2 сама по себе имеет целый набор фич для PHP-разработчиков. Как? Ну, сущности Doctrine2 — это простые PHP-классы. Метаданные отображены в аннотациях сущностей. Управление базами данных для Doctrine2 не представляет проблемы. Многие разработчики считают, что Yii гораздо проще использовать в проектах, чем Symfony2. Тем не менее, целые толпы разработчиков рекомендуют Symfony2 за простую реализацию фикстур и миграций, что характерно для Doctrine2.
         Однако это далеко не все..');
     $blog4->setImage('four.jpg');
     $blog4->setAuthor('Євгеній Жолкевський');
     $blog4->setTags('blog, symfony, yii, php');
     $manager->persist($blog4);
     $manager->flush();
     $this->addReference('blog-1', $blog1);
     $this->addReference('blog-2', $blog2);
     $this->addReference('blog-3', $blog3);
     $this->addReference('blog-4', $blog4);
 }
コード例 #3
0
ファイル: BlogTest.php プロジェクト: Symfomany/laravelcinema
 public function testSetTitle()
 {
     $blog = new Blog();
     $blog->setTitle('Hello World');
     $this->assertEquals('hello-world', $blog->getSlug());
 }
コード例 #4
0
 /**
  * @Route("/{id}", name="app_blog_show", requirements={ "id"="\d+" })
  * @Method("GET")
  */
 public function showAction(Blog $blog)
 {
     $comments = $this->getDoctrine()->getRepository('AppBundle:Comment')->getCommentsForBlog($blog->getId());
     return $this->render('blog/show.html.twig', ['blog' => $blog, 'comments' => $comments]);
 }
コード例 #5
0
 private function createCommentForm(Comment $comment, Blog $blog)
 {
     return $this->createForm('app_comment', $comment, ['action' => $this->generateUrl('app_add_comment', ['id' => $blog->getId()])]);
 }