• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PHP - przechowywanie zmiennych

Object Storage Arubacloud
+1 głos
775 wizyt
pytanie zadane 23 sierpnia 2017 w PHP przez Blue Obywatel (1,180 p.)

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?

1 odpowiedź

+3 głosów
odpowiedź 23 sierpnia 2017 przez Ehlert Ekspert (212,670 p.)
wybrane 23 sierpnia 2017 przez Blue
 
Najlepsza
  1. Interpreter PHP w momencie requesta kiedy jest uruchamiany (jako wątek apacha, lub cli server) dostaje pewien zasób pamięci (jak się nie mylę określa się go w php.ini). Wszystkie obiekty, zmienne i inne cuda związane z wykonywanym kodem są przechowywane właśnie w tej pamięci.
  2. Te obiekty po zakończeniu działania interpretera dla konkretnego requesta są usuwane. OD tej reguły jest kilka wyjątków:
    - sesja: trzyma dane zapisane pod ścieżką którą można ustawić.
    - wszelkie mechanizmy cacheujące. W celu zmniejszenia obciążenia baz danych itp stosuje się wykorzystywanie pamięci podręcznej.
  3. Nie wiem dokładnie jako to działa, ale proponuję Ci to sprawdzić po przeczytaniu tego wpisu.
  4. Podłoga przed prywatnymi zmiennymi to tylko konwencja. W środku klasy jeśli po $this sugeruje Ci podłogę, to widzisz, że to pole prywatne. Ale konwencja to tylko konwencja. Nie musisz się jej trzymać. 

Gratuluję pytania. Fajnie wiedzieć, że ktoś jeszcze uczy się PHP w ambitny sposób i zadaje konstruktywne pytania na tym forum. 

komentarz 23 sierpnia 2017 przez Blue Obywatel (1,180 p.)
Dziękuję!
komentarz 23 sierpnia 2017 przez gromula Stary wyjadacz (10,070 p.)

Gratuluję pytania. Fajnie wiedzieć, że ktoś jeszcze uczy się PHP w ambitny sposób i zadaje konstruktywne pytania na tym forum. 

Nie wzbudzaj niepewności u kolegi, bo jeszcze zacznie podejrzewać, że PHP upada - joke  :)

Podobne pytania

0 głosów
0 odpowiedzi 204 wizyt
pytanie zadane 7 lipca 2017 w PHP przez elaen Gaduła (4,760 p.)
0 głosów
2 odpowiedzi 161 wizyt
pytanie zadane 5 sierpnia 2021 w PHP przez piter11251 Obywatel (1,280 p.)
0 głosów
0 odpowiedzi 278 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...