no message

This commit is contained in:
a-kizaki
2026-10-06 12:10:09 +09:00
commit 9c2090ffa2
156 changed files with 14850 additions and 0 deletions

View File

@@ -0,0 +1,71 @@
<?php
namespace Common;
require_once __DIR__ . '/PaymentInterface.php';
/**
* クレジットカード決済を行うクラス
*/
class CreditCardPayment implements PaymentInterface
{
/** @var string カード番号 */
private $cardNumber;
/** @var string カード名義人 */
private $cardHolder;
/**
* コンストラクタ
*
* @param string $cardNumber カード番号
* @param string $cardHolder カード名義人
*/
public function __construct($cardNumber, $cardHolder)
{
// TODO: カード番号とカード名義人をプロパティに設定してください
}
/**
* クレジットカードで決済を実行する
*
* @param int $amount 決済金額(円)
* @return bool 決済が成功したかどうか
*/
public function pay($amount)
{
// TODO: 以下の情報を表示して、最後に true を返してください
// - "💳 クレジットカード決済処理"
// - "カード番号: " に続けてマスキングされたカード番号(maskCardNumber メソッドを使用)
// - "名義人: " に続けてカード名義人
// - "決済金額: ¥" に続けて金額をカンマ区切りで表示(number_format 関数を使用)
// - "決済が完了しました。"
// ※各行の最後に <br> を付けること
}
/**
* 決済方法の名前を取得する
*
* @return string 決済方法名
*/
public function getPaymentMethodName()
{
// TODO: "クレジットカード" という文字列を返してください
}
/**
* カード番号をマスキングする(セキュリティのため)
*
* @param string $cardNumber カード番号
* @return string マスキングされたカード番号
*/
private function maskCardNumber($cardNumber)
{
// TODO: カード番号を「****-****-****-最後の4桁」の形式でマスキングしてください
// ヒント:
// 1. explode('-', $cardNumber) でカード番号を '-' で分割して配列にする
// 2. 配列の要素数が4つの場合、最後の要素($parts[3])以外を「****」に置き換える
// 3. "****-****-****-" と最後の4桁を結合して返す
// 4. 配列の要素数が4つでない場合は "****-****-****-****" を返す
}
}