+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 15 von 18

Thema: Aus Objekt auslesen

  1. #1
    TP-Specialist Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Avatar von Stefan
    Registriert seit
    May 2005
    Ort
    Bad Saulgau
    Beiträge
    3.817

    Aus Objekt auslesen

    Hallo

    Habe ein Objekt, sieht im Var_dump so aus:


    PHP-Code:
    object(Varien_Db_Adapter_Pdo_Mysql)#21 (26) { ["_transactionLevel:protected"]=>  int(0) 
    ["_connectionFlagsSet:protected"]=>  bool(true) ["_ddlCache:protected"]=>  array(0) { } 
    [
    "_bindParams:protected"]=>  array(0) { } ["_bindIncrement:protected"]=>  int(0) ["_debug:protected"]=>  
    bool(false) ["_logQueryTime:protected"]=>  float(0.05) ["_logAllQueries:protected"]=>  bool(false
    [
    "_logCallStack:protected"]=>  bool(false) ["_debugFile:protected"]=>  string(17"var/debug/sql.txt" 
    ["_debugIoAdapter:protected"]=>  NULL ["_debugTimer:protected"]=>  int(0) ["_cacheAdapter:protected"]=>  
    object(Varien_Cache_Core)#23 (6) { ["_backend:protected"]=>  object(Zend_Cache_Backend_File)#10 (3) { 
    ["_options:protected"]=>  array(9) { ["cache_dir"]=>  string(42"D:\xampp\htdocs\sbrendlemagtest\var\cache\" 
    ["
    file_locking"]=>  bool(true) ["read_control"]=>  bool(true) ["read_control_type"]=>  string(5) "crc32
    ["
    hashed_directory_level"]=>  int(1) ["hashed_directory_umask"]=>  int(511) ["file_name_prefix"]=>  string(4) 
    "
    mage" ["cache_file_umask"]=>  int(384) ["metadatas_array_max_size"]=>  int(100) } 
    ["
    _metadatasArray:protected"]=>  array(1) { ["19c_CORE_CACHE_OPTIONS"]=>  array(4) { ["hash"]=> 
     int(781659009) ["
    mtime"]=>  int(1283780896) ["expire"]=>  float(9999999999) ["tags"]=>  array(1) { [0]=>  
    string(8) "
    19c_MAGE" } } } ["_directives:protected"]=>  array(3) { ["lifetime"]=>  int(7200) ["logging"]=>  bool(false) 
    ["
    logger"]=>  NULL } } ["_options:protected"]=>  array(9) { ["write_control"]=>  bool(true) ["caching"]=>  bool(true) 
    ["
    cache_id_prefix"]=>  string(4) "19c_" ["automatic_serialization"]=>  bool(false) ["automatic_cleaning_factor"]=>  
    int(0) ["
    lifetime"]=>  int(7200) ["logging"]=>  bool(false) ["logger"]=>  NULL ["ignore_user_abort"]=>  bool(false) }
     ["
    _specificOptions:protected"]=>  array(0) { } ["_lastId:private"]=>  string(22) "19c_CORE_CACHE_OPTIONS
    ["
    _extendedBackend:protected"]=>  bool(true) ["_backendCapabilities:protected"]=>  array(6) { 
    ["
    automatic_cleaning"]=>  bool(true) ["tags"]=>  bool(true) ["expired_read"]=>  bool(true) ["priority"]=>  bool(false) ["infinite_lifetime"]=>  bool(true) ["get_list"]=>  bool(true) } } ["_isDdlCacheAllowed:protected"]=>  bool(true) 
    ["
    _pdoType:protected"]=>  string(5) "mysql" ["_numericDataTypes:protected"]=>  array(16) { [0]=>  int(0) [1]=> 
     int(1) [2]=>  int(2) ["
    INT"]=>  int(0) ["INTEGER"]=>  int(0) ["MEDIUMINT"]=>  int(0) ["SMALLINT"]=>  int(0) 
    ["
    TINYINT"]=>  int(0) ["BIGINT"]=>  int(1) ["SERIAL"]=>  int(1) ["DEC"]=>  int(2) ["DECIMAL"]=>  int(2) ["DOUBLE"]=>  int(2) ["DOUBLE PRECISION"]=>  int(2) ["FIXED"]=>  int(2) ["FLOAT"]=>  int(2) } 
    ["
    _defaultStmtClass:protected"]=>  string(21) "Zend_Db_Statement_Pdo" ["_config:protected"]=>  array(12) { 
    ["
    model"]=>  string(6) "mysql4" ["initStatements"]=>  string(14) "SET NAMES utf8" ["type"]=>  string(9) "pdo_mysql" ["host"]=>  string(9) "localhost" ["username"]=>  string(4) "root" ["password"]=>  
    object(Mage_Core_Model_Config_Element)#14 (0) { } ["
    dbname"]=>  string(15) "sbrendlemagtest" ["active"]=>  
    string(1) "
    1" ["charset"]=>  NULL ["persistent"]=>  bool(false) ["options"]=>  array(2) { ["caseFolding"]=>  int(0) 
    ["
    autoQuoteIdentifiers"]=>  bool(true) } ["driver_options"]=>  array(0) { } } ["_fetchMode:protected"]=>  int(2) 
    ["
    _profiler:protected"]=>  object(Zend_Db_Profiler)#43 (4) { ["_queryProfiles:protected"]=>  array(0) { } 
    ["
    _enabled:protected"]=>  bool(false) ["_filterElapsedSecs:protected"]=>  NULL ["_filterTypes:protected"]=>  NULL }
     ["
    _defaultProfilerClass:protected"]=>  string(16) "Zend_Db_Profiler" ["_connection:protected"]=>  object(PDO)#35 
    (0) { } ["
    _caseFolding:protected"]=>  int(0) ["_autoQuoteIdentifiers:protected"]=>  bool(true) 
    ["
    _allowSerialization:protected"]=>  bool(true) ["_autoReconnectOnUnserialize:protected"]=>  bool(false) } 

    Wie komme ich nun an z.b. "dbname"?

    Danke euch,
    Gruß Stefan

  2. #2
    TP-Supporter chorn bringt sich richtig ein Avatar von chorn
    Registriert seit
    Apr 2008
    Ort
    Verden
    Beiträge
    396
    Wenn du dir das mal mit print_r() ausgeben lässt erhälst du einen Baum den du rückwärts zurückverfolgen kannst.

  3. #3
    TP-Specialist Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Avatar von Stefan
    Registriert seit
    May 2005
    Ort
    Bad Saulgau
    Beiträge
    3.817
    Kannst du mir ein Beispiel machen? Wäre dir echt dankbar ... mach da schon seit heute morgen herum

    PHP-Code:
    Varien_Db_Adapter_Pdo_Mysql Object
    (
        [
    _transactionLevel:protected] => 0
        
    [_connectionFlagsSet:protected] => 1
        
    [_ddlCache:protected] => Array
            (
            )

        [
    _bindParams:protected] => Array
            (
            )

        [
    _bindIncrement:protected] => 0
        
    [_debug:protected] => 
        [
    _logQueryTime:protected] => 0.05
        
    [_logAllQueries:protected] => 
        [
    _logCallStack:protected] => 
        [
    _debugFile:protected] => var/debug/sql.txt
        
    [_debugIoAdapter:protected] => 
        [
    _debugTimer:protected] => 0
        
    [_cacheAdapter:protected] => Varien_Cache_Core Object
            
    (
                [
    _backend:protected] => Zend_Cache_Backend_File Object
                    
    (
                        [
    _options:protected] => Array
                            (
                                [
    cache_dir] => D:xampphtdocssbrendlemagtestvarcache
                                
    [file_locking] => 1
                                
    [read_control] => 1
                                
    [read_control_type] => crc32
                                
    [hashed_directory_level] => 1
                                
    [hashed_directory_umask] => 511
                                
    [file_name_prefix] => mage
                                
    [cache_file_umask] => 384
                                
    [metadatas_array_max_size] => 100
                            
    )

                        [
    _metadatasArray:protected] => Array
                            (
                                [
    19c_CORE_CACHE_OPTIONS] => Array
                                    (
                                        [
    hash] => 781659009
                                        
    [mtime] => 1283780896
                                        
    [expire] => 9999999999
                                        
    [tags] => Array
                                            (
                                                [
    0] => 19c_MAGE
                                            
    )

                                    )

                            )

                        [
    _directives:protected] => Array
                            (
                                [
    lifetime] => 7200
                                
    [logging] => 
                                [
    logger] => 
                            )

                    )

                [
    _options:protected] => Array
                    (
                        [
    write_control] => 1
                        
    [caching] => 1
                        
    [cache_id_prefix] => 19c_
                        
    [automatic_serialization] => 
                        [
    automatic_cleaning_factor] => 0
                        
    [lifetime] => 7200
                        
    [logging] => 
                        [
    logger] => 
                        [
    ignore_user_abort] => 
                    )

                [
    _specificOptions:protected] => Array
                    (
                    )

                [
    _lastId:private] => 19c_CORE_CACHE_OPTIONS
                
    [_extendedBackend:protected] => 1
                
    [_backendCapabilities:protected] => Array
                    (
                        [
    automatic_cleaning] => 1
                        
    [tags] => 1
                        
    [expired_read] => 1
                        
    [priority] => 
                        [
    infinite_lifetime] => 1
                        
    [get_list] => 1
                    
    )

            )

        [
    _isDdlCacheAllowed:protected] => 1
        
    [_pdoType:protected] => mysql
        
    [_numericDataTypes:protected] => Array
            (
                [
    0] => 0
                
    [1] => 1
                
    [2] => 2
                
    [INT] => 0
                
    [INTEGER] => 0
                
    [MEDIUMINT] => 0
                
    [SMALLINT] => 0
                
    [TINYINT] => 0
                
    [BIGINT] => 1
                
    [SERIAL] => 1
                
    [DEC] => 2
                
    [DECIMAL] => 2
                
    [DOUBLE] => 2
                
    [DOUBLE PRECISION] => 2
                
    [FIXED] => 2
                
    [FLOAT] => 2
            
    )

        [
    _defaultStmtClass:protected] => Zend_Db_Statement_Pdo
        
    [_config:protected] => Array
            (
                [
    model] => mysql4
                
    [initStatements] => SET NAMES utf8
                
    [type] => pdo_mysql
                
    [host] => localhost
                
    [username] => root
                
    [password] => Mage_Core_Model_Config_Element Object
                    
    (
                    )

                [
    dbname] => sbrendlemagtest
                
    [active] => 1
                
    [charset] => 
                [
    persistent] => 
                [
    options] => Array
                    (
                        [
    caseFolding] => 0
                        
    [autoQuoteIdentifiers] => 1
                    
    )

                [
    driver_options] => Array
                    (
                    )

            )

        [
    _fetchMode:protected] => 2
        
    [_profiler:protected] => Zend_Db_Profiler Object
            
    (
                [
    _queryProfiles:protected] => Array
                    (
                    )

                [
    _enabled:protected] => 
                [
    _filterElapsedSecs:protected] => 
                [
    _filterTypes:protected] => 
            )

        [
    _defaultProfilerClass:protected] => Zend_Db_Profiler
        
    [_connection:protected] => PDO Object
            
    (
            )

        [
    _caseFolding:protected] => 0
        
    [_autoQuoteIdentifiers:protected] => 1
        
    [_allowSerialization:protected] => 1
        
    [_autoReconnectOnUnserialize:protected] => 


  4. #4
    TP-Supporter chorn bringt sich richtig ein Avatar von chorn
    Registriert seit
    Apr 2008
    Ort
    Verden
    Beiträge
    396
    dbname, gehört zum Array "_config"

    Code:
    _config['dbname']
    _config, gehört zum Objekt "Varien_Db_Adapter_Pdo_Mysql"

    Code:
    $Varien_Db_Adapter_Pdo_Mysql->_config['dbname']
    
    #bzw. die Variable die du per print_r()/var_dump() ausgeben lässt
    Sollte so gehen, ansonsten beachten: http://php.net/manual/de/language.oop5.visibility.php

  5. #5
    TP-Specialist Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Avatar von Stefan
    Registriert seit
    May 2005
    Ort
    Bad Saulgau
    Beiträge
    3.817
    Hm, okay. Und wie gebe ich das ganze nun aus?

    $test = Mage::getSingleton('core/resource')->getConnection('core_read'); ->>> Das ist das Objekt
    echo $test->Varien_Db_Adapter_Pdo_Mysql->_config['dbname'];

    Kommt leider nichts, nicht mal ein Fehler.

  6. #6
    TP-Supporter chorn bringt sich richtig ein Avatar von chorn
    Registriert seit
    Apr 2008
    Ort
    Verden
    Beiträge
    396
    Wenn $test das Objekt ist, sollte das

    Code:
    $test->_config['dbname']
    Varien_Db_Adapter_Pdo_Mysql ist dabei nur der Name der Klasse, aus der das Objekt erstellt wurde. Du kannst das ganze auch mit print_r() selber durchtesten

    Code:
    print_r( $test );
    print_r( $test->Varien_Db_Adapter_Pdo_Mysql ); // nix, nur Name, Objekt ist $test
    print_r( $test->_config );
    print_r( $test->_config['dbname'] );

  7. #7
    TP-Senior Moritz macht sich hier sehr viel Mühe
    Registriert seit
    Nov 2002
    Beiträge
    289
    Vielleicht hilft dir das auch weiter: http://snippi.net/magento-get-databa...ecction-config
    Der Datenbankname ist dann in
    PHP-Code:
    $config->dbname 
    stehen.

    Grüße!
    ...zur Zeit außer Betrieb...

  8. #8
    TP-Specialist Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Avatar von Stefan
    Registriert seit
    May 2005
    Ort
    Bad Saulgau
    Beiträge
    3.817
    Vielen Dank euch beiden

    Wenn ich das so eingebe, kommt:

    "Fatal error: Cannot access protected property Varien_Db_Adapter_Pdo_Mysql::$_config in D:\xampp\htdocs\sbrendlemagtest\test2.php on line 15"

    ... scheint also zu gehen. Aber eine Ausgabe erhalte ich trotzdem nicht - Was bedeutet "protected" denn genau und wie löse ich diese Einschränkung?

    Gruß Stefan

    PS: Das Snippet geht! Wuhu, ein Traum - Danke dafür! Wie hast du das gefunden? Habe bestimmt 10 Google-Suchtabs offen und mich durch etliche Beiträge gearbeitet ...

  9. #9
    TP-Senior Moritz macht sich hier sehr viel Mühe
    Registriert seit
    Nov 2002
    Beiträge
    289
    Hi,

    da ein "Fatal Error" kommt, würde ich nicht davon ausgehen, dass etwas zu gehen scheint

    Kannst Du bitte mal den Code posten, damit ich sehen, was du genau gemacht hast?

    Protected bedeutet, dass du lediglich in von der Klasse Varien_Db_Adapter_Pdo_Mysql erbenden Klassen auf $_config zugreifen darfst.
    Daher erfolgt ja auch der Zugriff via getConfig, die dir eigentlich eine "Kopie" zurückgeben sollte.
    Wie mir scheint, hast Du noch recht wenig Erfahrung mit objektorientierter Programmierung? Falls das zutreffend sein sollte,
    kann ich dir nur empfehlen, dich ersteinmal mit den Grundlagen vertraut zu machen, bevor du dich an Magento gibst. Alles andere
    wäre mehr als frustrierend und würde wahrscheinlich auch nicht sehr weit führen. Grundkenntnisse über die Funktionsweise des ZendFrameworks können bei der Arbeit mit Magento auch nicht schaden, da viele Konzepte verwandt werden oder ähnlich sind, die ZF-Doku aber um Längen besser ist (imho).
    ...zur Zeit außer Betrieb...

  10. #10
    TP-Specialist Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Avatar von Stefan
    Registriert seit
    May 2005
    Ort
    Bad Saulgau
    Beiträge
    3.817
    Wie mir scheint, hast Du noch recht wenig Erfahrung mit objektorientierter Programmierung?
    Da hast du recht, habe mit OOP noch nichts am Hut gehabt ...

    Habe das Codeschnipsel aus Beitrag #6 einfach eingefügt; nicht innerhalb einer Klasse. Dann versteh ich mit deine Erklärung jetzt auch die Fehlermeldung

    Kennt ihr einige gute Quellen, mit denen ich möglichst schnell in die OOP reinkomme? Habe schon viel mit PHP gemacht, aber noch nie was mit OOP

    Danke euch,
    Gruß Stefan

  11. #11
    TP-Senior Moritz macht sich hier sehr viel Mühe
    Registriert seit
    Nov 2002
    Beiträge
    289
    Vielleichts tuts das hier: http://www.traum-projekt.com/forum/7...p-projekt.html

    Ansonsten versorgt dich Google beim Stichwort "OOP Einstieg" mit mehr Resourcen als du lesen möchtest.
    Dabei ist es beim Einstieg auch erst mal egal, in welcher Sprache er gestaltet ist. Wichtig ist, dass Du das Prinzip verstehst und verinnerlichst. Dann kannst Du es auf die Paradigmen jeder Sprache anwenden und dich mit deren Feinheiten beschäftigen.

    Bei Fragen, fragen :=)
    ...zur Zeit außer Betrieb...

  12. #12
    TP-Specialist Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Avatar von Stefan
    Registriert seit
    May 2005
    Ort
    Bad Saulgau
    Beiträge
    3.817
    Alles klar, da werde ich mich mal in der Mittagspause einlesen

    Leider geht das Codesnippet auf meiner Testinstallation, aber nicht auf dem fertigen Onlineshop (bzw. dem XAMPP Backup)

    Zitat Zitat von neuephpdatei.php
    <?php


    require_once 'app/Mage.php';


    $config = Mage::getConfig()->getResourceConnectionConfig("default_setup");
    $dbServer = $config->host;
    $dbUser = $config->username;
    $dbPass = $config->password;

    echo $dbUser;

    ?>
    Fehler: Fatal error: Call to a member function getResourceConnectionConfig() on a non-object in D:\xampp\htdocs\quintessence1401\test4.php on line 7

  13. #13
    TP-Senior Moritz macht sich hier sehr viel Mühe
    Registriert seit
    Nov 2002
    Beiträge
    289
    Welche Mage-Versionen kommen da jeweils zum Einsatz?

    [NACHTRAG]

    Mach mal ein
    PHP-Code:
    var_dump(Mage::getConfig()); 
    und poste die Ausgabe hier.
    ...zur Zeit außer Betrieb...

  14. #14
    TP-Specialist Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Avatar von Stefan
    Registriert seit
    May 2005
    Ort
    Bad Saulgau
    Beiträge
    3.817
    Meine Testbastelentwicklerungsinstallation -> neuste Version

    Fertiger Onlineshop -> Magento Version 1.4.0.1

  15. #15
    TP-Specialist Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Stefan lebt für das TP und seine User Avatar von Stefan
    Registriert seit
    May 2005
    Ort
    Bad Saulgau
    Beiträge
    3.817
    Gern

    <?php


    require_once 'app/Mage.php';

    var_dump(Mage::getConfig());

    $config = Mage::getConfig()->getResourceConnectionConfig("default_setup");

    var_dump(Mage::getConfig());

    $dbServer = $config->host;
    $dbUser = $config->username;
    $dbPass = $config->password;

    echo $dbUser;




    ?>
    NULL
    Fatal error: Call to a member function getResourceConnectionConfig() on a non-object in D:\xampp\htdocs\1401\test4.php on line 8

+ Antworten
Seite 1 von 2 1 2 LetzteLetzte

Ähnliche Themen

  1. Antworten: 7
    Letzter Beitrag: 06.10.2008, 20:27
  2. Objekt folgt Objekt... geht das?
    Von novy im Forum Flash & Multimedia
    Antworten: 2
    Letzter Beitrag: 05.09.2007, 13:15
  3. Image Objekt in Hyperlink verschachtelt auslesen
    Von cmotal im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 14.05.2007, 20:29
  4. Ist Illustrator das Richtige oder wie zentriere ich ein Objekt in einem Objekt?
    Von Jokai olvaso im Forum Layout- & Vektor-Programme
    Antworten: 3
    Letzter Beitrag: 28.12.2004, 08:59
  5. 3D Objekt nur mit BMP?
    Von Elli im Forum Video & Fotografie
    Antworten: 0
    Letzter Beitrag: 07.08.2004, 12:56

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51