Tạo object không sử dụng class trong PHP

Dear all, mình có một câu hỏi này mong mọi người trả lời giúp. Trong code của mình cỏ một hàm getCustomerDetails như sau:

function getCustomerDetails(CustomerParams $param) {
    User::checkPermission();
    if ($param->Id)
        return $customer = Customer::findBy($param->Id);
    ...
}

Trong đó biến $param có kiểu dữ liệu là một object của class CustomerParams và có các property khác nhau như age, username. Tuy nhiên, ở một đoạn code khác mình cần sử dụng hàm getCustomerDetails() ở trên để tìm customer với một ID. Do mình đã có sẵn giá trị ID của customer để tìm kiếm nên mình không muốn truyền tham số vào bằng cách tạo ra một object từ CustomerParamsclass nhưng vẫn đảm bảo tham số là một object này có property là Id thì phải làm thế nào?

Được hỏi 1 năm trước
Bình chọn bởi: Roy Trịnh, Nam Nguyễn, Ngô Hải, Hiệp Bùi, Giang River, Minh Tran, Minh Tâm, Hà Anh, Lê Trung, Khuê Vũ, Hoàng Giang, Bơ Heoboo, Hang Pham, Linh Nguyễn, Quỳnh Anh, Đồng Tuyết, Trần Diễm, Nguyen Duy, Phúc Lê, Ngọc Nguyễn, Hoan Capy, Đức Nam
1 Câu Trả Lời

Bạn có thể sử dụng chức năng type casting của PHP. Trong trường hợp của bạn có thể chuyển từ array sang object như sau:

$param = (object) [
  'age' => 22,
  'username' => 'test'
];
Trả lời 1 ngày trước

Thêm Trả Lời