Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Допустим ли повтор кода в классе с точки зрения объектно-ориентированного программирования
 
 автор: JIEXA   (28.09.2007 в 18:53)   письмо автору
 
 

Начал потехоньку осваивать последнюю ступеньку в PHP5 - ООП.

Попробывал написать простенький класс. Что получилось - в аттаче.

Возник вопрос: у меня в коде 3 раза повторяеться один и тот же кусок:

<?
if(empty($query_id)) $query_id $this->query_id;
?>


С точки зрения ООП это ведь не правильно, да? Как можно мне избавиться от повторения этого куска кода? Спасибо

   
 
 автор: JIEXA   (28.09.2007 в 19:14)   письмо автору
 
   для: JIEXA   (28.09.2007 в 18:53)
 

забыл прикрепить..

   
 
 автор: Саня   (29.09.2007 в 01:27)   письмо автору
 
   для: JIEXA   (28.09.2007 в 19:14)
 

Элементарно :)
<?
//...
function query_id($query_id) { return (empty($query_id)) ? $this->query_id $query_id; }
//...
function get_array($query_id "") {
  return 
mysql_fetch_assoc(query_id($query_id));
}

function 
get_num($query_id "") {
  return 
mysql_num_rows(query_id($query_id));
}

function 
get_aquery($query) {
  
$query query_id($query);
  return 
$this->get_array($this->query($query));
}
//...

   
 
 автор: cheops   (30.09.2007 в 02:50)   письмо автору
 
   для: JIEXA   (28.09.2007 в 18:53)
 

>С точки зрения ООП это ведь не правильно, да?
Да, нет, особенно если речь идёт об параметрах методов... только вы классом дублируете стандартный API для работы с MySQL не привнося ничего нового, кроме лишней работы сопровождающего программиста, который будет читать код. Уж если и использовать ООП для работы с MySQL - лучше вопользоваться стандартным расширением php_mysqli(), которое изучат многие программисты, в отличие от самописанной библиотеки доступа.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования