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