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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: правильный класс или все таки процедурным языком написал ?
voskan
Отправлено: 30 Июня, 2013 - 19:27:20
Post Id


Посетитель


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


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




PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. class Mysql {
  4.  
  5. public $dbhost = 'host'; // Хост
  6. public $dbuser = 'login'; // Имя пользователя
  7. public $dbpassword = 'password'; // Пароль
  8. public $dbname = 'db'; // Имя базы данных
  9.  
  10.  
  11.  function Connect() {
  12.      $c =  mysql_select_db ($this->dbuser,mysql_connect ($this->dbhost,$this->dbuser,$this->dbpassword));
  13.      mysql_query("SET time_zone = '+4:00'");
  14.          if(!$c){
  15.          echo 'Не удалось подключиться к базе данных!';
  16.          }
  17.  }
  18.  
  19.  
  20.  
  21. $object = new Mysql;
  22. $object->Connect();
  23.  
  24. ?>
  25.  
  26.  


хочу понять я хоть как то пишу в стиле ооп или процедурный, просто хочу начать понимать ооп. вот и хочу вашего совета. просто есть люди создают классы и внутри процедурным программируют так как не понимают вот и я такой же. в таком стиле правильно продолжать улучшать класс ?
 
 Top
EuGen Администратор
Отправлено: 30 Июня, 2013 - 19:45:48
Post Id


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


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


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




Очень много раз обсуждалось. Волшебное слово "class" (и всё остальное, "смежное") - есть лишь реализация объектного подхода. Чтобы удалось создать программу согласно принципам ООП, необходимо понять концепцию, а не её реализацию в конкретном языке посредством конкретных приёмов.
Исходя из этого, вопрос не имеет особого смысла - поскольку Вы спрашиваете о суждении, касающемся подхода на основании некоторой частной реализации (Вашего кода, в данном примере).


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
voskan
Отправлено: 30 Июня, 2013 - 19:53:32
Post Id


Посетитель


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


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




EuGen
в ооп же есть свой стиль написания же ? как правильно писать. в какой последовательности надо делать. как оформить методы. я не имею ввиду логику а само написания кода.
 
 Top
Crate
Отправлено: 30 Июня, 2013 - 19:59:37
Post Id



Посетитель


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


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




voskan, стиль что-ли?
 
 Top
EuGen Администратор
Отправлено: 30 Июня, 2013 - 20:00:11
Post Id


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


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


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




ООП само по себе никаким образом не относится к коду. Код может быть лишь реализацией того или иного подхода (а может и не быть)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
voskan
Отправлено: 30 Июня, 2013 - 20:00:32
Post Id


Посетитель


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


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




просто читаю читаю везде пытаюсь вникнуть. представляю все как должно быть, но сажусь за комп не знаю с чего начать чтоб было правильно, чтоб не переписывать тот же процедурный код в классах.
 
 Top
EuGen Администратор
Отправлено: 30 Июня, 2013 - 20:01:44
Post Id


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


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


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




voskan
Рассмотреть бизнес-требования на бумаге. Там же, исходя из них, спроектировать бизнес-логику. Выделить сущности, связи, операции и т.п. Уже после можно задуматься о том, как это реализовать.


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


Посетитель


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


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




Crate
стиль то понятно.

название класса
свойство
методы

но вот саму логику как связать все это в одно вот не понимание какое то. вроде на простых примерах понимаю, но чуть сложнее или самому что то писать попадаю в тупик.
 
 Top
Crate
Отправлено: 30 Июня, 2013 - 20:05:04
Post Id



Посетитель


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


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




voskan, учебники + эксперементы, когда-нибудь начнете понимать.
 
 Top
voskan
Отправлено: 30 Июня, 2013 - 20:05:19
Post Id


Посетитель


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


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




EuGen

я правильно понял. то есть расписать весь функционал класса. какие методы и какие свойства в классе должны быть и что с ними нужно делать ? просто так же читаю литературу много терминов сложных которые не дают понять что да как. пытаюсь на практике что то понять на примерах .
 
 Top
vanicon
Отправлено: 30 Июня, 2013 - 20:08:53
Post Id



Частый посетитель


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


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




voskan
Для начала поймите, что класс описывает какую-то сущность, методы класса это те действия которые может выполнять сущность, из этого и исходите...

(Отредактировано автором: 30 Июня, 2013 - 20:09:09)



-----
Так было, так есть и так будет
 
 Top
voskan
Отправлено: 30 Июня, 2013 - 20:15:06
Post Id


Посетитель


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


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




vanicon

ну вот сущность класса гостевой книг это добавление, удаление, редактирование и вывод, на экран записей.

таким образом нужно представлять ? может кому то будет смешно но блин хочется понять хоть немного чтоб все дальше и дальше продвинуться.
 
 Top
vanicon
Отправлено: 30 Июня, 2013 - 20:21:59
Post Id



Частый посетитель


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


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




voskan
действия != сущность, сущность выполняет действия а не наоборот.
Для примера:
Есть пользователь, он может написать запись, удалить ее, из этого следует что нужно создать класс user и там реализовать методы такие как создание записи и ее удаление


-----
Так было, так есть и так будет
 
 Top
voskan
Отправлено: 30 Июня, 2013 - 22:05:32
Post Id


Посетитель


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


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




vanicon
спасибо буду вникать пробовать Улыбка торопить это не стоит придет понимание само с собой когда наступит время , всем спасибо Улыбка))
 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Июля, 2013 - 07:21:22
Post Id



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


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


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




vanicon пишет:
действия != сущность, сущность выполняет действия а не наоборот.
С чего вдруг?
Действие тоже может быть сущность, т.н. "сущность действия".
PHP:
скопировать код в буфер обмена
  1. class slaveEntity {
  2.   public function set1() {
  3.     echo "set 1";
  4.   }
  5.   public function set2() {
  6.     echo "set 2";
  7.   }
  8. }
  9.  
  10. class actionEntity {
  11.   private $slave = null;
  12.   public function __construct() {
  13.     $this->slave = new slaveEntity();
  14.   }
  15.   public function slaveSet1() {
  16.     $this->slave->set1();
  17.   }
  18.   public function slaveSet2() {
  19.     $this->slave->set2();
  20.   }
  21.   public function slaveSet21() {
  22.     $this->slave->set2();
  23.     $this->slave->set1();
  24.   }
  25.   public function slaveSet12() {
  26.     $this->slave->set1();
  27.     $this->slave->set2();
  28.   }
  29. }
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB