Mailinglisten-Archive |
At 28.05.2004 12:53 (), you wrote: >schlechter stil... du solltest NIE von aussen entscheiden, ob es eine >referenz sein sollte oder nicht... > >eine funktione/klasse/methode soll logik kapseln. und diese logik legt >auch fest, ob die parameter intern geaendert werden sollen oder nicht... Wenn ich das richtig verstehe muß der Code dann folgendermassen aussehen?: <?php class c1 { var $meinwert = 'leer'; function c1() { ; // NOP } } class c2 { var $_c1_obj = ''; function c2(&$c1ref) { $this->_c1_obj = &$c1ref; } function zeige_wert() { echo $this->_c1_obj->meinwert; } } $c1 = new c1(); $c2 = new c2($c1); $c1->meinwert = 'bin voll'; $c2->zeige_wert(); ?> >programmierer beim aufruf das & vergisst, funktioniert gar nix... wenn >du es aber in der signatur der funktion festhaellst, ist es robuster... Korrekt, das hatte mich auch schon gestört. >ist "call_by_reference" nicht sowieso standardmaessig in der php.ini >deaktiviert? ein "php_flag allow_call_time_pass_reference 0" in der .htaccess schmeißt bei meiner alten Schreibweise tatsächlich einen Fehler, mit dem obigen Code nicht. Guter nützlicher Hinweis, danke! -- Christian Ruetgers - Geschäftsführung Projekte / Technik 1komma6 - Multimediale Dienstleistungen GmbH Fon: (0251) 57 29-7 Fax: (0251) 57 29-6 eMail: ch.ruetgers at 1komma6.com Mobil: 0173/860 28 93 visit http://www.1komma6.com
php::bar PHP Wiki - Listenarchive