有沒有更好的方法來存儲按照以下示例所需的值。我試圖在將字符串傳遞給工廠方法時避免任何可能的錯誤。使用一個類來存儲常量值
但是,這有什麼問題嗎?難道是容易測試,有沒有更好的方式來達到同樣的事情等
abstract class Types
{
const Car = 'car';
const Boat = 'boat';
const Bike = 'bike';
}
class VehicleFactory {
public function make($type)
{
if ($type === Types::Car) {
// create new car
}
if ($type === Types::Boat) {
// create new Boat
}
if ($type === Types::Bike) {
// create new Bike
}
}
}
class Client
{
public function createACar()
{
$vehicleFactory = new VehicleFactory();
$car = $vehicleFactory->create(Types::Car)
}
}
Enum在這裏是正確的選擇。 – Sivaramvt