Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Корректность кострукции

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: мм... подскажите
nordghost
Отправлено: 02 Мая, 2012 - 20:05:50
Post Id



Посетитель


Покинул форум
Сообщений всего: 319
Дата рег-ции: Окт. 2011  


Помог: 3 раз(а)




насколько будет коректна такая конструкция и не является ли она быдлокодерской?

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. <?PHP
  4. class addnews{
  5.     public $author;
  6.     public $title;
  7.     public $short;
  8.     public $full;
  9.    
  10.     function __construct() {
  11.         if(!isset($_POST['author']) and !isset($_POST['title']) and !isset($_POST['short']) and !isset($_POST['full'])){
  12.        
  13.             $this->author=$_POST['author'];
  14.             $this->title=$_POST['title'];
  15.             $this->short=$_POST['short'];
  16.             $this->full=$_POST['full'];
  17.        
  18.         }
  19.     }
  20.    
  21.    
  22.    
  23. }
  24. ?>
  25.  
  26.  
  27.  

(Отредактировано автором: 02 Мая, 2012 - 20:08:23)



-----
<a href="http://netbeans[dot]org/">Моя любимая IDE</a> :3
 
My status
 Top
EuGen Администратор
Отправлено: 02 Мая, 2012 - 20:07:47
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




nordghost
Является таковой. Потому что стоит разделять валидацию, обработку данных и работу с моделью - это во-первых. Во-вторых, подобный класс не является контекстно-независимым, так как зависит от внешних данных. По сути - это случай side-effect и переносимость такого кода под большим вопросом.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
LIME
Отправлено: 02 Мая, 2012 - 20:08:11
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




PHP:
скопировать код в буфер обмена
  1. isset($_POST['author']) and !isset($_POST['title']) and !isset($_POST['short']) and !isset($_POST['full'])
  2. isset($_POST['author'],$_POST['title'],$_POST['short'],$_POST['full'])
 
 Top
nordghost
Отправлено: 02 Мая, 2012 - 20:09:49
Post Id



Посетитель


Покинул форум
Сообщений всего: 319
Дата рег-ции: Окт. 2011  


Помог: 3 раз(а)




side-effect

если можно поподробнее об этомм


-----
<a href="http://netbeans[dot]org/">Моя любимая IDE</a> :3
 
My status
 Top
LIME
Отправлено: 02 Мая, 2012 - 20:09:55
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




PHP:
скопировать код в буфер обмена
  1. function __construct($var1,$var2...)

а туда уже передавать пост после валидации
(Добавление)
и сделать их приватными

(Отредактировано автором: 02 Мая, 2012 - 20:11:54)

 
 Top
nordghost
Отправлено: 02 Мая, 2012 - 20:11:57
Post Id



Посетитель


Покинул форум
Сообщений всего: 319
Дата рег-ции: Окт. 2011  


Помог: 3 раз(а)




а вот всегда ли есть надобность создавать конструктор(как хороший тон программинга) или необезательно?


-----
<a href="http://netbeans[dot]org/">Моя любимая IDE</a> :3
 
My status
 Top
LIME
Отправлено: 02 Мая, 2012 - 20:14:46
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




это необязательно но чаще целесообразно имхо
если делаете убедитесь что это полезно
 
 Top
caballero
Отправлено: 02 Мая, 2012 - 20:16:19
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
стоит разделять валидацию, обработку данных и работу с моделью

тогда этот быдлокод превратится в индусский код

Цитата:
а вот всегда ли есть надобность создавать конструктор(как хороший тон программинга) или необезательно?

когда надо выполнить инициализацию полей объекта


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
EuGen Администратор
Отправлено: 02 Мая, 2012 - 20:23:14
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




caballero
У каждого свои понятия о подходе. Есть среди этих мнений и такое, что класс должен реализовывать ту и только ту сущность, для которой он нужен (я исходил из названия).
По поводу конструктора - вопрос уходит корнями в объектный подход (пресловутое ООП), но не в "хороший тон".


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
nordghost
Отправлено: 02 Мая, 2012 - 20:24:30
Post Id



Посетитель


Покинул форум
Сообщений всего: 319
Дата рег-ции: Окт. 2011  


Помог: 3 раз(а)




где лутше будет фильтровать данные из формы полученые постом, создать отдельный клас или напрямую используя функциональное программирование?


-----
<a href="http://netbeans[dot]org/">Моя любимая IDE</a> :3
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB