Autor Zpráva
cheli
Profil
Zdravím, koukněte na muj kód a zkuste mi prosím nějak poradit, jak bych v něm mohl ověřit připojení na server či k db. Zatím se OOP učím a tenhle kód je vytvořen jen k pochopení postupů OOP:

class Mysql {
  public $server;
  public $user;
  public $pw;
  public $db;
  
  function pripojeni() {
    $link = mysql_connect($this->server,$this->user,$this->pw);
    mysql_select_db($this->db);
    mysql_query('SET NAMES utf-8');
  }
}

$mysql = new Mysql();
$mysql -> server = 'localhost';
$mysql -> user = 'root';
$mysql -> pw = '';
$mysql -> db = 'gb';
$mysql -> pripojeni();
__construct
Profil
  function pripojeni() {
    $link = mysql_connect($this->server,$this->user,$this->pw);
    mysql_select_db($this->db);
    mysql_query('SET NAMES utf-8');
    return $link;
  }

mysql_connect vracia identifier pripojenia k DB pri úspechu a FALSE pri zlyhaní .. takže stačí overiť

if($mysql->pripojeni()){
//  ak je pripjený k DB ..
}else{
// ak sa nepripojil ..
}


ale nepáči sa mi ten OO prístup aký používaš..
pozri si tento článok .. je celkom podarený
cheli
Profil
__construct:
já se to zatim učim. Jen zkoušim věci, co mě napadnou. Přijde mi to pak zábavnější, než to zkoušet podle nějakého návodu či knížky. Ale dík za tip článku. Určitě si z toho zkusim něco vzít. Měj se
AM_
Profil
Především se vykašli na psaní si vlastní třídy pro připojování k MySQL. Tím začíná spousta lidí, ale o tom OOP není, pokud chceš objekty, použij objektové již hotové rozhraní mysqli, které je součástí PHP5.
__construct
Profil
cheli:
já se to zatim učim. Jen zkoušim věci, co mě napadnou. Přijde mi to pak zábavnější, než to zkoušet podle nějakého návodu či knížky. Ale dík za tip článku. Určitě si z toho zkusim něco vzít. Měj se
jj to Ti schvaľujem, ale nie je na škodu čítať nejaké návody, pretože to píšu (teda zväčša) ľudia čo OOP rozumejú .. a podľa toho čo vidím tak Ty by si si mal najprv o OO niečo všeobecné naštudovať.

napr. tie premenné s heslom, menom, atď. by som rozhodne nedeklaroval ako public ale ako private (sú to citlívé údaje a nechceš aby k nim mal prístup niekto iný mimo Tvojej triedy) pridal by som tam premennú pripojenie a tú deklaroval ako public (bol by to identifikátor pripojenia) a tú funkciu by som deklaroval ako public __contruct, atď ..
Len sa Ti snažím povedať, že keď sa to učíš sám, môžeš si osvojiť nejaké "zlozvyky" ..
Lamicz
Profil
Z hlediska spravneho OOP navrhu by nemely byt zadny tridni promenny public, maximalne protected. K pristupu k nim by se mely pouzit getter/setter metody. Taktez by objekt nemel nic delat sam pri vytvoreni (new), tzn. konstruktor by mel byt prazdny nebo opravdu spravne napsany vzhledem k pouziti. Jinak jak napsal AM_, tohle opravdu neni OOP.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0