array in functie aanmaken -> buiten functie openen

Status
Niet open voor verdere reacties.
Ja, dat zeg ik toch net? Het hoort niet en is niet volgens de standaarden. Voor zover ik weet geeft het op STRICT al foutmeldingen.

Maar goed, als je mijn/ons advies in de wind wilt slaan, staat dat je volledig vrij.
 
Ja, dat zeg ik toch net? Het hoort niet en is niet volgens de standaarden. Voor zover ik weet geeft het op STRICT al foutmeldingen.

Maar goed, als je mijn/ons advies in de wind wilt slaan, staat dat je volledig vrij.

Ik snap je niet echt, Tha Devil gebruikt toch ook een getter zonder een setter te zetten, of bedoelde je dat niet?

PHP:
public function readDir() {
    if($this->getNumResult() > 0) {
      $this->resultArray = array();
    }

    if($handle = opendir('fotoz/'.$this->dir)){
      while(false !== ($file = readdir($handle))){
        if(strtolower(substr($file, -3)) == "jpg"){
          $this->resultArray[] = $file;
        }//end if
      }//end while
    }//end if handle
  }

  public function getResult() {
    return $this->resultArray;
  }
 
Dit is z'n laatste code:

PHP:
class leesDir { 
  private $directory = ''; 
  private $resultArray = array(); 

  private function __construct($dir) { 
    $this->directory = $dir; 
  } 

  public function readDir() { 
    if($this->getNumResult() > 0) { 
      $this->resultArray = array(); 
    } 

    if($handle = opendir('fotoz/'.$this->dir)){ 
      while(false !== ($file = readdir($handle))){ 
        if(strtolower(substr($file, -3)) == "jpg"){ 
          $this->resultArray[] = $file; 
        }//end if 
      }//end while 
    }//end if handle 
  } 

  public function getResult() { 
    return $this->resultArray; 
  } 

  public function getNumResult() { 
    return count($this->resultArray); 
  } 

  public function setDirectory($dir) { 
    $this->directory = $dir; 
  } 
}

Ik zou de __construct weglaten, dan is het verder gewoon een prima code.
 
Je hoeft ook niet direct via de __construct de dir door te geven, dat is bij hergebruik niet handig.

Maar wat wil je dan precies ophalen? Een specifiek array-item?


EDIT:

Ik denk dat ik snap wat je bedoelt.

$oDir = new ReadDir;
$oDir->setDirectory('01');

$aFiles = $oDir->getResult();

echo $aFiles[6];
 
Laatst bewerkt:
Je hoeft ook niet direct via de __construct de dir door te geven, dat is bij hergebruik niet handig.

Maar wat wil je dan precies ophalen? Een specifiek array-item?
Per ongeluk bericht verwijderd ipv aangepast.

Ikprobeerde met dezelfde variabele als waar de functie in werd geladen de array te openen.
Dit was dus inderdaad wat ik zocht:
PHP:
$aFiles = $oDir->getResult;
echo $aFiles[6];

Verder gebruik ik de klasse en alles wat erin staat maar 1 keer per pagina, daarom zag ik het nut niet in om een aparte setter te hebben..
 
Vergeet de ronde haken na getResult niet, mooi dat het werkt verder.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan