Skip to content

Commit

Permalink
Symfony: незначительные уточнения
Browse files Browse the repository at this point in the history
  • Loading branch information
maxim-oleinik committed Mar 4, 2011
1 parent 08b472b commit c433e3c
Showing 1 changed file with 10 additions and 12 deletions.
22 changes: 10 additions & 12 deletions symfony.txt
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,7 @@
sf_method: post
sf_method: put
sf_method: delete
Для "get" запросов желательно оставлять возможность "head" запросов.
Поисковики все-таки.
Для "get" запросов желательно оставлять возможность "head" запросов. Поисковики все-таки.

3.5 Используем requirements, чтобы лимитировать sf_format:
requirements:
Expand All @@ -92,6 +91,9 @@
*/
public function executeIndex(sfRequest $request)

4.4 Контроллеры не должны содержать бизнес-логики, вычислений. Все выносить в модели
и отдельные классы. Длинный метод - индикатор перегрузки.


5. Шаблоны
----------
Expand Down Expand Up @@ -147,11 +149,8 @@
чтобы контроллер или другой клиент мог самостоятельно выбрать способ гидрации
или уточнить запрос.

6.2 Названия табличных методов:
- queryFindListByCustomCriteria(...) # Выбрать список
- findOneByCustomCriteria(...) # Выбрать один объект
- filterByAuthor(Doctrine_Query $q, Author $author) # Уточнить запрос с фильтром по автору
- withAuthor(Doctrine_Query $q) # Сделать выборку с джойном по авторам
А еще лучше читаем и делаем:
http://prendreuncafe.com/blog/post/Optimize-your-Doctrine-Workflow-with-Specialized-Queries


7. БД/schema.yml
Expand All @@ -175,8 +174,8 @@
7.3 Для первичных ключей используем по смыслу:
type: integer(4), unsigned: false
type: integer(3)
type: integer(2)
type: integer(1)
type: integer(2) # +-32767
type: integer(1) # +-127
До бигинта integer(8) редко кто доживает, а кто доживает, тот понимает, что это уже float.

7.4 Первичные ключи не объявляем в схеме там, где это возможно.
Expand All @@ -202,12 +201,12 @@
005_Article_DropTable.php

класс:
class Migration001_Article_CreateTable
class Migration_Article_CreateTable

8.3 Если есть возможность, используем короткую запись миграций вместе с migrate().
См. http://www.doctrine-project.org/projects/orm/1.2/docs/manual/migrations/en#writing-migration-classes:up/down-automation

8.4 Всегда делать возможность откатить миграцию.
8.4 ВСЕГДА делаем возможность откатить миграцию.

8.5 Миграции данных пишем ТОЛЬКО в raw sql и не используем модели.
Пишем в pre/post хуках.
Expand All @@ -220,7 +219,6 @@ TODO
- Указывать AppNamе: app/lib/myAdminUser.php
- BaseClass, ArticleQuery (myAdminArticleQuery)
- В первую очередь класть классы в app/lib, а потом выносить в глобальный lib при первой необходимости.
- Doctrine query: http://prendreuncafe.com/blog/post/Optimize-your-Doctrine-Workflow-with-Specialized-Queries
- schema.yml: Всегда указывать relations: autoComplete: false, и включать при первой необходимости.
- i18N
- генерация админки

0 comments on commit c433e3c

Please sign in to comment.