Newsgroup: it.comp.www.php
Titolo: Perche le classi le funzioni per le query?

Scusate se faccio sta domanda ma perche si creano le classi per le
query?
sto studiando mysql e php ed in un esempio mi trovo questi esempi:
3 file composti da 1 classe, 1 funzione, la mia pagina php
file 1:
class GuestCompany {
    private $CID;
    private $company;
    private $address;
	private $cap;
    private $city;
	private $prov;
	private $country;
    function __constructor($CID, $company, $address, $cap, $city,
$prov, $country) {
        $this->CID = $CID;
		$this->company = $company;
        $this->address = $address;
        $this->cap = $cap;
		$this->city = $city;
		$this->prov = $prov;
        $this->country = $country;
    }
    function set_CID($CID) {
        $this->CID = $CID;
    }
    function set_company($company) {
        $this->company = $company;
    }
    function get_CID() {
        return $this->CID;
    }
    function get_company() {
        return $this->company;
    }
....................
File 2
poi ho una funzione per le query:
function getCompany($CID){
    $connection = initDB();
    $query;
ed il ciclo while della query è cosi formato:
    while($row = mysql_fetch_array($result)){
            $CID = $row['CID'];
			$company = $row['Ragionesociale'];
            $address = $row['Indirizzo'];
			$cap = $row['Cap'];
            $city = $row['Citta'];
			$prov = $row['Provincia'];
			$country = $row['Country'];
            //Build Guestcompany object
            $guestCompany = new GuestCompany();
            $guestCompany->set_CID($CID);
            $guestCompany->set_company($company);
            $guestCompany->set_address($address);
			$guestCompany->set_cap($cap);
            $guestCompany->set_city($city);
			$guestCompany->set_prov($prov);
			$guestCompany->set_country($country);
nella pagina web:
            $companyData = getCompany(0);
            for($index=0;$index < count($companyData);$index++){
            	$guestCompany = $companyData[$index];
                echo "<tr>";
                echo "<td><a class='data' href='company-dett.php?CID=".
$guestCompany->get_CID()."'>".$guestCompany->get_CID()."</a></td>";
				echo "<td>".$guestCompany->get_company()."</td>";
				echo "<td>".$guestCompany->get_address()."</td>";
				echo "<td>".$guestCompany->get_cap()."</td>";
				echo "<td>".$guestCompany->get_city()."</td>";
				echo "<td>".$guestCompany->get_prov()."</td>";
				echo "<td>".$guestCompany->get_country()."</td>";
				echo "<td><a class='data' href='company-del.php?CID=".
$guestCompany->get_CID()."'>Canc</a></td>";
                echo "</tr>";
             }
per cui la mia domanda è questa:
perche crere una classe una funzione per le query?


Veramente la classe la crei per l'oggetto, poi li dentro hai un metodo 
per creare l'oggetto dal db; normalmente si dovrebbero usare dei dao (in 
php spesso li ho visti chiamare handler), ma nulla impedisce di lasciare 
metodi che accedano al db nella classe dell'oggetto, come in questo caso.
Ma č la normale oop, non č qualcosa di particolare php. Ovviamente 
liberissimo di usare altri paradigmi di programmazione, solo questo č il 
+ diffuso, ed universamente piů usato.
Ma se a te piace d+, puoi anche non usare gli oggetti (chiaramente il 
codice diventa molto  molto + incasinato, probabilmente illeggibile x 
gli altri e farai a mio avviso + fatica a sviluppare, ed immensamente d+ 
a debuggare).
-- 
Z.

 molto  molto + incasinato, probabilmente illeggibile x gli altri
Quale ironia.

 Z.
Per cui questo metodo di creare le query è corretto da quello che mi
par di capire