Tôi có một phương pháp học mà những giao dịch với các ngày:Loại gián tiếp và tùy chọn các thuộc tính trong PHP
public function setAvailability(DateTime $start, DateTime $end){
}
Kể từ mục sẵn có có thể có giới hạn dưới, giới hạn trên, cả hai hay không, tôi muốn làm cho setAvailability () chấp nhận giá trị NULL. Tuy nhiên, NULL
liên tục vi phạm kiểu gián tiếp:
$foo->setAvailability(NULL, $end);
gây nên:
Catchable fatal error: Argument 1 passed to Foo::setAvailability() must be an instance of DateTime, null given
Và, như xa như tôi biết, tôi không thể có một trường hợp không có giá trị DateTime. (? Can I)
Đối với một lý do tôi không thể nắm bắt, điều này dường như làm việc:
public function setAvailability(DateTime $start=NULL, DateTime $end=NULL){
}
...
$foo->setAvailability(NULL, $end);
Nhưng nó trông giống như một hack mà làm việc một cách tình cờ tinh khiết.
Bạn sẽ xử lý những ngày không được đặt trong các lớp học PHP như thế nào?
Đã thêm liên kết đến trang hướng dẫn sử dụng có liên quan –
+1 trông giống như một hành vi dựa vào. Nó vẫn sẽ được tốt đẹp để tìm hiểu xem có một số loại "null" DateTime Object. –
@zerocrates: Cảm ơn. Không chỉ đó là một hành vi được ghi chép - nó cũng được giải thích trong chương bạn mong đợi. Tôi cảm thấy như một tân binh <:-) –