ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
331
331
EMPFEHLEN
-
Hallo!
Ich habe gerade versucht, die "directorylist.class.php" von Dennis Wronka zu verstehen. Die Klasse erzeugt ein Array mit der Verzeichnisstruktur eines vorgegebenen Verzeichnisses.
Zur Info:
Meine Frage ist jetzt:PHP-Code:<?php
class directorylist
{
var $name;
var $subdirs;
var $files;
function directorylist($dirname,$sort=false,$limitrecursion=false,$recursiondepth=0)
{
$this->name=$dirname;
$this->subdirs=array();
$this->files=array();
$dir=opendir($dirname);
while ($file=readdir($dir))
{
if (($file!=".") && ($file!=".."))
{
if (is_dir($dirname."/".$file))
{
if (($limitrecursion==false) || ($recursiondepth>-1))
{
$this->subdirs[]=new directorylist($dirname."/".$file,$sort,$limitrecursion,$recursiondepth-1);
}
}
else
{
if (($limitrecursion==false) || ($recursiondepth>-1))
{
$this->files[]=$file;
}
}
}
}
closedir($dir);
if ($sort==true)
{
sort($this->files);
rsort($this->subdirs);
}
}
function findsubdirbyobject($needle)
{
for ($x=0;$x<count($this->subdirs);$x++)
{
if ($this->subdirs[$x]==$needle)
{
return $x;
}
else
{
$val=$this->subdirs[$x]->findsubdirbyobject($needle);
if ($val!=-1)
{
return $x.','.$val;
}
}
}
return -1;
}
function findsubdirbyname($needle)
{
for ($x=0;$x<count($this->subdirs);$x++)
{
if ($this->subdirs[$x]->name==$needle)
{
return $x;
}
else
{
$val=$this->subdirs[$x]->findsubdirbyname($needle);
if ($val!=-1)
{
return $x.','.$val;
}
}
}
return -1;
}
function findsubdir($needle)
{
$vartype=gettype($needle);
if ($vartype=="string")
{
return $this->findsubdirbyname($needle);
}
elseif ($vartype=="object")
{
return $this->findsubdirbyobject($needle);
}
else
{
return -1;
}
}
}
?>
Was bedeutet z.B. solch eine Zeichenkette:
ich kenne if, else, isset, =, ==, !=, &&, || und so weiter, aber was bedeutet: "->" ?PHP-Code:$images->subdirs[$_GET['gallery']-1]->files[$_GET['image']-1]
Danke schon mal im Vorraus für die Mühe :P
-
Mit -> wird eine Variable oder Funktion innerhalb eines Objektes angesprochen.
Das von Dir gepostete Beispiel
greift auf eine Datei zu welche sich in einem Unterverzeichnis befindet. Dieses Unterverzeichnis wird wieder durch ein Objekt der Klasse DirectoryList repraesentiert und befindet sich halt im Array subdirs innerhalb des Objektes $images.PHP-Code:$images->subdirs[$_GET['gallery']-1]->files[$_GET['image']-1]
Also mal ganz allgemein:
In einem Objekt der Klasse DirectoryList hast Du 2 Arrays, subdirs und files.
Das Array files ist ganz schlicht die Liste der in dem vom Objekt repraesentierten Verzeichnis gefundenen Dateien.
Das Array subdirs jedoch ist ein Array mit weiteren Objekten der Klasse directorylist, repraesentativ fuer die gefundenen Unterverzeichnisse, inklusive deren Inhalt.
Ich hoffe, dass war einigermassen verstaendlich zusammengedichtet.PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
Der Dennis wieder
Dankeschön 
Dann werd ich jetzt wohl lernen müssen, was mit Klassen auf sich hat, das hab ich nämlich noch nicht gehabt. Haste da vllt noch einen schönen Link für mich? Ansonsten google ich einfach mal drauf los
-
23.03.06 21:23 #4Klassen sind am Anfang sowieso immer schwer zu verstehen.
Zitat von Hektik
Das heißt man versteht am Anfang gar nicht, was das bringen soll etc.
Aber wenn man es einmal verstanden hat, dann sieht man auch, wie praktisch das Ganze ist.
Klassen sind ja dazu da, um das den Programmiercode so zu gestalten, dass er verständlicher ist (vorallem übersichtlicher).
http://tut.php-q.net/klassen.html
Vielleicht hilft dir das
Das ist ein Beispiel mit Meerschweinchen, klingt vielleicht merkwürdig und Nutzlos, ist aber eigentlich ganz gut.
Ähnliche Themen
-
C++ Verständnis Problem!!
Von Foxgame im Forum C/C++Antworten: 6Letzter Beitrag: 20.11.07, 22:45 -
Java5-Syntax in Java1.4-Syntax?
Von magic_halli im Forum JavaAntworten: 9Letzter Beitrag: 24.10.07, 14:11 -
Verständnis Frage...
Von Radhad im Forum CSSAntworten: 3Letzter Beitrag: 18.10.06, 17:10 -
sql von jet(access)-Syntax zu mySQL-Syntax
Von julegner im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 04.10.06, 12:28 -
Session-Verständnis
Von Arndtinho im Forum PHPAntworten: 2Letzter Beitrag: 27.11.03, 13:16





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren