Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Tworzenie klas
Raven1122
post
Post #1





Grupa: Zarejestrowani
Postów: 369
Pomógł: 2
Dołączył: 1.11.2010

Ostrzeżenie: (0%)
-----


Witam napisalem takie cos:


  1. <?php
  2.  
  3. class mysql_db_connect {
  4.  
  5. public $host;
  6. public $user;
  7. public $password;
  8. public $database;
  9.  
  10. public function connect($host, $user, $password, $database){
  11. mysql_connect($host, $user, $password) or die(mysql_error());
  12. mysql_select_db($database);
  13.  
  14. }
  15. }
  16.  
  17. ?>
  18.  


  1. <?php
  2.  
  3. require_once("mysql.Class.php");
  4.  
  5. $db = new mysql_db_connect();
  6. $db->connect('localhost', 'user', 'password', 'database');
  7.  
  8. ?>


Czy jest to dobrze napisane? Prosze tez o wyrozumialosc, zaczynam dopiero co kolwiek robic obiektowo.
Z gorzy dziekuje z odpowiedz (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Napisane jest dobrze tylko nie ma większego uzasadnienia. Po pierwsze i najważniejsze jest PDO, ewentualnie mysqli.
Go to the top of the page
+Quote Post
Raven1122
post
Post #3





Grupa: Zarejestrowani
Postów: 369
Pomógł: 2
Dołączył: 1.11.2010

Ostrzeżenie: (0%)
-----


a moge o jakas podpowiedz poprosic? przyklad na ktorym bede mogl se wzorowac?
Go to the top of the page
+Quote Post
redeemer
post
Post #4





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


@viking: Napisane jest to źle.

@Raven1122: Atrybuty w klasie w Twoim wypadku są niepotrzebne - bo nigdzie ich nie używasz. Zresztą i tak powinny mieć inny zakres widoczności. Ja osobiście zostawiłbym te atrybuty (ze zmienioną widocznością) i dane potrzebne do połączenia przekazał w konstruktorze, natomiast w funkcji connect() tylko bym się do nich odwołał.

A vikingowi chodziło o to, że jak masz zamiar pisać własną klasę do obsługi bazy danych, to istnieją już gotowe i sprawdzone rozwiązania.
Go to the top of the page
+Quote Post
Raven1122
post
Post #5





Grupa: Zarejestrowani
Postów: 369
Pomógł: 2
Dołączył: 1.11.2010

Ostrzeżenie: (0%)
-----


a tak lopatologicznie jakis przyklad bym poprosil
Go to the top of the page
+Quote Post
viking
post
Post #6





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


http://php.net/manual/en/book.pdo.php

Czy źle napisane to kwestia dyskusyjna. Jasne że według sztuki poprawne będzie coś w stylu:
  1. class mysqlAdapter {
  2.  
  3. protected $_host, $_user, $_password, $_database;
  4.  
  5. public function construct($host, $user, $password, $database){
  6. mysql_connect($host, $user, $password) or die(mysql_error());
  7. mysql_select_db($database);
  8. //zwrócić jeszcze connection
  9. }
  10.  
  11. public function setHost($host) {
  12. $this->_host = $host;
  13. }
  14.  
  15. public function getHost() {
  16. return $this->_host;
  17. }
  18.  
  19. }


Ale nie znaczy to że sposób wyżej jest od razu zły.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.12.2025 - 02:01