Perhatian: sebelum memulai tugas, Anda harus memastikan bahwa Anda telah mengkonfigurasi lingkungan kerja. Yaitu:
Disarankan untuk menggunakan mesin virtual Vagrant dan Homestead. Detail lebih lanjut di sini: https://laravel.com/docs/5.8/homestead
Instalasi ditampilkan di lingkungan kerja OS Linux:
git clone [email protected]:BinaryStudioAcademy/bsa-2019-php-1.git
cd bsa-2019-php-1
composer install
Semua tugas dibagi ke dalam folder di dalam /src
.
Tugas Anda, dalam banyak kasus, adalah melengkapi kode yang ada dengan fungsionalitas yang hilang. Kumpulan data untuk setiap tugas akan ditentukan secara ketat untuk tujuan verifikasi dalam tes.
Dalam tugas pertama (Tugas1) Anda harus bekerja dengan pejuang Street Fighter .
Anda perlu membuat beberapa petarung berdasarkan kelas Fighter
dan menggunakan beberapa data dari tabel.
Nama | Gambar |
---|---|
Ryu | https://bit.ly/2E5Pouh |
Chun-Li | https://bit.ly/2Vie3lf |
Ken Master | https://bit.ly/2VZ2tQd |
Selanjutnya Anda perlu bekerja dengan kelas FightArena
, mengimplementasikan metodenya
add
all
mostPowerful
(lebih banyak serangan, tetapi lebih sedikit kesehatan)mostHealthy
(lebih sedikit serangan, tetapi lebih banyak kesehatan)Anda dapat memeriksa diri Anda sendiri dengan menjalankan:
./vendor/bin/phpunit --testsuite task1
Pada tugas kedua (Task2), Anda perlu mengimplementasikan generator sederhana (menggunakan yield
) yang mengembalikan emoji berikut:
'', '', '', '', ''.
Untuk melakukan ini, Anda perlu mengimplementasikan metode generate
di kelas EmojiGenerator
.
Anda dapat memeriksa diri Anda sendiri dengan menjalankan:
./vendor/bin/phpunit --testsuite task2
Pada tugas ketiga (Tugas 3) kita akan berlatih dengan server web PHP bawaan. Tugas Anda adalah merender daftar pejuang yang Anda buat di tugas 1 dan menampilkan halaman menggunakan server web bawaan.
Untuk melakukan ini, Anda perlu mengisi arena pertarungan di file index.php
dan mengimplementasikan metode kelas FightArenaHtmlPresenter
present
, berdasarkan kode pengujian untuk tugas tersebut.
Jika Anda menggunakan Homestead, pertama-tama Anda harus menghentikan nginx
.
sudo pkill nginx
Kemudian mulai server web bawaan:
php -S 0.0.0.0:80 -t ./src/Task3
Perintah "sudo php -S 0.0.0.0:80 -t ./src/Task3" mungkin diperlukan.
Halaman ini akan tersedia di browser di:
http://192.168.10.10:80 - jika Anda menggunakan wisma
http://127.0.0.1:80 - jika Anda menjalankan dari mesin lokal
Beberapa kode sudah terdapat di file index.php
.
Anda dapat memeriksa diri Anda sendiri dengan menjalankan:
./vendor/bin/phpunit --testsuite task3
Anda mungkin sudah memperhatikan bahwa kami menggunakan PHPUnit untuk memeriksa pekerjaan. Hal ini diperlukan untuk memeriksa apakah solusi Anda memenuhi harapan kami (spesifikasi yang diusulkan). Jika sebelumnya Anda belum familiar dengan PHPUnit, jangan khawatir. Kita akan melihat ini secara lebih rinci dalam kuliah mendatang.
Pada tahap ini, Anda dapat berasumsi bahwa ini hanyalah pemeriksaan otomatis (seperti di codewars.com).
Pada awalnya, semua tes berwarna "merah", mis. rusak. Agar dapat berfungsi (hijau) dan tidak ada kesalahan, Anda perlu menerapkan solusi yang diperlukan.
Apa keuntungan dari tes?
Apa yang tidak boleh dilakukan
Menjalankan semua tes:
./vendor/bin/phpunit
Menjalankan tes untuk pekerjaan tertentu:
./vendor/bin/phpunit --testsuite task1
Idealnya, Anda harus menempatkan solusi Anda di repositori terpisah di Github atau Bitbucket dan mengirimkan tautan ke sana.
Ajukan pertanyaan di komentar tugas jika Anda memiliki masalah.
Dilarang mem-forking repositori ini!