Autorius Tema: [Klausimas] OOP klasės prasmė  (Skaityta 1236 kartus)

Neprisijungęs Haris

  • Dalyvis
  • **
  • Įrašai: 833
  • Karma: +56/-0
    • Žiūrėti profilį
    • www.RubikoKubas.Lt
[Klausimas] OOP klasės prasmė
« Įrašytas: 2011-07-18 00:08:31 am »
Nagrinėdamas NET beans IDE sample project'a "AirAliance" pamačiau tokį dalyką

Sukuriama tokia klasė:

<?php
class Flight {

    private 
$FID;
    private 
$fName;
    private 
$source;
    private 
$dest;

    function 
set_FID($FID) {
        
$this->FID $FID;
    }

    function 
set_FName($fName) {
        
$this->fName $fName;
    }

    function 
set_source($source) {
        
$this->source $source;
    }

    function 
set_dest($dest) {
        
$this->dest $dest;
    }

    function 
get_FID() {
        return 
$this->FID;
    }

    function 
get_FName() {
        return 
$this->fName;
    }

    function 
get_source() {
        return 
$this->source;
    }

    function 
get_dest() {
        return 
$this->dest;
    }

}
?>


Ji panaudojama:

<?php
function getFlightInfo($FID){
    
$connection initDB();
    
$query;

    if(
$FID == 0){
            
$query "SELECT * FROM Flights";                
        }
        else{
            
$query "SELECT * FROM Flights WHERE FID=&#39;".$FID."&#39;";               
        }


    
$result mysql_query($query);
        
// or die ("Query Failed ".mysql_error());

    
$flightData;
    
$flightID 0;

    while(
$row mysql_fetch_array($result)){   
        
            
$FID $row[&#39;FID&#39;];
            
$FName $row[&#39;FName&#39;];
            
$SourceSID $row[&#39;SourceSID&#39;];
            
$DestSID $row[&#39;DestSID&#39;];
        
            
$query2 "SELECT * FROM Sectors WHERE SID=&#39;".$SourceSID."&#39;";
            
$result2 mysql_query($query2);
                
//or die ("Query Failed ".mysql_error());                
            
$row2 mysql_fetch_array($result2);
            
$source $row2[&#39;Sector&#39;];
        
            
$query3 "SELECT * FROM Sectors WHERE SID=&#39;".$DestSID."&#39;";
            
$result3 mysql_query($query3);
                
//or die ("Query Failed ".mysql_error());                
            
$row3 mysql_fetch_array($result3);
            
$dest$row3[&#39;Sector&#39;];
                
                //Build the Flight object
            
$flight = new Flight();        
            
$flight->set_FID($FID);
            
$flight->set_FName($FName);
            
$flight->set_source($source);
            
$flight->set_dest($dest);
                
                
//Build the Flight object array
            
$flightData[$flightID] = $flight;
            
$flightID $flightID +1;              
        }
    
closeDB($connection);
    return 
$flightData;
}
?>


Išvedama info:

<?php
                            $flightData 
getFlightInfo($FID);
                            
                            for(
$index=0;$index count($flightData);$index++){
                                
$flight $flightData[$index];
                                echo 
"<tr>";
                                echo 
"<td>".$flight->get_FID()."</td>";
                                echo 
"<td>".$flight->get_FName()."</td>";
                            
                                echo 
"<td>".$flight->get_source()."</td>";
                                echo 
"<td>".$flight->get_dest()."</td>";
                            
                                echo 
"</tr>";
                            }
?>


Kodėl klasėje talpinama info ir einama per ją? nepaprasčiau būtu tiesiogiai atvaizduoti su while ir mysql_fetch array?

Neprisijungęs vitalikaz

  • Dalyvis
  • **
  • Įrašai: 895
  • Karma: +59/-2
  • Tikėk kuo tiki
    • Žiūrėti profilį
    • blast.lt
Re: [Klausimas] OOP klasės prasmė
« Atsakymas #1 Įrašytas: 2011-07-18 19:03:21 pm »
Cia manau tiesiog kaip pavizdys, parodyta kaip veikia geteriai ir seteriai. Siuo metu dazniausiai, jeigu yra paprasta struktura, kur reikia tik seteriu ir geteriu, tai PHP'e naudojamas paprastas masyvas (kaip siuo atveju ir butu daroma)

Manualai.lt Forumas

Re: [Klausimas] OOP klasės prasmė
« Atsakymas #1 Įrašytas: 2011-07-18 19:03:21 pm »