Class trong php

Em mới học php và bị mắc ở phần class, gọi đến các member function,…
Em muốn tạo 1 thuộc tính $reservation là mảng có kiểu là class Reservation trong class Room. Hàm addReservationremoveReservation để thêm, xóa 1 phần tử của $reservation.

  • Code lỗi ở 3 dòng bên dưới
class Room implements iReservable{
    protected $roomtype, $hasRestroom, $hasBalcony, $bedCount, $roomNumber, $extras;
    protected $reservation = new Reservation(); //Lỗi

    function createRoom($roomtype, $hasRestroom, $hasBalcony, $bedCount, $extras){
        $this->roomtype = $roomtype;
        $this->hasRestroom = $hasRestroom;
        $this->hasBalcony = $hasBalcony;
        $this->bedCount = $bedCount;
        $this->extras = $extras;
    }

    function addReservation($reservation){
       $this->reservation->add($reservation); //Lỗi
    }

    function removeReservation($reservation){
        $index = array_search($reservation, $this->reservation); //Lỗi
        unset($this->reservation[$index]);
    }

    function getReservation(){
        return $this->reservation;
    }

    function getRoomNumber(){
        return $this->roomNumber;
    }
}

lỗi gì thế bạn :grinning: :grinning: :grinning:

2 Likes

Lỗi cú pháp, bôi đỏ ấy. Khi chạy thì hiện lỗi này Constant expression contains invalid operations in...

Lỗi cú pháp thì tra cú pháp rồi sửa lại cho đúng thôi

2 Likes

em tra rồi mà ko có ví dụ nào người ta gán 1 thuộc tính = new Class nên ko biết là do không thể hay do cú pháp mình sai

gán ở đó không được thì gán ở construct
new Reservation(); là một biểu thức không xác định được, vậy thì làm sao trở thành giá trị mặc định được, đã là giá trị mặc định thì nó phải là một cái gì đó “xác định” được ngay từ đầu

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?