Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: FLFBook Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Mittwoch, 17. November 2010, 14:54

PHP - Objektorientierte Programmierung

Hallo zusammen,

hat jmd. von euch Erfahrung in der Objektorientierten Programmierung unter PHP?
Mittlerweile habe ich ja schon einige Scripte in PHP geschrieben, bin auch mit der Objektorientierten Sprache VB vertraut, jetzt wäre mein nächstewr Schritt, die OoP in PHP zu übernehmen...

Zu meinem eigentlichen Problem:

Ich habe eine Klasse 'references' erstellt und möchte in dieser ein Array anlegen soweit auch kein Problem, wenn ich bei der Initialisierung der Variable $tool_mysql_table gleich den Wert 'references' angebe.

PHP-Quelltext

1
2
3
4
class references 
{ 
   private $tool_mysql_table = array('references'); 
}


Wenn ich aber nach der Initialisierung einen Wert zuweisen will, verweigert er mir das.

PHP-Quelltext

1
2
3
4
5
class references 
{ 
   private $tool_mysql_table = array(); 
   $this->tool_mysql_table[] = 'references';
}

Ergebnis:
Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in ... on line 4


Die Frage ist nun:
Gibt es eine Möglichkeit, ein Array innerhalb einer Klasse nach der Initialisierung fortlaufend (ohne Angabe eines Index) zu erweitern?
Grüße,
Daniel

>>>http://www.fsghannsklemm.de<<<
My software never has bugs. It just develops random features... xP

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Daniel« (17. November 2010, 15:01)


2

Mittwoch, 17. November 2010, 16:35

Ich habe mich zwar noch nie eingehender mit dem Thema beschäftigt. Aber müsstest Du nicht noch erst die entsprchende Variable definieren? Sonst dürfest Du ich mit der Übergabe von "references" schwer tun.

Mein Vorschlag:

PHP-Quelltext

1
2
3
4
5
6
7
class references { 
   var $ref;
   function references ($ref){
      private $tool_mysql_table = array(); 
      $this->tool_mysql_table[] = $ref;
  }
}
Zufrieden mit Service und Support? Dann schau Dir doch mal die Premiumfeatures an ;)

3

Mittwoch, 17. November 2010, 17:04

Ok, dein Ansatz führt zur Lösung ^^

So funktionierts:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class references
{ 
   public $tool_mysql_table = array();

   public function add_table($table)
   {
      $this->tool_mysql_table[] = $table;
   }
}

$class = new references;
$class->add_table('references');

$eintrag_eins $class->tool_mysql_table[0];

Ist aber für mich nicht relevant, da ich die Werte ohnehin am Anfang schon weis und ins Script manuell reinschreib. Werde also die 1. Variante aus meinem ersten Post nehmen.
Hatte mich nur gewundert, dass man innerhalb einer Klasse, nach der Initialisierung des Arrays, nicht mehr so ohne Weiteres diesem Werte hinzufügen kann, da das außerhalb einer Klasse ja möglich ist.

Danke =)
Grüße,
Daniel

>>>http://www.fsghannsklemm.de<<<
My software never has bugs. It just develops random features... xP

4

Mittwoch, 17. November 2010, 18:13

Gerne ;)

An was arbeitest Du denn?
Zufrieden mit Service und Support? Dann schau Dir doch mal die Premiumfeatures an ;)

5

Mittwoch, 17. November 2010, 18:39

An zwei Homepages. Wegen der Benutzerfreundlichkeit brauch ich aber noch ein Admin-Menü. Dieses lässt sich dann nach Fertigstellung mit verschiedenen Tools erweitern (Eigenentwicklungen). Daher auch der Umstieg auf Klassen.
Parallel bin ich noch an dem Script für die Farbverläufe... nur so wie ich mir das gedacht habe, braucht die Erstellung der Verläufe noch zu viel Resourcen (sowohl mit DIV's als auch mit der GD-Libary) - da ist PHP oder JS einfach nicht stark genug.
Grüße,
Daniel

>>>http://www.fsghannsklemm.de<<<
My software never has bugs. It just develops random features... xP

6

Mittwoch, 17. November 2010, 19:03

Für spätere Erweiterung sind Klassen wirklich was tolles!

Ach Du arbeitest an dem Farbscript? Dann bin ich ja mal gespannt :)
Zufrieden mit Service und Support? Dann schau Dir doch mal die Premiumfeatures an ;)

7

Mittwoch, 17. November 2010, 19:45

Ja, die Auswertung (JS) ist so gut wie fertig, jetzt fehlt "nur" noch die Darstellung der Farbverläufe (warschnl. AJAX mit GD-Lib) ...
Grüße,
Daniel

>>>http://www.fsghannsklemm.de<<<
My software never has bugs. It just develops random features... xP

8

Donnerstag, 18. November 2010, 08:25

Oh wow, ziemllich cool!

Hätte nicht damit gerechnet, dass Du Dir die Mühe machst!
Zufrieden mit Service und Support? Dann schau Dir doch mal die Premiumfeatures an ;)

Ähnliche Themen

Thema bewerten