![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 19.02.2004 Skąd: zalibórz Ostrzeżenie: (0%) ![]() ![]() |
Hmmm no dobra - to moja pierwsza klasa. Pytam sie czy tak to sie wlasnie robi, na przykladzie klasy ktora obsluguje baze danych. Sam skrypt dziala bez problemu, ale moze sa jakies bardziej funkcjonalne rozwiazania na napisanie go.
[php:1:f01808fa7f]<? class Db { var $DBHost,$DBUser,$DBPass,$DBN,$Query; function DBConnect() { $connect=mysql_connect($this->DBHost,$this->DBUser,$this->DBPass)or die('Connection Error: '.mysql_error()); $baza=mysql_select_db($this->DBName)or die('DataBase Error: '.mysql_error()); return $connect; } function DBNumRows() { $zap=mysql_query($this->Query,$this->DBConnect())or die('Query Error: '.mysql_error()); return mysql_num_rows($zap); } } $Enew= new Db; $Enew->DBHost='localhost'; $Enew->DBUser='root'; $Enew->DBpass=''; $Enew->DBName='mysql'; $Enew->Query='SELECT * FROM Db'; // i jako przykladowe wywolanie wyniku echo "Ilosc wierszy: ".$Enew->DBNumRows(); ?> [/php:1:f01808fa7f] Czy sa jakies inne sposoby deklarowania zmiennych dla danej kopii obiektu, czy zawsze trzeba z tymi $Enew->DBHost='costam'; i tak dalej.... Pozdrawiam mastahów ![]() -------------------- Niektórych rzeczy nie można ująć w inny sposób jak tak, czy inaczej....
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 1 Dołączył: 15.01.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Czy sa jakies inne sposoby deklarowania zmiennych dla danej kopii obiektu, czy zawsze trzeba z tymi $Enew->DBHost='costam';
i tak dalej.... Zasada chyba jedna a sposobow miliony - mozesz np. przekazac tablice w taki sposob: $Enew->set_conf(array $x); Ta metoda mozne np. zadeklarowac wlasciwosci o nazwie index i podanej wartosci... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 19.02.2004 Skąd: zalibórz Ostrzeżenie: (0%) ![]() ![]() |
Nno ulepszylem moje pierwsze cudo o cos takiego
![]() ![]() W kazdym razie spodobaly mi sie klasy. Ciezko sie projektuje ( jak na poczatku), ale potem super wygoda w pisaniu kodu. [php:1:f0ec3dce0c]<?php $dane=array('DBHost'=>'localhost','DBUser'=>'root','DBPass'=>'','DBName'=>'mysql','Query'=>'SELECT * FROM Db'); class Db { var $DBHost,$DBUser,$DBPass,$DBN,$Query,$Data; function DbCreator() { foreach ($this->Data as $key=>$val) { $this->$key=$val; } } function DBConnect() { $connect=mysql_connect($this->DBHost,$this->DBUser,$this->DBPass)or die('Connection Error: '.mysql_error()); $baza=mysql_select_db($this->DBName)or die('DataBase Error: '.mysql_error()); return $connect; } function DBNumRows() { $zap=mysql_query($this->Query,$this->DBConnect())or die('Query Error: '.mysql_error()); return mysql_num_rows($zap); } } $Enew=new Db; $Enew->Data=$enew; $Enew->DbCreator(); echo $Enew->DBNumRows(); ?>[/php:1:f0ec3dce0c] Nie sprawdzalem tego, ale teraz moge sopbie dopisac do tej klasy inne dowolne funkcje i potem je sobie wywoluje odwolujac sie do tego obiektu albo gdzie inndziej odwolujac sie do innego stworzonego obiektu i sie nie popieprzy tak? Poczatki sa truuuudne ![]() Pozdrawiam wszystkich pomocnych ![]() -------------------- Niektórych rzeczy nie można ująć w inny sposób jak tak, czy inaczej....
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 1 Dołączył: 15.01.2003 Ostrzeżenie: (0%) ![]() ![]() |
A po co dwa razy zapisywac te same dane? Odrazu je wpisz do wlasciwosci:
$obiekt->metoda_z_foreach($dane); |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 13:04 |