Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

PHP nhiều lời gọi hàm đối tượng

điều này được gọi là chuỗi phương thức và được thực hiện bằng cách trả về một tham chiếu đến lớp ($ this), hoặc một đối tượng lớp khác từ các hàm đó. Sau đó, bạn có thể gọi một phương thức trên đối tượng được trả về.

Đây là một ví dụ đơn giản.

class foo{
     protected $_bar;

     public function bar($value){
          $this->_bar = $value;
          return $this;
    }


   public function out(){
        echo $this->_bar;
   }
}

$a = new foo();
$a->bar('hello')->out();

đầu ra:

'hello'

Chỉ để giải thích thêm một chút, đoạn mã trên $a->bar('hello')->out(); gần tương đương với việc thực hiện điều này:

 $a = new foo();
 $b = $a->bar('hello');  //$a and $b are the same instance of the object
 $b->out();

Bây giờ vì bar() trả về $this chúng tôi có thể gán nó cho $b như trên và sau đó gọi out() . Nhưng $a$b cả hai đều tham chiếu đến cùng một phiên bản của foo đối tượng, vì chúng tôi đã trả về $this từ bar() . Vì vậy, không cần thêm biến "giả" này vì chúng ta chỉ có thể tham chiếu trực tiếp đối tượng trả về cho lần gọi tiếp theo. Điều này hoạt động với bất kỳ đối tượng nào được trả về từ một phương thức (không chỉ $ this), nhưng rõ ràng sau đó lệnh gọi tiếp theo trong chuỗi chống lại đối tượng được trả về.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chọn Nhiều hàng trong một cột được phân tách bằng Dòng mới

  2. Tốt hơn là sử dụng một giá trị trống dưới dạng '' hoặc là NULL?

  3. Làm cách nào để tạo một biểu đồ hình tròn hiển thị số lượng thứ mà mỗi người đã đăng ký?

  4. Không thể kết nối với cơ sở dữ liệu sau một số lần triển khai trên máy chủ

  5. gọi một hàm mysql trả về varchar trong chế độ ngủ đông