Jump to content
php.lv forumi

Vai shai gadiijumaa ir kaada jeega no oop?


neo

Recommended Posts

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];

}

?>

Link to comment
Share on other sites

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
Link to comment
Share on other sites

  • 2 weeks later...

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.

Link to comment
Share on other sites

×
×
  • Create New...