Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ppOpCgCC 43 of 107 menu
◀ ▶

Chiamare un metodo subito dopo la creazione di un oggetto in OOP in PHP

Supponiamo di avere una classe Arr che conserva un array di numeri e può calcolare la somma di questi numeri con il metodo getSum. I numeri stessi vengono passati come array al costruttore dell'oggetto, e possono anche essere aggiunti singolarmente con il metodo add:

<?php class Arr { private $numbers = []; public function __construct($numbers) { $this->numbers = $numbers; } public function add($number) { $this->numbers[] = $number; } public function getSum() { return array_sum($this->numbers); } } ?>

Ecco un esempio di utilizzo della classe Arr:

<?php $arr = new Arr([1, 2, 3]); $arr->add(4); $arr->add(5); echo $arr->getSum(); // visualizzerà 15 ?>

Può succedere che passiamo tutti i numeri necessari al momento della creazione dell'oggetto, e subito dopo vogliamo trovare la loro somma:

<?php $arr = new Arr([1, 2, 3]); echo $arr->getSum(); // visualizzerà 6 ?>

Se non prevediamo di effettuare altre manipolazioni con l'oggetto, il codice sopra può essere riscritto in modo più breve: possiamo creare l'oggetto e chiamare immediatamente il suo metodo getSum:

<?php echo (new Arr([1, 2, 3]))->getSum(); // visualizzerà 6 ?>

<?php class StringProcessor { private $str = ''; public function __construct($text) { $this->str = $text; } public function append($text) { $this->str .= $text; return $this; } public function getValue() { return $this->str; } public function getLength() { return strlen($this->str); } } ?>

Supponiamo che con questa classe si sia lavorato nel modo seguente:

<?php $str = new Str('aaa'); $str->append('bbb'); $str->append('ccc'); echo $str->getLength(); ?>

Riscrivi questo codice tramite la chiamata della classe sul posto.

← →
↑
Italiano▼
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta