Witam, zacząłem uczyć się PHP i mam kilka prostych pytań. Powiedzmy, że mam kod:
<?php
class Customer {
private $_firstName;
private $_lastName;
private static $_amount = 0;
public function __construct($firstName, $lastName) {
$this->_firstName = $firstName;
$this->_lastName = $lastName;
self::$_amount++;
}
public function firstName() {
return $this->_firstName;
}
public function lastName() {
return $this->_lastName;
}
public static function amount() {
return self::$_amount;
}
}
echo Customer::amount();
$johnDoe = new Customer('John', 'Doe');
echo Customer::amount();
1) Gdzie dokładnie w pamięci przechowywany jest obiekt johnDoe?
2) Czy po odświeżeniu strony/zamknięciu przeglądarki ten obiekt jest jakoś usuwany z pamięci automatycznie i nie ma już po nim żadnego śladu?
3) Czy zmienne lokalne używane w funkcjach też są automatycznie usuwane z pamięci po zakończeniu działania funkcji, czy dzieje się to później?
4) Widzę często, że nazwy atrybutów klas zaczynają się od podkreślnika, a nazwy getterów to po prostu nazwa odpowiedniego atrybutu bez podkreślnika. To jakaś przyjęta praktyka? Warto się tego trzymać, czy może lepiej pisać nazwy podobnie jak np. w Javie?