Jump to content
php.lv forumi

Vai shai gadiijumaa ir kaada jeega no oop?


Recommended Posts

Posted

Vai shajaa gadiijumaa ir jeega lietot OOP?

 

klases.php

 

<?

class database{

var $db_HOST = "localhost";

var $db_USER = "logins";

var $db_PASS = "parole";

var $datu_baze = "produkti";

var $kluda = "Nevar pieslegties";

var $dbc ;

 

function database()

{

$this->connect_db();

}

 

function connect_db()

{

$this->dbc = mysql_connect($this->db_HOST,$this->db_USER,$this->db_PASS);

$m = mysql_select_db($this->datu_baze,$this->dbc);

return($dbc);

}

 

function query($sql)

{

if ($result = mysql_query($sql,$this->dbc))

{

return $result;

}

}

 

 

function to_array($result)

{

$row = mysql_fetch_array($result);

return $row;

}

}

 

?>

 

index.php

 

<?

 

include("klases.php");

$dat_baz = new database;

$dat_baz->database();

$result= $dat_baz->query("SELECT * FROM darzeni");

 

while ($row = $dat_baz ->to_array($result))

{

echo $row[burkani];

}

?>

Posted

Būs, ja

 

1.) paramteru imports (attieciģii 2. punkts + konstruktors)

2.) extendēšana - tipa varēs jūzāt anydb (pg,mysql,ora)

3.) error handlings kaut kāds

4.) sql log

Posted

Klases konstruktors (shajaa gadiijumaa metode `database()`) jau tiek izpildiits, kad tu izveido jaunu klases objektu: $db = new database(); taapeec nevajag veelreiz izpildiit to database() metodi.

Posted (edited)

Analgiins, ar konstruktoru es dmaju `tieso` konstruktoru, kas atkariibaa no DBDriverType, uztaisa konkrēto instanci...

 

 

$db_my40 = new DatabaseConn( $params );

..
function DatabaseConn( $params ){
 switch ($params->dbdriver) {
   case 'mysql40':
                 $db = new Mysql40DatabaseConn($params);
                 break;
   ....
 }
}


class Mysql40DatabaseConn extends DatabaseConn {
}

..

 

 

vot tad ir jēga OOP. a rakstīt klasi, tikai pārgrazējot func nosaukumus.. tas nav pareizs OOP pielietojums

Edited by Delfins
  • 2 weeks later...
Posted

Vismaz butu pastastijushi jautajuma uzdevejam kas ira Singleton a to varbut vinsh neiebrauca. Un ja varu deret ka vinsh neiebreuca kas ira patterni.

Posted (edited)

Es arī neiebraucu vai pareizāk sakot nebija vēlēšanās meklēt, bet jūtu, ka ir kkas labs :)

 

Paldies par linku :)

Edited by Paulinjsh
Posted

OOP ir jēga lietot, ja:

1. Kods tiks lietots vairākos projektos.

2. Kods (kā, piemēram, konektēšanās uz mysql) tiks izsaukts daudzas reizes.

2. Kodu lietos vēl kāds cits bez tā, kurš to kodējis.

 

Es galveno kārt lietoju OOP, jo tas ir parocīgi, man viss ir klasēs un visu es varu salikt ar tā saucamo ķieģelīšu metodi. Citādi neredzu īpašu OOP pielietojumu, it sevišķi iekš PHP.

×
×
  • Create New...