Pogledajte određenu poruku
Staro 28. 02. 2006.   #28
Ilija Studen
Direktor Kombinata
Invented the damn thing
 
Avatar Ilija Studen
 
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
Ilija Studen će postati "faca" uskoroIlija Studen će postati "faca" uskoro
Default

Svež primer. Imam reklamnu kampanju koja ima vlasnika. Tokom prvog dela razvoja owner_name je bio varchar polje koje je sadržalo samo ime jer je to bilo dozvoljno da bi se zadovoljila prva specifikacija (owner_name je korišćen samo za statistike). Međutim, tokom rada sam došao do toga da mi owneri trebaju odvojeno pošto se na osnovu njih vrše neke druge kalkulacije (potreba da se globalni cenovnik zameni cenovnikom na nivou vlasnika i slične stvarčice). Izmena je bila veoma jednostavna:

PHP kôd:
// Stari kod

class Campaign {

  
/**
  * Return owner name
  *
  * @return string
  */
  
function getOwnerName() {
    return 
$this->columnValue('owner_name');
  }

}

// Novi kod, sitna izmena

class Campaign {

  
/**
  * Return owner object
  *
  * @return CampaignOwner
  */
  
function getOwner() {
    return 
CampaignOwners::findById($this->getOwnerId());
  }

  
/**
  * Return owner name
  *
  * @return string
  */
  
function getOwnerName() {
    if(
$this->getOwner() instanceof CampaignOwner) {
      return 
$this->getOwner()->getName();
    } else {
      throw new 
Exception('Owner is missing');
    }
  }


Da sam sve vreme tretirao owner_name kao klasično polje i pristupao mu sa $this->owner_name postojeći kod bez većih izmena ne bi mogao da odgovori na nove zahteve.

Accessori? Uvek!

Poslednja izmena od Ilija Studen : 28. 02. 2006. u 16:31.
Ilija Studen je offline   Odgovorite uz citat