php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.07.2009, 16:39  
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 102
djrace
Standard zugriff auf protected array in klasse

hi,

ich habe in einer variable ($product) folgendes Object:
print_r Ausgabe:

Code:
Mage_Catalog_Model_Product Object
(
    [_cacheTag:protected] => catalog_product
    [_eventPrefix:protected] => catalog_product
    [_eventObject:protected] => product
    [_canAffectOptions:protected] => 
    [_typeInstance:protected] => 
    [_typeInstanceSingleton:protected] => 
    [_linkInstance:protected] => 
    [_customOptions:protected] => Array
        (
        )

    [_urlModel:protected] => 
    [_errors:protected] => Array
        (
        )

    [_optionInstance:protected] => 
    [_options:protected] => Array
        (
        )

    [_reservedAttributes:protected] => 
    [_isDuplicable:protected] => 1
    [_defaultValues:protected] => Array
        (
            [name] => 22
            [url_key] => 22
            [gift_message_available] => 2

.......
wie komme ich jetzt bis auf diesen array [_defaultValuesrotected] und dessen values?
wie müsste da der aufruf lauten?
djrace ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.07.2009, 16:43  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Kommt darauf an, von woher Du zugreifen willst.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 27.07.2009, 16:43  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Schreib dir eine Funktion in die Klasse, die dir die Variable liefert:

PHP-Code:
public function getVar() {
  return 
$this->_defaultValues;

Asipak ist offline  
Alt 27.07.2009, 16:50  
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 102
djrace
Standard

danke schonmal

der direkte zugriff über $product-> ....
ist nicht möglich?
weil das object steht ja in $product. habe ja $product im print_r drin
djrace ist offline  
Alt 27.07.2009, 16:52  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

PHP-Code:
$product->getVar(); 
Die Variable ist durch protected für Zugriffe von außen verrigelt. Du kommst nur über die Klasse oder über abgeleitete Klassen an die Eigenschaft!

Ist die Klasse überhaupt von dir? Hört sich nicht danach an!
Asipak ist offline  
Alt 27.07.2009, 17:01  
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 102
djrace
Standard

nein sie ist nicht von mir. Es ist eine klasse im Magento Shop. Aus dem Adminbereich.

Aber danke für die Info ich werde es so machen wie du beschrieben hast.
djrace ist offline  
Alt 27.07.2009, 17:04  
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 102
djrace
Standard

da fällt mir ein wenn ich mal in die doku vom magento schauen würde würde ich sicherlich den passenden aufruf dafür finden. Denn ein solcher aufruf wie du ihn beschrieben hast ist dort sicherlich bereits vorhanden.........
die doku..... hab ich ganz vergessen
djrace ist offline  
Alt 27.07.2009, 17:06  
Erfahrener Benutzer
 
Benutzerbild von mermshaus
 
Registriert seit: 14.06.2009
Beiträge: 1.733
PHP-Kenntnisse:
Fortgeschritten
mermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz sein
Standard

Auch wenn das in diesem Fall vielleicht nicht praktikabel ist, weil das Objekt schon existiert. Die sauberste Lösung wäre es, die Klasse, auf deren Felder man zugreifen möchte, zu erweitern:

PHP-Code:
class MyClass extends MagentoShopClass
{
    public function 
getVar()
    {
        return 
$this->_defaultValues;
    }

Edit: Wie Asipak auch schon sagte. Hups.
mermshaus ist gerade online  
Alt 27.07.2009, 17:06  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von djrace Beitrag anzeigen
da fällt mir ein wenn ich mal in die doku vom magento schauen würde würde ich sicherlich den passenden aufruf dafür finden.
Vermutlich
Asipak ist offline  
Alt 27.07.2009, 17:11  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Und wenn Du schon so eine spezielle Methode schaffst, dann benenne sie bitte auch speziell:

PHP-Code:
public function getDefaultValue ($key null) {} 
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] array sortieren PHP Tipps 2004 17 13.05.2009 10:44
Array umwandeln von zwei zu mehrdimensional erselbst PHP Tipps 2009 6 02.04.2009 23:30
[Erledigt] Mehrdimensionales Array intern in Klasse setzen maddy-online PHP Tipps 2008 2 24.08.2008 15:12
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
Protected Eigenschaft in der eigenenen Klasse nicht anpre... HStev PHP-Fortgeschrittene 2 30.05.2008 18:47
mehrdimensionales Array in Klasse erstellen Nixwisser PHP Tipps 2007 2 01.08.2007 14:30
Sortieralgo: Plötzlich keinen Zugriff mehr auf Daten Melchior PHP-Fortgeschrittene 8 19.09.2006 23:50
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25
error: Zugriff auf protected variable aus extendet klasse PHP Tipps 2004 3 26.09.2004 23:39

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php protected array, php object protected, array protected, php auf protected zugreifen, php klassen array, php protected zugreifen, php zugriff auf protected, php array protected, php array in klasse, php zugriff auf protected variable, php klasse array, protected array, php protected variable auslesen, php array klasse, http://www.php.de/php-einsteiger/57511-zugriff-auf-protected-array-klasse.html, php protected variable, php get protected, php object protected array, php array object protected, auf protected zugreifen php

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:23 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum