Тази книга е отлично модерно ръководство, с чиято помощ ще се научите да създавате PHP приложения с фреймуърка Symfony™.
Истината е, че пълна свобода можем да имаме единствено ако сами, стъпка по стъпка пишем своите уеб приложения. Само тогава няма да имаме никакви ограничения и можем да направим всичко от нулата така, както го желаем. Само че има един основен проблем – не винаги разполагаме с времето да създадем приложение от нулата. Обикновено проектът трябва да бъде готов „за вчера“, а по една или друга причина, използването на готова CMS от рода на Joomla!, Drupal или WordPress не е възможно. В тези случаи се прибягва до помощта на фреймуърк,
Ползите от използването на фреймуърк са безспорни. Така се ускорява създаването и се опростява поддръжката на приложенията. По-лесно се решават рутинните задачи, а програмистът има възможност да се концентрира именно върху самото приложение.
В началото на книгата е отделено нужното внимание на инсталирането и конфигурирането на Symfony™. След това се разглеждат методологията и инструментариума на фреймуърка – контролери, маршрутизация, шаблони, плъгини, система за пакети. Отделено е нужното внимание на работата с бази данни, модулното тестване, създаването и обработката на форми. Също така се разглеждат и безопастността, кеширането, превода на текст и локализацията. Накрая ще намерите практични съвети по оптимизация на Symfony™.
Съдържание
Въведение…7
Глава 1. Обзор на PHP фреймуърковете…9
1.1. Понятието фреймуърк…9
Част 1. Въведение във фреймуърковете
1.2. Обзор на популярните фреймуъркове…10
1.3. Сравнение на Symfony™ с другите фреймуъркове…13
1.4. Сравнение между Symfony™ и Lavarel…14
Глава 2. Основи на Symfony™…18
2.1. Протоколът HTTP…18
2.2. Работим със заявки и отговори в PHP…20
2.3. Работим със заявки и отговори в Symfony™…21
2.4. От заявката към отговора…23
2.5. Основни компоненти на Symfony™…26
Глава 3. Фреймуърк или чист PHP код?…28
3.1. Кое е по-добро?…28
3.2. Разработка на проста книга за гости с PHP…28
3.3. Проста книга за гости със Symfony™…38
Глава 4. Инсталиране и настройка на Symfony™…45
Част 2. Бърз старт
4.1. Подготовка на компютъра за инсталиране на Symfony™…46
4.2. Инсталиране на фреймуърка с помощта на Symfony™ Installer…53
4.3. Създаване на ново приложение (проект)…53
4.4. Стартиране на приложението…54
4.5. Инсталиране на Symfony™ без инсталатор…56
4.6. Проверка на конфигурацията на приложението на Symfony™…57
4.7. Актуализиране на вашите Symfony™ приложения…60
4.8. Настройка на уеб сървър Apache…60
4.9. Преди да продължим…61
Глава 5. Вашата първа страница с използване на Symfony™…63
5.1. Процес за създаване на страница…63
5.2. Изучаваме вашия проект…64
5.3. Създаване на маршрут…65
5.4. Динамични URL шаблони…68
5.5. Създаване на шаблон за вашата страница…69
Глава 6. Контролер…71
6.1. Конфигурация на маршрутизацията…71
Част 3. Контрол и маршрутизация
6.2. Какво е това контролер?…74
6.3. Отразяване на URL в действие…77
6.4. Обработка на грешки и страница 404…82
6.5. Обработка на сесия…83
6.6. Обект Response…83
6.7. Обект Request…84
6.8. Пренасочване към друг контролер…84
Глава 7. Маршрутизация…86
7.1. Въведение в маршрутизацията…86
7.2. Създаване на маршрути…87
7.3. Зависими от HTTP метода маршрути…92
7.4. Вътрешни имена на контролерите…93
7.5. Външна конфигурация на маршрутите…94
7.6. Дебъгване на маршрути…95
7.7. Генериране на URL…97
Глава 8. Създаване и използване на шаблони…100
Част 4. Шаблони и плъгини
8.2. Наследяване на шаблони и макети…104
8.3. Къде живеят шаблоните?…107
8.4. Свързване на други шаблони…108
8.5. Вграждане на контролери…109
8.6. Асинхронни заявки…111
8.7. Създаване на връзки …112
8.8. Проверка на синтаксиса на шаблоните…114
8.9. Дебъгване на шаблони…114
8.10. Глобални променливи на шаблона…115
Глава 9. Система на пакетите…116
9.1. Въведение в системата на пакетите…116
9.2. Създаване на пакет…117
9.3. Структура на папката на пакета…119
Глава 10. Бази данни и Doctrine…120
10.1. За достъпа до базата данни…120
10.2. Настройка на базата данни…120
Част 5. Работим с бази данни
10.3. Създаване на клас на същност…127
10.4. Създаване на гетъри и сетъри…130
10.4. Създаване на таблици база данни…137
10.5. Внасяне на информация в таблицата. Създаване на запис…140
10.6. Получаване на обекти от базата данни…142
10.7. Обновяване на обект…145
10.8. Изтриване на обект…146
10.9. SQL заявки…147
10.10. Потребителски класове на репозиторита…148
10.11. Практически моменти: пагинация…149
Глава 11. ORM Propel…154
11.1. Какво е ORM Propel?…154
11.2. Защо разработчиците на Symfony™ се отказват от Propel…155
Глава 12. Модулно тестване…157
12.1. Фреймуъркът PHPUnit…157
Част 6. За напреднали програмисти
12.2. Модулни тестове…158
12.3. Функционално тестване…161
Глава 13. Създаване и обработка на форми…166
13.1. Създаване на същност…166
13.2. Рендъринг на форма…170
13.3. Обработка на форма…172
13.4. Обработка на форми с няколко Submit бутона…175
13.5. Валидация на форма…176
13.6. Вградени типове на полета на форма…177
Глава 14. Безопасност…179
14.1. Параметри за безопасност…179
14.2. Избор на метод за автентификация на потребителя…181
14.3. HTTP автентификация…181
14.4. Форма за вход…187
Глава 15. Кеширане…194
15.1. Въведение в кеширането…194
15.2. AppCache…195
15.3. HTTP кеширане…198
15.4. Допълнителни методи на класа Response…205
15.5. Изчистване (анулиране) на кеша…206
Глава 16. Преводи и локализация…208
16.1. Въведение в локализацията…208
16.2. Настройка на Translation…209
16.3. Превод на текст…209
16.3. Малко практика…211
16.4. Превод в шаблони…213
16.5. Обработка на локала на потребителя…214
16.6. Превод на съобщенията на валидаторите…214
16.7. Недостатъци на компонента Translation…217
Глава 17. Настройка и оптимизация на Symfony™…218
17.1. Настройка на приложението…218
17.2. Дъмп конфигурации…221
17.3. Среди и техните конфигурации…222
17.4. Правим Symfony™ по-бързо…224
Заключение…227