Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Utworzenie obiektu: &new Nazwa
Forum PHP.pl > Forum > Przedszkole
drbane
Witam, przegladam kod utworzony przez kogos i dlaczego w ten sposob tworzony jest obiekt:

  1. <?php
  2. $g_smarty =& new Smarty();
  3. ?>

Jaka jest roznica miedzy tym, a:
  1. <?php
  2. $g_smarty =new Smarty();
  3. ?>
UDAT
Ciekawe. To czemu kod:
  1. <?php
  2. class T {
  3. public function __construct($c) {
  4. $this->c=$c;
  5. }
  6. }
  7.  
  8. $a = &new T(4);
  9. $b = &new T(424);
  10. $c = &new T(4);
  11.  
  12.  echo spl_object_hash($a).PHP_EOL;
  13.  echo spl_object_hash($b).PHP_EOL;
  14.  echo spl_object_hash($c).PHP_EOL;
  15. ?>

zwraca
Kod
5a95b7e0930495e63c18101d2eaf259b
200d3e9bb016fb05ed0f197c725e9ed4
eef9a8391d7d3b916457be1bd367f999

Ciekawy ten Singleton. Jak nie wiesz co piszesz to nie wypowiadaj się.


Jest to konstrukcja z przypisaniem przez referencję - wymagane w PHP4 z powodu obsługi obiektów (a dokładniej przypisań) przez PHP4. Jeśli w PHP4 użyjesz = bez & to obiekt zostanie skopiowany - zostanie utworzona nowa z identycznymi (skopiowanymi) właściwościami.

W PHP5 obiekty są domyślnie przypisywane przez referencję, tak więc nie musisz używać &.
domis86
@UDAT: yyyyyyyyyyy co ma ten singleton do pytania? snitch.gif

@drbane: uruchom sobie sposob z i bez & z wlaczonym wczesniej error_reporting(E_ALL | E_STRICT | E_NOTICE)
UDAT
Cytat(domis86 @ 13.07.2007, 16:28:28 ) *
@UDAT: yyyyyyyyyyy co ma ten singleton do pytania? snitch.gif

To było do posta powyżej - usuniętego przez moderatora lub autora
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.