Sponsor-Board.de
Antwort schreiben  Thema schreiben 

[Help] PHP OOP - Weitergabe einer Variable

Verfasser Nachricht

Beiträge: 625
Bewertung: 7
Registriert seit: Aug 2010
Status: offline


Beitrag: #1
[Help] PHP OOP - Weitergabe einer Variable

Hallo leute

ich kapier gereade nicht wieso das nicht funktioniert:

ich habe eine Methode und bei der Frag ich hab, was ich gerade ausgewählt habe (von 3 Variablen) und gebe diese Variable auch weiter.

Nur Leider ändert er die einstellungen nicht so wie ich es will :/



Code:
protected $thead = array();
    protected $tfoot = array();
    protected $tbody_array = array();
    
    protected $current_section;
    
    public function addSection($section, $class = '', $attributes = array() ) {
        
        switch ($section) {
            case 'thead':
                $this->current_section = 'thead';                
                break;
            case 'tfoot':
                $this->current_section = 'tfoot';
                break;
                
            default: // tbody
                $this->tbody_array[] = array();
                $this->current_section = count($this->tbody_array)-1;
        }
        
        
        $ref = &$this->getCurrentSection();
        
        if(!empty($class))
            $attributes['class'] = $class;
    
        $ref['attr'] = $attributes;
        $ref['rows'] = array();
        
    }
    
    protected function getCurrentSection() {
        
        if($this->current_section == 'thead') {
            return $this->thead;    
        } elseif($this->current_section == 'tfoot') {
            return $this->tfoot;    
        } else {
            return $this->tbody_array[$this->current_section];    
        }
    }


leider macht er nach print_r keine Ausgabe :/

Falls jemand frägt wieso in einer Extra Methode: ich brauche die Abfrage später noch mehrmals

Gruß Sysix

Dieser Beitrag wurde zuletzt bearbeitet: 25.06.2013 13:40 von Sysix.

25.06.2013 13:39
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 1.306
Bewertung: 6
Registriert seit: May 2009
Status: offline


Beitrag: #2
RE: [Help] PHP OOP - Weitergabe einer Variable

da du doch ein etwas eingesessener programmierer bist:
standardpozedere mit error_reporting etc. mal gemacht?

Mach an der ausgabe doch mal ne ausgabe, einfach per echo, ob der überhaupt in die if-anweisung reinspringt.

25.06.2013 13:55
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 625
Bewertung: 7
Registriert seit: Aug 2010
Status: offline


Beitrag: #3
RE: [Help] PHP OOP - Weitergabe einer Variable

schon gemacht ^^

Zitat:
leider macht er nach print_r keine Ausgabe :/

[/quote]
Fehler tut er mir jetzt keine raushauen

Code:
table Object (
[thead:protected] => Array ( )
[tfoot:protected] => Array ( )
[tbody_array:protected] => Array ( [0] => Array ( ) )
[current_section:protected] => 0
)

Dieser Beitrag wurde zuletzt bearbeitet: 25.06.2013 14:04 von Sysix.

25.06.2013 14:03
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 1.306
Bewertung: 6
Registriert seit: May 2009
Status: offline


Beitrag: #4
RE: [Help] PHP OOP - Weitergabe einer Variable

schreib mal spaßeshalber $this->current_section="test";
vor die switchanweisung und schau nochmal, was der ausgibt.

kann es dort übrigens sein, dass ein break beim default fehlt?

25.06.2013 14:13
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 625
Bewertung: 7
Registriert seit: Aug 2010
Status: offline


Beitrag: #5
RE: [Help] PHP OOP - Weitergabe einer Variable

Zitat:
Notice: Undefined index: test in


Code:
protected function getCurrentSection() {
        
         $this->current_section="test";
        
        if($this->current_section == 'thead') {
            return $this->thead;    
        } elseif($this->current_section == 'tfoot') {
            return $this->tfoot;    
        } else {
            return $this->tbody_array[$this->current_section];    
        }
    }


sprich er returnt:

Code:
$this->tbody_array['text']


nein ist eigentlich egal, da dies sowieso die letzte Zeile ist. Break beendet einfach nur die Schleife.. war bei thead/tfoot nur wichtig da er dann nichtmehr das default durchkämmen muss Smile

25.06.2013 14:17
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 58
Bewertung: 0
Registriert seit: Sep 2011
Status: offline


Beitrag: #6
RE: [Help] PHP OOP - Weitergabe einer Variable

Klassiker: Mit den richtigen [Link: Registrierung erforderlich] wird es wahrscheinlich funktionieren.

PHP-Code:
protected function getCurrentSection() {
    if (
$this->current_section === 'thead') {
        return 
$this->thead;
    } elseif (
$this->current_section === 'tfoot') {
        return 
$this->tfoot;
    } else {
        return 
$this->tbody_array[$this->current_section];
    }


Zudem ist das Aufrufen von Operationen als Referenz veraltet:

PHP-Code:
$ref = &$this->getCurrentSection(); 

25.06.2013 15:21
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 625
Bewertung: 7
Registriert seit: Aug 2010
Status: offline


Beitrag: #7
RE: [Help] PHP OOP - Weitergabe einer Variable

1. ich will ja nicht abfragen ob das null ist

habs aber trotzdem mal gemacht Wink

2. mit und ohne Referenz-Zeichen funzt es net :/

25.06.2013 18:08
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 677
Bewertung: 0
Registriert seit: Feb 2013
Status: offline


Beitrag: #8
RE: [Help] PHP OOP - Weitergabe einer Variable

Wo liegt überhaupt das unerwünschte Verhalten? Erstell uns doch mal einen Testfall: Mit welchem Argumenten muss man addSection() aufrufen, damit das Problem auftritt?

Ist dein Problem, dass (wenn die Klasse "Test" heißt)

Code:
$test = new Test();
$test->addSection('thead', 'Testclass');

nicht $thead['attr']['class'] === 'thead' ist?

- Dann kapsel halt die Arrays für die einzelnen Tabellen wieder in einem Array...
- Oder arbeite direkt mit 3 verschiedenen Methoden zum Adden.
- Oder baue dir eben noch eine setCurrentSection()-Methode mit der eine Section invers zu getCurrentSection() wieder gespeichert wird

Code:
$section = $this->getCurrentSection();
        
         if( ! empty($class))
             $attributes['class'] = $class;
         $section['attr'] = $attributes;
         $section['rows'] = array();
        
         setCurrentSection($section);
     }
    
     protected function setCurrentSection($section) {
         if ($this->current_section == 'thead') {
             $this->thead = $section;    
         } elseif($this->current_section == 'tfoot') {
             $this->tfoot = $section;  
         } else { // tbody
             $this->tbody_array[$this->current_section] = $section;    
         }
     }

Dieser Beitrag wurde zuletzt bearbeitet: 25.06.2013 22:55 von sic_.

25.06.2013 22:16
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 625
Bewertung: 7
Registriert seit: Aug 2010
Status: offline


Beitrag: #9
RE: [Help] PHP OOP - Weitergabe einer Variable

danke mit setCurrentSection hats geklappt Biggrin

was rausgenommen wird muss ja wieder gespeichert werden .___.
ich war da vollkommnt auf das Referenz-Zeichen fixiert.

für deine Frage ein $var->addSection('tbody'); würde scho reichen.. der Rest sind einfach nur Attribute wie style="", id="", align="" und so nen zeug Smile

26.06.2013 08:29
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 677
Bewertung: 0
Registriert seit: Feb 2013
Status: offline


Beitrag: #10
RE: [Help] PHP OOP - Weitergabe einer Variable

Ok sehr schön Smile

26.06.2013 10:11
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Antwort schreiben  Thema schreiben 

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  PHP Suchfunktion innerhalb einer Seite Dyroxplays 4 1.820 08.09.2017 20:12
Letzter Beitrag: Dyroxplays
  [C#] Variable von Form 2 an Form 1 weitergeben scrup 0 1.589 27.08.2017 10:25
Letzter Beitrag: scrup
  php 2 Button in einer Zeile? HardwareNow 1 1.383 25.09.2016 12:18
Letzter Beitrag: h4zebust3r90
  PHP Variable Problem? SkyGamer 0 1.226 21.03.2015 14:15
Letzter Beitrag: SkyGamer
  [LOG] Undifinierte Variable eliminieren Fredix 1 1.320 14.08.2013 12:13
Letzter Beitrag: tkausl

 Druckversion anzeigen
 Thema einem Freund senden
 Thema abonnieren
 Thema zu den Favoriten hinzufügen

Sponsor-Board.de

Community
Über uns
Partner
Powered by Mybb: Copyright 2002-2024 by MyBB Group - Deutsche-Übersetzung von Mybb.de
 
© 2007-2024 Sponsor-Board.de - Hosted by OVH

Willkommen auf SB!   Sie benötigen ein Sponsoring?   1. Anmelden   2. Sponsoring-Anfrage erstellen   3. Nachrichten von Sponsoren erhalten   Kostenlos!   Jetzt registrieren