Первым модулем сделаем обратную связь.
Обратная связь необходимый компонент практически для любого сайта, на ее примере мы опробуем многие интересные моменты.
Приступим.
1. Создаем проект
>symfony init-project minisite
2. Создаем 2 приложения
>symfony init-app frontend
>symfony init-app backend
3. Разворачиваем базу
ссылка на дамп
4. Пишем схему
propel:
sf_feedback_users:
_attributes: { phpName: FeedbackUsers }
id: { type: integer, required: true,primaryKey: true, autoIncrement: true }
name: { type: varchar(255) }
email: { type: varchar(255) }
subject: { type: varchar(255) }
sf_feedback_log:
_attributes: { phpName: FeedbackLog }
id: { type: integer, required: true, primaryKey: true, autoIncrement: true }
feedback_user_id: { phpName: FeedbackUserId, type: integer, foreignTable: sf_feedback_users, foreignReference: id }
name: { type: varchar(255) }
email: { type: varchar(255) }
subject: { type: varchar(255) }
content: { type: longvarchar }
is_published: { type: boolean, default: 0 }
get_answer: { type: boolean, default: 0 }
created_at: ~
updated_at: ~
Проверим propel.ini, вписываем свои настройки для MySQL
propel.targetPackage = lib.model
propel.packageObjectModel = true
propel.project = minisite
propel.database = mysql
propel.database.createUrl = mysql://root@localhost/
propel.database.url = mysql://root@localhost/minisite
5. Создаем модель
>symfony propel:build-model
6. Сгенерируем формы
>symfony propel:build-forms
7. Вносим поправки в C:\WINDOWS\system32\drivers\etc\hosts
127.0.0.1 minisite
8. Вносим изменения в httpd.conf
ServerName minisite
DocumentRoot "C:\www\sfprojects\minisite\web"
DirectoryIndex index.php
Alias /sf c:\php\data\symfony\web\sf
AllowOverride All
Allow from All
AllowOverride All
Allow from All
Перезапускаем Апач.
7. Проверяем
http://minisite/index.php
Если Вы видите такое изображение, значит все идет по плану :)
8. Создаем модуль обр.связи
>symfony init-module frontend feedback
Проверяем:
http://minisite/index.php/feedback
Если все сделано правильно, видим ту же картинку, только надпись по центру изменилась. Все идет хорошо, в следующей статье займемся непосредственной генерацией формы.
3 комментария:
Привет.
Хочу по-нормальному освоить symfony.
Я думаю, что всё пойму, если найду где-нибудь пример, как создать блог с авторизацией и древовидными коментами.
Есть где-нибудь такой туториал?
Привет, я именного такого учебника не видел.
Можно самим сделать, все инсрументы известны, завтра начнем ;)
Было б здорово.
Вообще, имхо, именно такой туториал нужно выкладывать всем создателям фреймворков в первую очередь. Потому что он описывает на начальном уровне 90% типичных задач.
Как работать с авторизацией и как привязывать вещи к пользователям.
А там уже не важно, какие вещи.
Вообще я для полной картины хочу сделать блог по (уже) твоему, а потом прикрутить к нему ещё и оценку постов самостоятельно.
И тогда это будет ну просто complete crash guide to symfony.
Да ещё и на русском.
Отправить комментарий