Jump to content
php.lv forumi

OOP skola


aika

Recommended Posts

Ievads: tā kā sev svēti nosolījos nākamajā projektā sākt lietot OOP, lai gan FW uzreiz nepaķēru, tomēr funkcijas esmu nolēmis OOPot, un tāpēc top šis posts ar lūgumu palīdzēt, palabot, pamācīt.

 

Uzdevums ir noskanēt direktoriju, atlasīt bildes un atgriezt tās attiecīgā formātā.

Izveidoju klasi kas veic pirmās 2 funkcijas:

class retrieveImagesFromDir($folderName) {
$folder = opendir($folderName); // Use 'opendir(".")' if the PHP file is in the same folder as your images. Or set a relative path 'opendir("../path/to/folder")'.    
$pic_types = array("jpg", "jpeg", "gif", "png");    
$index = array();
while ($file = readdir ($folder)) {

       if(in_array(substr(strtolower($file), strrpos($file,".") + 1),$pic_types))
           {
               $images = array_push($index,$file);
           }
}    
closedir($folder);
   return $images;
}

veidota pietiekami universāla lai noderētu arī citiem mērķiem.

tālak seko klase kurai jāatgriež attiecīgajā formātā:

class displayImagesForSlimbox extends retrieveImagesFromDir ($folderName) {

public function filterImages() {
 foreach ($images as $image) {

$groupName = basename($folderName);
$ret .= "<a href='$folderName/$image' rel='lightbox-$groupName'><img src=$folderName/$image /></a>";

 }
}
print $ret;
}

acīmredzami ka sintakses un klašu savstarpējā sadarbība man vēl nav skaidra...

kā man tās abas sajūgt kopā ?

( $this -> displayImagesForSlimbox -> retrieveImagesFromDir("folderis") )??

heļp!

Edited by aika
Link to comment
Share on other sites

man top mājas lapa, kurā vairākās vietās būs slimbox galerijas . lai atvieglotu turpmāku galeriju rediģēšanu - katra galerija atrodas savā mapē, katru reizi mape tiek noskanēta un uzģenerēts html fragments slimboxam (lapas apmeklējums nebūs intensīvs, bet protams jāskatās vai neiebremzēs, ja tā - nāksies pieslēgt db).

kodā tam būtu jāizskatās sekojoši:

   	<div id="gal1" >
    	X galerija<p> <? echo Helper_Fancybox::create_html( (new DirectoryScanner()) ->scan('*.jpg') ->get_files() , 'img/gal/mape1'); ?>
   	</div>
   	<div id="gal2" >
    	Y galerija<p> <? echo Helper_Fancybox::create_html( (new DirectoryScanner()) ->scan('*.jpg') ->get_files() , 'img/gal/mape2'); ?>
   	</div>

P.S. tikai kodā jau nav pašas mapes skanēšanas funkcijas, vai ne!?!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...