|
|
|
[PHP] Маппинг между объектом и $_POST
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Допустим есть такой код в контроллере: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. Проблемные места обозначены в коде как ПРОБЛЕМА 1 и ПРОБЛЕМА 2. Т.е. мне не нравится что этот маппинг надо делать вручную. Что посоветуете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2012, 04:28:36 |
|
||
|
[PHP] Маппинг между объектом и $_POST
|
|||
|---|---|---|---|
|
#18+
Аноним 250, не считаю это проблемой. наоборот сразу видно какие поля и как заполняются. есть свобода действия. можно сделать в базовом классе модели, метод для автоматического заполнения конечно, но что вы будете делать с автоматически заполняемыми полями типа даты, значений по умолчанию и т.д. только добавите себе проблем и свяжите себя по рукам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2012, 05:34:50 |
|
||
|
[PHP] Маппинг между объектом и $_POST
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2012, 09:32:47 |
|
||
|
[PHP] Маппинг между объектом и $_POST
|
|||
|---|---|---|---|
|
#18+
Например во фреймворке YII модель сама занимается заполнением себя из $_POST согласно некоторым правилам, описанным в самой же модели. Можете попробовать глянуть объектную модель этого фреймворка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2012, 09:54:57 |
|
||
|
[PHP] Маппинг между объектом и $_POST
|
|||
|---|---|---|---|
|
#18+
Только не из пост, а из свойства attributes ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2012, 10:15:38 |
|
||
|
[PHP] Маппинг между объектом и $_POST
|
|||
|---|---|---|---|
|
#18+
HettТолько не из пост, а из свойства attributes Ну свойству attributes то там $_POST передаётся :) Код: php 1. 2. В моём разумении это просто трансформируется в вызов сеттера класса CModel Код: php 1. То бишь всё-таки можно сказать, что "модель заполняет себя из переданного её $_POST" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2012, 10:30:25 |
|
||
|
[PHP] Маппинг между объектом и $_POST
|
|||
|---|---|---|---|
|
#18+
Это лишь частный случай, говорить что из ПОСТ не правильно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2012, 11:44:52 |
|
||
|
[PHP] Маппинг между объектом и $_POST
|
|||
|---|---|---|---|
|
#18+
MVC Fat Stupid Ugly Controllers Я так понимаю, вы намекаете что мой контроллер жирноват. Я новичок, возможно чего-то не понимаю. Можете предложить какие изменения лучше сделать в вышеприведенном коде и обосновать, чем это будет лучше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2012, 17:09:46 |
|
||
|
[PHP] Маппинг между объектом и $_POST
|
|||
|---|---|---|---|
|
#18+
anvanoНапример во фреймворке YII модель сама занимается заполнением себя из $_POST согласно некоторым правилам, описанным в самой же модели. Можете попробовать глянуть объектную модель этого фреймворка. Я глянул исходник метода setAttributes - там грубо говоря просто "$this->$requestKey=$requestValue;". В принципе можно сделать так же, т.е. в поля формы надо будет называть так же как поля класса. Но могут возникнуть некоторые трудности. Например у меня специальный хелпер, заполняющий шаблон из запроса смотрит на имя поля, и, например, если оно начинается с chk (checkbox) он вместо {chkField_checked} в шаблоне вставляет "checked='checked'". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2012, 17:14:32 |
|
||
|
[PHP] Маппинг между объектом и $_POST
|
|||
|---|---|---|---|
|
#18+
Вообще интересует, как эту задачу решают продвинутые "пхпшники"? Может они не заморачиваются и ручками заполняют, как в моём изначальном примере? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2012, 17:16:21 |
|
||
|
[PHP] Маппинг между объектом и $_POST
|
|||
|---|---|---|---|
|
#18+
авторЯ так понимаю, вы намекаете что мой контроллер жирноват. Я новичок, возможно чего-то не понимаю. Можете предложить какие изменения лучше сделать в вышеприведенном коде и обосновать, чем это будет лучше? а чего там обосновывать... хочешь мапишь - получаешь объект - нехочешь не мапишь - получаешь массив! и то, и то смело можно кидать в модель!!! в модели уже происходит валидация того, чего ты туда засунул!!! вот и всё... ;) Изменения предложить немогу - если ты используешь сторонний ФВ - тогда могу посочуствовать тем, кто спровоцировал тебя на его использование, бо весь ход мысли его создателей удивляет! - если это твоё творение - могу посочуствовать тебе, бо ход твоих мыслей неверен в корне! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2012, 18:17:00 |
|
||
|
|

start [/forum/topic.php?fid=23&fpage=147&tid=1465223]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 360ms |

| 0 / 0 |
