注意:在開始任務之前,您應該確保您已經配置好工作環境。即:
推薦使用Vagrant和Homestead虛擬機器。更多詳情請見:https://laravel.com/docs/5.8/homestead
OS Linux工作環境下安裝如圖:
git clone [email protected]:BinaryStudioAcademy/bsa-2019-php-1.git
cd bsa-2019-php-1
composer install
所有任務都分為/src
內的資料夾。
在大多數情況下,您的任務是用缺少的功能來補充現有程式碼。每個任務的資料集都會被嚴格定義,以便在測試中進行驗證。
在第一個任務(Task1)中,您需要與街頭霸王戰士合作。
您需要根據Fighter
類別建立一些戰鬥機並使用表中的一些資料。
姓名 | 影像 |
---|---|
龍 | https://bit.ly/2E5Pouh |
春麗 | https://bit.ly/2Vie3lf |
肯·馬斯特斯 | https://bit.ly/2VZ2tQd |
接下來,您需要使用FightArena
類,實作方法
add
all
mostPowerful
(攻擊更多,但生命值更少)mostHealthy
(更少的攻擊,但更多的健康)您可以透過執行以下命令來檢查自己:
./vendor/bin/phpunit --testsuite task1
在第二個任務(Task2)中,您需要實作一個簡單的生成器(使用yield
),它會傳回以下表情符號:
''、''、''、''、''。
為此,您需要在EmojiGenerator
類別中實作generate
方法。
您可以透過執行以下命令來檢查自己:
./vendor/bin/phpunit --testsuite task2
在第三個任務(任務 3)中,我們將使用內建 PHP Web 伺服器進行練習。您的任務是渲染您在任務 1 中建立的戰士列表,並使用內建 Web 伺服器顯示頁面。
為此,您需要在index.php
檔案中填充戰鬥競技場,並根據任務的測試程式碼實作FightArenaHtmlPresenter
類別的present
方法。
如果您使用 Homestead,那麼首先您需要停止nginx
。
sudo pkill nginx
然後啟動內建的Web伺服器:
php -S 0.0.0.0:80 -t ./src/Task3
可能需要指令“sudo php -S 0.0.0.0:80 -t ./src/Task3”。
該頁面將在瀏覽器中提供:
http://192.168.10.10:80 - 如果您使用的是宅基地
http://127.0.0.1:80 - 如果您從本機電腦執行
部分程式碼已包含在index.php
檔案中。
您可以透過執行以下命令來檢查自己:
./vendor/bin/phpunit --testsuite task3
您可能已經注意到我們使用 PHPUnit 來檢查作業。為了檢查您的解決方案是否滿足我們的期望(建議的規格),這是必要的。如果您以前不熟悉 PHPUnit,請不要擔心。我們將在以後的講座中更詳細地討論這一點。
在此階段,您可以假設這只是自動檢查(就像在 codewars.com 上一樣)。
首先,所有測試都是“紅色”,即破碎的。為了讓它們正常工作(綠色)並且沒有錯誤,您需要實施必要的解決方案。
測驗有什麼好處?
不該做什麼
運行所有測試:
./vendor/bin/phpunit
為特定作業執行測驗:
./vendor/bin/phpunit --testsuite task1
理想情況下,您應該將解決方案放置在 Github 或 Bitbucket 上的單獨儲存庫中,並發送指向它的連結。
如果您有任何問題,請在作業評論中提出問題。
禁止分叉此儲存庫!