Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Początki programowania obiektowego.
BuldogPro
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 19.01.2010

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


zaczynam programować obiektowo stworzyłem sobie na początek połączenie. jeśli możecie powiedzcie czy w dobrą stronę zmierzam z programowaniem obiektowym. Tak wygląda mój kod
  1. <?php
  2. class baza {
  3. var $dblink;
  4. var $host = "localhost";
  5. var $user = "root";
  6. var $pw;
  7. var $db;
  8. function __construct() {
  9. global $host,$user,$pw,$db;
  10.  
  11. $this->host = $host;
  12. $this->user = $user;
  13. $this->pw = $pw;
  14. $this->db = $db;
  15. }
  16. public function connect() {
  17. $this->dblink = @mysql_connect($this->host,$this->user,$this->pw) or die("Error!! You can not connect!");
  18. @mysql_select_db($this->db,$this->dblink) or die("Error! You can not select datebase!");
  19. }
  20.  
  21. }
  22. ?>


Ten post edytował BuldogPro 23.01.2010, 22:04:20
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Coś takiego jak global nie powinno być nawet w użyciu. Konstruktor może mieć parametry, więc ich używaj do przekazania klasie czegoś. Gdzie masz specyfikator dostępu danych (private, public)? Skąd var wytrzasnąłeś? Dlaczego wygłuszasz błędy poprzez @ zamiast je obsłużyć? Jeśli już robisz construct to czemu zapominasz o destruct? Jeśli już tworze obiekt klasy baza to chcę mieć od razu po jego utworzeniu możliwość działań bez konieczności łączenia, więc wszelkie wariacje z connect() nie powinny mieć miejsca. Inna sprawa, że kompletnie olewasz choćby port połączenia. Nie zawsze jest to domyślny 3306. Chcesz to robić tylko "pod siebie" czy może ma to być bardziej skalowalne? Ja bym nieco więcej informacji zamieszczał. Choćby jedno pole o nazwie $error, które zwracałoby ostatni komunikat błędu z bazy danych. Po prostu byłoby to bardziej rozbudowane (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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: 18.10.2025 - 10:55