[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Класс Гостевой
Patrick
PHP
  1.  
  2. <?
  3. class GuestBook
  4. {
  5. private $name;
  6. private $email;
  7. private $web;
  8. private $message;
  9. public function __construct($name, $email, $web, $message)
  10. {
  11. $this->name = $name;
  12. $this->email = $email;
  13. $this->web = $web;
  14. $this->message = $message;
  15. }
  16. public function getName()
  17. {
  18. return $this->name;
  19. }
  20. public function getEmail()
  21. {
  22. return $this->email;
  23. }
  24. public function getWeb()
  25. {
  26. return $this->web;
  27. }
  28. public function getMessage()
  29. {
  30. return $this->message;
  31. }
  32. }
  33.  
  34. class GuestBookDb
  35. {
  36. private $db; //Объект для работы с базой
  37. public function __construct($db)
  38. {
  39. $this->db = $db;
  40. }
  41. public function Select()
  42. {
  43. $this->db->DbQuery("SELECT * FROM gb");
  44. $output = array();
  45. $dbArray = $this->db->Db2Array();
  46. foreach($dbArray as $ar)
  47. {
  48. $output[] = new GuestBook($ar['name'],$ar['email'],$ar['web'],$ar['message']);
  49. }
  50. return $output();
  51. }
  52. public function Insert($obj) //$obj - объект типа GuestBook
  53. {
  54. $name = $obj->getName();
  55. $email = $obj->getEmail();
  56. $web = $obj->getWeb();
  57. $message = $obj->getMessage();
  58. $sql = "INSERT INTO gb (name, email, web, message) VALUES('$name', '$email', '$web', '$message')";
  59. if($this->db->DbQuery($sql))
  60. return true;
  61. return false;
  62. }
  63. }
  64. ?>
  65.  




1. Прошу афтора, поясить как это работаеть!
2. А не большая ли связность в коде?




Спустя 10 часов, 1 минута, 56 секунд (2.03.2007 - 11:57) Ghost написал(а):
а откуда это взято?, афтар кто?афтара в студию
кроме того окромя методов public function get...() не вижу методов public function set...()
почему бы в public function Select() просто не выбрать нужные поля из базы

эт что касается кода, а что значит "большая ли связанность"?

Спустя 42 минуты, 33 секунды (2.03.2007 - 12:40) Patrick написал(а):
GuestBookDb и GuestBook, очень сильно завязаны, такого быть не должно ихмо!
С блогов на нашем форуме! Афтар Alexander K.

Спустя 1 час, 13 минут, 56 секунд (2.03.2007 - 13:54) Ghost написал(а):
видимо автор посчитал нужным разбить один клас - гэстбук на 2, дабы отделить работу с базой данных от всего прочего (в даном случае - методов get...) как по мне - в даном случае более уместен все-таки один клас, нефиг плодить лишние сущности без необходимости,

static function Select()
public function save() - не перегрузят клас GuestBook

мне такая структура ближе, но кто его знает, как автор дальше проект развивать будет :)


Спустя 11 дней, 9 часов, 5 минут, 41 секунда (13.03.2007 - 23:00) Greblin написал(а):
а что вообще этот год должен делать? blush.gif

Спустя 1 час, 9 минут, 13 секунд (14.03.2007 - 00:09) Patrick написал(а):
Простейшая Гостевая

Спустя 10 часов, 8 минут, 32 секунды (14.03.2007 - 10:17) Alexander K написал(а):
Да, это мой класс. Для чего и почему сделано именно так можно узнать по следующему линку - http://www.softtime.ru/article/index.php?id_article=108
Связанность есть, но нагрузка на сервер снижается. Считайте, что это один тип, а не два. Они действуют в связке.
А вот лично мне сейчас пофиг как кто пишет и на чем. Было время, разместил. Кто захочет, тот путь так пишет, кто не захочет применять подобные конструкции, то пусть так не пишет. Мне все равно.

Спустя 5 месяцев, 28 дней, 8 часов, 47 минут, 5 секунд (12.09.2007 - 18:04) SirJay написал(а):
Блин а че только гостевуха!? я всю свою CMS но ООП бабахаю...и форум и RSS и гостевуху...и т.д. и т.п. что-то типа Joomla будет!


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.