![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Zakładająć, że mamy taki kod:[php:1:14a5bc17af]<?php
class BaseModule { var $TAO; function BaseModule() { $this->TAO = new Smarty; } } class ModuleA extends BaseModule { function Foo() { $this->TAO->display( 'example.tpl' ); } } ?>[/php:1:14a5bc17af] Mam pytanie. Czy $TAO w klasie ModuleA jest kopią $TAO z BaseModule, czy jest referencją czy tym samym elementem? Interesuje mnie to ze względu na ilość pamięci zajmowanej przez wilokrotnie extendowane klasy. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Czyli, żeby mieć jeden obiekt smaty i nie musieć uzywać globa bądź $GLOBALS, jak dobzre rozumiem można użyć czegoś takiegojjak poniżej?[php:1:43e0d41b64]<?php
class BaseModule { var $TAO; function BaseModule() { $this->TAO->_debug_mode = false; } } class ModuleA extends BaseModule { function Foo() { $this->TAO->display( 'example.tpl' ); } } $Smarty = new Smarty(); $BaseModule = new BaseModule(); $ModuleA = new ModuleA(); $BaseModule->TAO = &$Smarty; $ModuleA->Foo(); ?>[/php:1:43e0d41b64]I czy kollejność linii 20 - 23 ma jakieś większe znaczenie? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 19:28 |