În primul rând, vom crea un obiect nou, ca de obicei, o nouă instanță a clasei de test. Apoi apelați funcția someStaticMethod () și obțineți rezultatul.
Cu toate acestea, utilizarea variabilelor statice este foarte precaută. Ar trebui respectate mai multe reguli care să contribuie la evitarea problemelor în viitor.
Limitați domeniul de aplicare
Utilizați funcțiile statice numai dacă sunteți sigur că niciun alt cod nu folosește aceleași funcții statice.
Trebuie să înțelegem dacă plata a fost efectuată sau nu, să spunem pentru a arăta dacă este sau nu un client plătitor și să decideți ce să faceți cu aceste informații.
Mai întâi, vom crea o variabilă statică $ payProceedOnce pentru a determina starea curentă a clientului - fie că a plătit cel puțin o dată. Voi face imediat o rezervare că clasa ShoppingCart într-un proiect real va consta din mai multe module, fiecare dintre ele fiind legate între ele. În această etapă, nu scriem funcționalități reale, ci doar trimiteți valoarea browserului.
Să presupunem că avem o metodă sellProduct (). Apelul său merge mai departe de-a lungul lanțului și cheamă funcția doSell privată. După succesul doSell, adăugăm $ paymentProceedOnce la șirul "TRUE".
Se pare, și ce e în neregulă cu asta? Noi luăm doar o variabilă și îi atribuim o valoare. "Gândiți-vă la asta", spune cititorul inateent. Și va fi plăcut surprins în următorul moment.
Să ne uităm la apelul de clasă: