SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #11  
Alt 10.08.2009, 14:01:16
GrayFox GrayFox ist offline
Anfänger
 
Registriert seit: Aug 2009
Alter: 37
Beiträge: 11
AW: [PHP5 /OOP] Auf Eigenschaften der Vaterklasse zugreifen?

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Leitsatz 1: (verstehen und merken)
Du kannst nur Methoden oder Eigenschaften eines Objektes nutzen, wenn du diese VORHER in dieser Klasse oder einer Vater Klasse definiert hast.
Also bekomme ich nur Zugriff auf die Eigenschaften der 'darüberliegenden' Klasse, wenn ich listItem mit 'extends' an listbox knüpfe? Anderweitig ist es nicht möglich?

Zitat:
Leitsatz 2:
Bei statischn Methoden Aufrufen gibts kein $this!
Woher auch, es gibt ja auch kein Objekt.
Ich hatte mich hierbei auf das Beispiel meines Vorposters bezogen.
Mit Zitat antworten
  #12  
Alt 10.08.2009, 14:06:14
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 14
Beiträge: 2.269
AW: [PHP5 /OOP] Auf Eigenschaften der Vaterklasse zugreifen?

Ich verstehe dein 'darüberliegenden' nicht!
Meinst du Vater, Mutter oder Kind?


Zitat:
wenn ich listItem mit 'extends' an listbox knüpfe?
Was ist knüpfen?
Du meinst sicherlich: listItem von listbox ableiten ....
Und nein, das halte ich für falsch.

Zitat:
Anderweitig ist es nicht möglich?
KA...
Bisher ist mir nicht klar, welches Problem du hast.
Mit Zitat antworten
  #13  
Alt 10.08.2009, 14:09:28
Benutzerbild von asipak4you
asipak4you asipak4you ist offline
Anfänger
 
Registriert seit: Jul 2006
Beiträge: 29
AW: [PHP5 /OOP] Auf Eigenschaften der Vaterklasse zugreifen?

Zitat:
PS: Ich habe mal dein Beispiel, welches wohl wieder rausgelöscht wurde, ausprobiert und erhielt dann folgenden Fehler:
Das ist wieder rausgeflogen, weil ich es ebenfalls ausprobiert hatte.

Zitat:
Also bekomme ich nur Zugriff auf die Eigenschaften der 'darüberliegenden' Klasse, wenn ich listItem mit 'extends' an listbox knüpfe? Anderweitig ist es nicht möglich?
Du kannst auch eine öffentliche Methode (public) in Klasse 2) aufrufen, wenn du in Klasse 1) (die untere, nehme ich an) ein Objekt von Klasse 2) initialisierst!

Den Sinn versteh ich leider immer noch nicht ganz :-|

PS. Schreib den ersten Buchstaben deiner Klassennamen groß!
__________________
HalloPHP
Mit Zitat antworten
  #14  
Alt 10.08.2009, 14:26:18
GrayFox GrayFox ist offline
Anfänger
 
Registriert seit: Aug 2009
Alter: 37
Beiträge: 11
AW: [PHP5 /OOP] Auf Eigenschaften der Vaterklasse zugreifen?

Ich versuchs anders zu erklären.

Ich habe zwei Klassen 'listbox' und 'listItem'.

In der Methode 'addItem', welche sich in der Klasse 'listbox' befindet wird folgender Code ausgeführt.

PHP-Code:
public function addItem($value)
    {
        
$index count($this->itemsCollection);
        
$this->itemsCollection[$index] = new listItem;     
        
$this->itemsCollection[$index]->setValue($value);        
    } 
Wie ihr seht wurde dem Arrayfeld, welches über $index angesprochen wird, eine neue Instanz(?) der Klasse 'listItem' zugewiesen.

Im Prinzip beinhaltet die Eigenschaft itemsCollection der Klasse 'listbox' mehrere Instanzen der Klasse 'listItem'.

'Bildlich' gesprochen:

Code:
listbox(object)->itemsCollection[index](Eigenschaft) = new listItem(object)
In der Klasse listItem befinden sich nun Methoden, die auf irgendeine Eigenschaft der Klasse 'listbox' zugreifen wollen und mein Problem war die Frage, wie ich das bewerkstelligen kann.

Erklären war noch nie meine Stärke. Ich denke wohl zu abstrakt oder komisch, wie es mancher formulieren würde :)
Mit Zitat antworten
  #15  
