Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pierwsza moja klasa..czy to tak?
quetra
post 20.04.2004, 17:24:19
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 biggrin.gif


--------------------
Niektórych rzeczy nie można ująć w inny sposób jak tak, czy inaczej....
Go to the top of the page
+Quote Post
jaco
post 20.04.2004, 18:05:17
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...
Go to the top of the page
+Quote Post
quetra
post 20.04.2004, 18:52:05
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 biggrin.gif czekam na oceny typu: tak wlasnie tak to sie robi lub a po co? nie mozna prosciej? biggrin.gif

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 biggrin.gif

Pozdrawiam wszystkich pomocnych biggrin.gif


--------------------
Niektórych rzeczy nie można ująć w inny sposób jak tak, czy inaczej....
Go to the top of the page
+Quote Post
jaco
post 20.04.2004, 19:33:16
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);
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 13:04