
4.8
Рейтинг
Symfony *
Свободный фреймворк, написанный на PHP5
Сначала показывать
Порог рейтинга
Уровень сложности
Административный интерфейс с SonataAdminBundle
10 мин
50KВ базовой поставке Symfony 2 предусмотрен только минимальный функционал создания CRUD интерфейса. Для реализации административного интерфейса разработан ряд бандлов, в частности SonataAdminBundle.
+14
Создаем собственный фреймворк на основе Symfony2. (Часть 4)
5 мин
6.5KПеревод
Прежде чем мы перейдем к сегодняшней теме, немного изменим наш фреймворк, так чтобы сделать шаблонизацию более удобной:
<?php
// example.com/web/front.php
require_once __DIR__.'/../src/autoload.php';
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
$request = Request::createFromGlobals();
$map = array(
'/hello' => 'hello',
'/bye' => 'bye',
);
$path = $request->getPathInfo();
if (isset($map[$path])) {
ob_start();
extract($request->query->all(), EXTR_SKIP);
include sprintf(__DIR__.'/../src/pages/%s.php', $map[$path]);
$response = new Response(ob_get_clean());
} else {
$response = new Response('Not Found', 404);
}
$response->send();
+4
Создаем собственный фреймворк на основе Symfony2. (Часть 3)
4 мин
4.3KПеревод
Оглавление
До сих пор наше приложение было довольно простым, поскольку содержало только одну страницу.
Что бы немного все усложнить, добавим другую страницу, говорящую «goodbye»:
<?php
// framework/bye.php
require_once __DIR__.'/autoload.php';
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
$request = Request::createFromGlobals();
$response = new Response('Goodbye!');
$response->send();
Как видите, большая часть кода точно такая же как и для первой страницы.
Давайте отдельно выделим общий код для всех наших страниц.
«Выделение общего кода», звучит как отличный план для нашего первого «настоящего» фреймворка!
+8
Создаем собственный фреймворк на основе Symfony2. (Часть 2)
6 мин
7.6KПеревод
Оглавление
Часть 1
Часть 2
Часть 3
Часть 4
Часть 5
Прежде чем мы углубимся в рефакторинг кода, я сначала хочу сделать шаг назад и взглянуть на то, почему вы хотели бы использовать фреймворк вместо того, чтобы писать ваше приложение на чистом PHP. Почему использовать фреймворк на самом деле хорошая идея, даже для простейшего фрагмента кода, и почему создание собственного фреймворка на основе компонентов Symfony2 лучше, чем создавать фреймворк с нуля.
- Я не буду говорить об очевидных преимуществах использования фреймворков при работе с большими приложениями и с более чем несколькими разработчиками; в сети уже множество хороших ресурсов по этой теме.
+10
Создаем собственный фреймворк на основе Symfony2. (Часть 1)
4 мин
19KПеревод
Оглавление
Symfony2 это набор автономных, многократно используемых библиотек, не завязанных на друг-друге, которые решают часто встречающиеся задачи в веб-разработке.
Вместо того что бы использовать низкоуровневые компоненты, вы можете использовать полномасштабный фреймворк который базируется на этих компонентах — Symfony2… Или, вы можете написать свой собственный. Эта серия статей о последнем.
Зачем вам нужен собственный фреймворк? (Why would you like to create your own framework?)
Во-первых, почему вы хотите создать собственный фреймворк? Ведь, если посмотреть, все вам скажут, что не стоит изобретать велосипед, а использовать уже готовое решение. И в большинстве случаев они будут правы, но есть несколько причин что бы начать разработку своего фреймворка:
- Что бы изучить низкоуровневую архитектуру современных веб-ориентированных фреймворков, в частности Symfony2 и ее компонентов.
- Что бы создать фремворк «под ключ» для ваших специфических нужд. (Только прежде убедитесь, что ваши нужды действительно специфические)
- Для эксперимента ради удовольствия ( научился и забил )
- Для рефакторинга уже существующих приложений, которые нуждаются в более современных и устоявшихся практических решениях.
- Что бы доказать что вы это можете (… пусть и с небольшой помощью)
+8
Объединенные формы и значения по умолчанию
2 мин
2.1KЗдравствуйте.
Сейчас я бы хотел облегчить жизнь всем тем людям, которые пишут свои проекты на основе фреймворка Symfony 2.
В Symfony 2, есть отличные инструменты по созданию форм из сущностей, а так же, что более интересно — объединенные формы.
Так вот, если вам понадобится установить в такую (объединенную) форму значения по умолчанию из сущностей (объектов), то вы (как и я) будете блуждать по просторам интернета, в поисках решения этой задачи, т.к. в документации этого, вроде бы, нет (во всяком случае, я не нашёл).
Сейчас я бы хотел облегчить жизнь всем тем людям, которые пишут свои проекты на основе фреймворка Symfony 2.
В Symfony 2, есть отличные инструменты по созданию форм из сущностей, а так же, что более интересно — объединенные формы.
Так вот, если вам понадобится установить в такую (объединенную) форму значения по умолчанию из сущностей (объектов), то вы (как и я) будете блуждать по просторам интернета, в поисках решения этой задачи, т.к. в документации этого, вроде бы, нет (во всяком случае, я не нашёл).
+25
Sluggable, Timestampable и так далее в Symfony 2
2 мин
12KПеревод
В второй Symfony, мы можем присоеденить бихейверы (behaviours) к нашим моделям используя расширения от Doctrine. Один пакет (bundle), StofDoctrineExtensionsBundle, даёт возможность использовать следующие бихейверы: Sluggable, Translatable, Timestampable, Loggable и Tree.
Вышеописанные расширения позволяет превратить обычные ссылки в удобочитаемые (sluggable), осуществлять простую поддержку интернационализации (translatable), организовывать контроль версий (loggable), создавать и автоматически заполнять дату создания и обновления сущности (timestampable), и организовывать древовидную структуру хранения данных (tree).
Вышеописанные расширения позволяет превратить обычные ссылки в удобочитаемые (sluggable), осуществлять простую поддержку интернационализации (translatable), организовывать контроль версий (loggable), создавать и автоматически заполнять дату создания и обновления сущности (timestampable), и организовывать древовидную структуру хранения данных (tree).
+15
Нестандартная аутентификация в проектах на Symfony 2.0
17 мин
17KЦель данной статьи — рассказать об организации нестандартной аутентификации для проектов на базе Symfony 2.0.
Это может понадобиться, в случае, когда затруднительно организовать доступ к учетным записям пользователей через ORM, либо авторизация осуществляется с помощью внешних ресурсов, например соц.сетей.
Зачем это может понадобится?
Это может понадобиться, в случае, когда затруднительно организовать доступ к учетным записям пользователей через ORM, либо авторизация осуществляется с помощью внешних ресурсов, например соц.сетей.
+25
Кастомные аннотации в Symfony 2
3 мин
12KSymfony2 — это веб-фреймворк, который появился совсем недавно. Соответственно, разработчики просто не успели написать к нему стоящую документацию. В одном из текущих проектов используется MongoDB, и ACL прикрутить нему можно, нужно всего лишь написать свой ACL-провайдер. Но я решил пойти своим путём. Итак, вот что примерно у нас получится:
class DefaultController extends Controller
{
/**
* Dashboard page.
* @Permissions(perm="dashboard_view")
* @Route("/", name="ITEDashboardBundle_index")
* @Template()
* @return array
*/
public function indexAction()
{.......
+19
Symfony2. Подводные камни кэширования
3 мин
9.3K
Прошло уже 3 месяца с тех пор, как я, в качестве хобби, начал писать проект на новом Symfony 2. Далее в статье я постараюсь поделиться с хабрасообществом проблемами, с которыми может столкнуться разработчик. Статья ориентирована на людей уже знакомых с архитектурой Symfony и Doctrine.
+16
Symfony2\SecurityBundle
14 мин
41KПеревод

Статья была опубликована 21 марта 2011 года, когда ещё не вышла финальная версия symfony2.0, однако принципы работы бандла не изменились.
Оригинальная статья — «Symfony2 Blog Application Tutorial Part V: Intro to Security» — часть цикла обучающих статей на примере создания блога.
Есть прямое продолжение/дополнение статьи — «Symfony2 Blog Application Tutorial Part V-2: Testing Secure Pages», где даётся пример тестирования «закрытых» частей приложения.
+44
Конференция Symfony Camp UA 2011
1 мин
1.4K
Конференция Symfony Camp UA 2011 посвящена разработке web-приложений с использованием PHP Framework Symfony. Основная тема конференции — это новая версия фреймворка Symfony 2. Это третья по счету конференция, которая состоится 29 октября 2011 года в Киеве.
Для участия необходимо пройти регистрацию. Конференция Бесплатная!
Программа конференции еще формируется. Все желающие выступить с докладом на Symfony Camp UA могут подать заявку на сайте 2011.symfonycamp.org.ua.
+25
Ближайшие события
Создание CRUD приложения на Symfony 2, часть 2
6 мин
8.1KПродолжение вводной статьи по Symfony 2. В первой части было описан процесс модификации формы редактирования записей, во второй части будем модифицировать интерфейс списка записей. В заготовке шаблона и контроллера списка записей, которую генерирует команда doctrine:generate:crud как минимум не хватает формы поиска записей и постраничной навигации.
+18
+28
Знакомство с Symfony 2
7 мин
101KВыход Symfony 2 показался мне достаточно веской причиной чтобы наконец-то найти время и посмотреть что же из себя представляет один из самых популярных PHP-фреймворков в мире. Своё знакомство с ним я и описал в данной заметке. Так как это мой первый опыт работы с Symfony буду рад если заметите какие-то ляпы или недочёты и сообщите мне о них.
+30
Symfony2 Book в pdf формате
1 мин
14KДобрый день.
Мне не удалось найти книгу по Symfony2 в pdf формате. И я решил восполнить этот пробел и в свободное время перевести Symfony2 Book в pdf формат. Хочу поделиться со всеми любителями Symfony этой книгой. Критика и предложения приветствуются т.к. подобной работой занялся в первый раз. Надеюсь, книга будет полезной.
Symfony2 The Book.pdf
Мне не удалось найти книгу по Symfony2 в pdf формате. И я решил восполнить этот пробел и в свободное время перевести Symfony2 Book в pdf формат. Хочу поделиться со всеми любителями Symfony этой книгой. Критика и предложения приветствуются т.к. подобной работой занялся в первый раз. Надеюсь, книга будет полезной.
Symfony2 The Book.pdf
+24
Вышла финальная версия Symfony2. Ура!
1 мин
2.3K
Оставив позади 12 превью релизов, 5 бета версий и 6 релиз кандидатов, наконец-то вышла финальная версия Symfony2 — претендента на звание самого лучшего на сегодня фреймворка, написанного на языке PHP.
На данный момент, Symfony2 — самый популярный проект на Github в разделе PHP и занимает 12 место по популярности на всей платформе Github.
Всего лишь за 4 месяца, еще до выхода финальной версии, только на одном Github было создано больше 400 бандлов (расширений) для Symfony2. Количество разработчиков на момент релиза составило около 250 и продолжает расти.
Поздравляю всех фанатов Symfony2 с таким значительным событием и желаю всем, кто взял участие в разработке, не останавливаться и продолжать радовать PHP-мир качественными продуктами!
Новость на сайте Symfony2
+51
Symfony2: Выпуск финальной версии (Fabien Potencier – 22 июля 2011)
2 мин
1KПеревод
Вы можете просмотреть файл UPDATE чтобы ознакомиться с последними изменениями.
Для обновления Symfony Standard Edition приложения необходимо обновить файлы deps и deps.lock.
Затем нужно выполнить скрипт обновления вендоров:
./bin/vendors install
Не забудьте очистьть кеш после обновления вендоров:
php ./app/console cache:clear
+17
Использование Zend GData в Symfony2-проекте
7 мин
2.3K
Ведущий разработчик фреймворка Symfony — Фабьен Потенсьер (Fabien Potencier) в 2009-м году выступил на Zend/PHP Conference с докладом о извлечении выгоды в совместном использовании Symfony 1.3/1.4 и Zend Framework. Основные тезисы его речи доступны в презентации, опубликованной на его персональном сайте [1].
Как известно, Symfony2 — это практически новый фреймворк, созданный с использованием новейших возможностей языка PHP. На данный момент разработка перешла в RC-цикл, и всё больше разработчиков, имеющих опыт работы на первой ветке Symfony (да и не только они), смотрят в сторону нового флагмана. Но, даже несмотря на значительное количество включенных в стандартное издание компонентов, Symfony2 не покрывает все нужды веб-разработчика, поэтому, рано или поздно, встает вопрос о подключении внешних библиотек.
Очевидно, что в этом свете объемный комплект библиотек Zend (Gdata, Search_Lucene, Pdf и т. д.) нельзя обойти стороной. В данном посте мной будет рассмотрен процесс интеграции Symfony2 и Zend на примере Zend Gdata — библиотеки для взаимодействия с Google Data API [2].
+14
Вклад авторов
pronskiy 4929.0spasibo_kep 263.2varanio 254.0AlexLeonov 249.0olegsklyarov 165.0icegreenberry 133.0Cutcode 119.8vsh797 99.0nProfessor 92.0frantic 89.0