Alt 10.08.2009, 14:45:17
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 14
Beiträge: 2.269
AW: [PHP5 /OOP] Auf Eigenschaften der Vaterklasse zugreifen?

PHP-Code:
<?php
error_reporting
(-1);
ini_set('display_errors'TRUE);



Class 
ListItem
{

  protected 
$Value null// property
  
protected $Container  null// property
  
  
public function __construct($value)
  {
    
$this->setValue($value);
  }

  public function 
setContainer(ListBox $value)
  {
    
$this->Container $value;
  }

  public function 
getContainer()
  {
    return 
$this->Container;
  }

  public function 
setValue($value)
  {
    
$this->Value $value;
  }

  public function 
getValue()
  {
    return 
$this->Value;
  }
  
  public function 
test()
  {
    echo 
$this->Value.'<br>';
    echo 
"ich stecke im Container ".get_class($this->Container). '<br>';
    echo 
"der Container heißt: ".$this->Container->getname(). '<hr>';
  }

  
}


class 
ListBox
{
  protected 
$elemente = array();

  protected 
$name // property

  
public function __construct($name)
  {
    
$this->setname($name);
  }
  

  public function 
setname($value)
  {
    
$this->name $value;
  }

  public function 
getname()
  {
    return 
$this->name;
  }
  public function 
add(ListItem $item)
  {
    
$item->setContainer($this);
    
$this->elemente[] = $item;
  }
  
  public function 
tuwas()
  {
    foreach(
$this->elemente as $element)
      
$element->test();
  }
}

$lb = new ListBox('Das tolle Ding');
$lb->add(new ListItem('rot'));
$lb->add(new ListItem('blau'));
$lb->tuwas();
Mit Zitat antworten
  #16  
Alt 10.08.2009, 14:58:57
GrayFox GrayFox ist offline
Anfänger
 
Registriert seit: Aug 2009
Alter: 37
Beiträge: 11
AW: [PHP5 /OOP] Auf Eigenschaften der Vaterklasse zugreifen?

Vielen Dank für deinen Lösungsansatz.

PHP-Code:
public function add(ListItem $item
Eine Frage dazu. Was hat es mit '(ListItem $item)' auf sich? Ist das die Tyangabe?
Mit Zitat antworten
  #17  
Alt 10.08.2009, 15:05:22
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 14
Beiträge: 2.269
AW: [PHP5 /OOP] Auf Eigenschaften der Vaterklasse zugreifen?

Mache dich kundig!!
http://www.php.net/manual/de/languag...ypehinting.php
Ohne tiefere Kenntnisse wird das mit deinem OOP Vorhaben nix!
Mit Zitat antworten
  #18  
Alt 10.08.2009, 15:11:37
GrayFox GrayFox ist offline
Anfänger
 
Registriert seit: Aug 2009
Alter: 37
Beiträge: 11
AW: [PHP5 /OOP] Auf Eigenschaften der Vaterklasse zugreifen?

Zitat:
Ohne tiefere Kenntnisse wird das mit deinem OOP Vorhaben nix!
Ohne Typangabe hat es in PHP bisher auch geklappt, aber ich sträube mich auch nicht dagegen, wenn es sinnvoll ist ;-)
Mit Zitat antworten
  #19  
Alt 10.08.2009, 15:17:41
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 14
Beiträge: 2.269
AW: [PHP5 /OOP] Auf Eigenschaften der Vaterklasse zugreifen?

Zitat:
Ohne Typangabe hat es in PHP bisher auch geklappt,
Klar klappt das auch ohne...
Ein Auto fährt ja auch ohne Auspuff, Sicherheitsgurte und Airbags.
Erst beim Unfall oder beim TÜV wird dir dann schlagartig klar: "Da war doch was..."

So schützt dich PHP davor Mist zu bauen.
Und du wirst Mist bauen.
Mit Zitat antworten
  #20  
Alt 10.08.2009, 16:59:34
Benutzerbild von asipak4you
asipak4you asipak4you ist offline
Anfänger
 
Registriert seit: Jul 2006
Beiträge: 29
AW: [PHP5 /OOP] Auf Eigenschaften der Vaterklasse zugreifen?

Um selber bei Übergabe eines Objekts vom falschen Typ an eine Funktion reagieren zu können (Fehlermeldung, etc. ...):

PHP-Code:
if ($item instanceof ListItem) {
  
// $item ist keine Instanz der Klasse ListItem

Gruß
__________________
HalloPHP
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:04:33 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.


© 2001-2023 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt