Latihan 1 dari materi Namespace & Autoloading di PHP — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Di proyek sungguhan, User tinggal di src/Models/User.php dengan namespace App\Models;, dan UserService di src/Services/UserService.php dengan namespace App\Services; plus use App\Models\User;. Playground cuma menjalankan satu file, jadi di sini keduanya ditulis tanpa namespace, seperti starter-nya.
Lengkapi class User: property public string $nama, constructor __construct(string $nama) yang menyimpannya, dan method sapa() yang mengembalikan sapaan berisi nama itu, misalnya Halo, Budi!.
Lengkapi greet(User $user) di class UserService: kembalikan "Welcome, " . $user->nama . "!".
Tiga baris terakhir starter biarkan. Hasilnya harus:
Welcome, Budi!
Penilai juga menjalankan (new User("Sinta"))->sapa() dan memeriksa sapaannya memuat Sinta, jadi ambil namanya dari $this->nama, jangan ditulis langsung.
Hint
User menyimpan namanya lewat constructor, dan UserService membaca nama itu dari object User yang diterimanya.
Di User: public string $nama; lalu public function __construct(string $nama) { $this->nama = $nama; } dan public function sapa(): string yang memakai $this->nama. Di UserService, greet menyusun kalimat dari $user->nama.
public function sapa(): string { return "Halo, $this->nama!"; } dan di UserService: public function greet(User $user): string { return "Welcome, " . $user->nama . "!"; }
</>{ }.css=>#idfn()
Versi baru
HyperSheets
bagian dari BelajarWeb.dev
0%
Membuka gerbang…
HyperSheets
Memperbarui Aplikasi
Versi baru tersedia. Halaman akan dimuat ulang otomatis...