Objektide hoidmine massiivides OOP-s PHP-s
Oletame, et meil on antud järgmine klass User:
<?php
class User
{
public $name;
public $age;
public function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
?>
Ühendame oma klassi faili failiga index.php:
<?php
require_once 'User.php';
?>
Loome kolm oma klassi objekti:
<?php
$user1 = new User('john', 21);
$user2 = new User('eric', 22);
$user3 = new User('kyle', 23);
?>
Paneme nüüd loodud objektid
massiivi $users:
<?php
$user1 = new User('john', 21);
$user2 = new User('eric', 22);
$user3 = new User('kyle', 23);
$users[] = $user1;
$users[] = $user2;
$users[] = $user3;
var_dump($users);
?>
Saame oma koodi lühendada, lihtsustades muutujatest:
<?php
$users[] = new User('john', 21);
$users[] = new User('eric', 22);
$users[] = new User('kyle', 23);
var_dump($users);
?>
Saame koodi veelgi lühendada, tehes kohe objektide massiivi:
<?php
$users = [
new User('john', 21),
new User('eric', 22),
new User('kyle', 23)
];
var_dump($users);
?>
Vaatleme nüüd oma objektide massiivi tsükliga ja väljastame objektide omadused ekraanile:
<?php
foreach ($users as $user) {
echo $user->name . ' ' . $user->age . '<br>';
}
?>
Tehke klass City, kus on
järgmised omadused: name, population.
Looge 5 klassi City objekti,
täitke need andmetega ja kirjutage massiivi.
Läbige loodud linnade massiiv tsükliga ja kuvage linnad ning nende rahvaarv ekraanile.