xPtv45z Posted August 16, 2007 Report Share Posted August 16, 2007 Sveiki! Veidoju priekš sevis bilžu apstrādes klasi un līdz ar to radās jautājums kā būtu pareizāk. Piemēram, es tagad izveidoju apmēram ko šādu: $imageDataArray = array( 'height' => 400, 'width' => 400, 'thumbs' => array( 'listThumb' => array( 'height' => 100, 'width' => 130, 'scaled' => true ), 'galleryThumb' => array( 'height' => 50, 'width' => 70, 'scaled' => true ) ) ); class image{ function image($imageDataArray){ ... } } Atbilstoši objektam tiek padots massīvs ar vajadzīgajām bildēm, to izmēriem un vēl visādiem citiem datiem. Bet, vai lai pieturētos pie pareizāka/labāka stila vajadzētu veidot apmēram šādi? class image{ function image(){ ... } function setHeight($height){ ... } function setWidth($width){ ... } function setScaled($scaled){ ... } function setThumbImage($imageObj){ ... } } Pirmās klases gadījumā, pašā kodā nevajadzētu daudz rakstīt, lai izveidotu nepieciešamās bildes, pietiktu, praktiski, tikai ar iepriekš nodefinētu massīvu. Otrās klases gadījumā, laikam kods būtu daudz lasāmāks. Tāpat, teiksim, kā rīkoties līdzīgā gadījumā, ja nepieciešams objektam padot vairākus parametrus(~7-9). Padot tos visus paramteros jau pie objekta izveides, vai arī padot tikai nozīmīgos, kas nepieciešami objekta izveidei un pārējos padot caur atsevišķām metodēm? Paldies par atbildēm. Link to comment Share on other sites More sharing options...
Delfins Posted August 16, 2007 Report Share Posted August 16, 2007 As you wish... gan getteri/setteri ir labi, gan vesela masīva padošana (dažreiz nēerti, ka tas masīvs vēl jāuztaisa [lasi - jāzin struktūra]) Link to comment Share on other sites More sharing options...
mefisto Posted August 20, 2007 Report Share Posted August 20, 2007 class image{ function image(){ ... } vietā rasītos gan šitā class image{ function __construct(){ ... } } Cik nu tur par datiem, ko tu pūt iekšā konstruktorā, tad imo būtu daudz loģiskāk neveidot masīvus masīvā (un attiecīgās darbības saturā), bet gan attiekties pret pret visām bildēm identiski. Ja ļoti gribi, tad vari piesaistīt katras bildes thumbnailus iekš clases, kā masīvu ar referencēm. Idejiski jau thumb'i arī ir bildes. (es jau protams nez .. tāds kā noobs) Link to comment Share on other sites More sharing options...
andrisp Posted August 20, 2007 Report Share Posted August 20, 2007 mefisto, uz php4 __contruct, ja nemaldos, nestrādā. Link to comment Share on other sites More sharing options...
Delfins Posted August 20, 2007 Report Share Posted August 20, 2007 Ja taisa ar referencēm, tad loģiskāk būtu pa virsu vēl vienu interfeisu. GaleryItem / whatEverItem -> array:Images[&baseImg,&thumbImage] atiecīgi: GaleryItem->addImage(url) { $this->Images[new MyImage(url,MAX_W,MAX_H), new Image(url, THUMB_MAX_W,THUMB_MAX_H) ]; } Link to comment Share on other sites More sharing options...
mefisto Posted August 20, 2007 Report Share Posted August 20, 2007 mefisto, uz php4 __contruct, ja nemaldos, nestrādā. Pat ja neņem vērā faktu ka php4 oficiāli izbeidzās 13ajā jūlijā, tad pilnīgi pietiek ar to ka php4 ir bermzīgs un morāli novecojis (lai gan bieži vien liekas ka novecojumu varētu attiecināt arī uz php5). Tas ļoti siboliski ... emm .. simulē objektientētu valodu. A šī foruma sadaļa tak ir php un oop =] Link to comment Share on other sites More sharing options...
Recommended Posts