Hướng dẫn dùng php wait trong PHP

Có những lúc trong công việc lập trình ta cần mã tạm dừng theo một thời gian định trước thì trong php có hỗ trợ hàm sleep để các bạn làm điều này.

Mục lục

    Hàm sleep

    Tạm dừng trình dịch PHP trong thời gian định sẵn

    Cú pháp

    int sleep ( int $seconds )

    Tham số $seconds chỉ số giây tạm đừng

    hàm trả về false nếu không thành công

    Ví dụ:



    Tags: Hàm sleep trong PHPSleep trong PHPhàm tạm dừng PHPDelay trong PHP


    Có những lúc trong công việc lập trình ta cần mã tạm dừng theo một thời gian định trước thì trong php có hỗ trợ hàm sleep để các bạn làm điều này.

    Mục lục

      Hàm sleep

      Tạm dừng trình dịch PHP trong thời gian định sẵn

      Cú pháp

      int sleep ( int $seconds )

      Tham số $seconds chỉ số giây tạm đừng

      hàm trả về false nếu không thành công

      Ví dụ:



      Tags: Hàm sleep trong PHPSleep trong PHPhàm tạm dừng PHPDelay trong PHP


      • Diễn đàn
      • Internet & Web & Multimedia
      • Lập trình web
      • Cách sleep code ASP ?

      1. Cách sleep code ASP ?

        Mình thấy PHP có hàm sleep() để wait code, cho mình hỏi với ASP thì sử dụng hàm nào có tình năng tương đương với hàm sleep trong PHP ?

      Bookmarks

      Bookmarks

      Quy định

      • Bạn không thể tạo chủ đề mới
      • Bạn không thể trả lời bài viết
      • Bạn không thể gửi file đính kèm
      • Bạn không thể sửa bài viết của mình
      •  
      • BB code is On
      • Smilies are On
      • [IMG] code is On
      • [VIDEO] code is On
      • HTML code is Off

      Quy định DDTH.com

      Phương thức __sleep() và __wakeup() không được nhắc đến nhiều nhưng với dự án lớn thì sẽ cần thiết. Tài liệu tiếng việt không nói rõ nhiều về hai phương thức này chỉ còn cách xem diễn giải từ tài liệu nước ngoài, bài viết này sẽ giới thiệu về ý nghĩa và cách sử dụng của hai phương thức trên.

       __sleep() được thực thi khi đối tượng được lưu tạm thời thành chuỗi với hàm serialize(), phương thức sẽ trả về mảng các với các phần tử là các thuộc tính sẽ được lưu vào chuỗi với hàm serialize()

      __wakeup() được thực thi khi hàm unserialize được gọi, phương thức sẽ phục hồi lại đối tượng được lưu trong chuỗi trả về từ hàm serialize()

      Sau đây chúng ta sẽ tìm hiểu cách sử dụng từ ví dụ sau:

      Tạo file student.class.php

      class Student{
         private $full_name='';
         private $score = 0;
         private $grades = array();
         public function __construct($full_name, $score, $grades){
              $this->full_name = $full_name;
              $this->grades = $grades;
              $this->score = $score;
         }
         public function show(){
              echo $this->full_name;
              print_r( $this->grades);
         }
         function __sleep(){
              echo 'Going to sleep...';
              return array('full_name', 'grades', 'score');
         }
         function __wakeup(){
              echo 'Waking up ...';
         }
      }

      Ở trên __sleep() trả về mảng với 3 tham số là 3 thuộc tính sẽ được lưu tạm thời với hàm serialize()

      Tạo file a.php khởi tạo đối tượng, chạy hàm serialize và lưu chuỗi thông tin vào file string.txt

      include 'student.class.php';
      $student = new Student('Ngo Van Khuong','a',array('a'=>90,'b'=>100));
      $student->show();
      $s = serialize($student);
      file_put_contents('string.txt',$s);

      Chạy file trên trong trình duyệt chúng ta sẽ nhận được "Ngo Van KhuongArray ( [a] => 90 [b] => 100 ) Going to sleep...",  ta thấy phương thức __sleep() đã được thực thi

      Tạo file b.php để phục hồi phương thức từ chuỗi tạm thời

      include 'student.class.php';
      $s = file_get_contents('string.txt');
      $a = unserialize($s);
      $a->show();

      Chạy file trên trong trình duyệt chúng ta sẽ nhận được "Waking up ...Ngo Van KhuongArray ( [a] => 90 [b] => 100 )", ta thấy đối tượng đã được phục hồi và phương thức __wakeup đã được thực thi.

      Tham khảo php.net

      1. Trang Chủ
      2. PHP

      php Biến đã xây dựng -in: DIRECTORY_SEPARATOR

      DIRECTORY_SEPARATOR là một lệnh php được xây dựng để trả về phân phối đường dẫn liên quan đến đường dẫn trong hệ điều hành, trả về/quay lại/trên windows và hối tiếc trên linux , Đó là nó. Sự khác biệt khác biệt thường được sử dụng khi xác định đường dẫn tệp hoặc tải lên thư mục bảo quản.

      PHP Phương thức lớp bắt đầu bằng __ (hai dòng dưới) làm phương thức ma thuật. Vì vậy, khi bạn xác định phương pháp của riêng mình, đừng sử dụng __ như một tiền tố.

      1 、 __construct()

      Khi một đối tượng được khởi tạo, cấu trúc của đối tượng này sẽ được gọi là đầu tiên;

      Chúng tôi biết rằng mô hình đối tượng php5 và cùng hàm của cùng tên là hàm tạo của lớp. Sau đó, nếu hàm xây dựng và __ construc () được xác định cùng một lúc, php5 sẽ Gọi __ contruct Mặc định> () thay vì gọi các hàm tên tương tự, vì vậy __ contruct> () là hàm tạo mặc định của lớp;

      2 、 __destruct()

      Bộ hủy diệt sẽ được thực thi khi tất cả các tham chiếu đến một đối tượng nhất định bị xóa hoặc khi đối tượng bị phá hủy rõ ràng.

      3 、 __get(string $name)

      Nó được gọi khi cố gắng đọc một thuộc tính không tồn tại; Nếu bạn cố gắng đọc một đối tượng không tồn tại, php sẽ cung cấp sai thông tin. Nếu bạn thêm phương thức __ get vào lớp và chúng ta có thể sử dụng chức năng này để thực hiện các hoạt động khác nhau tương tự như java.

      4 、 __set(string $name, mixed $value)

      Nó sẽ được gọi khi gán một biến không hoàn thành

      5 、 __call(string $name, array $arguments)

      Khi gọi một phương thức không thể thay thế (chẳng hạn như không có sẵn hoặc không hiển thị), __ call () sẽ được gọi.

      __callStatic( string $name, array $arguments )

      Khi một phương thức không tính toán được gọi trong phương thức tĩnh (nếu nó không được xác định hoặc vô hình), __ callStatic () sẽ được gọi.

      6 、 __toString()

      Khi nó được gọi khi in một đối tượng, phương thức này tương tự như phương thức toString của java. Khi chúng ta in trực tiếp đối tượng, hãy gọi lại chức năng này.

      7 、 __clone()

      Gọi khi đối tượng được nhân bản.

      8 、 __sleep()

      Hàm serialize () sẽ kiểm tra xem có phương thức ma thuật __ sleep . Nếu nó tồn tại, __ <+phương pháp sleep () sẽ được gọi đầu tiên trước khi thực hiện các hoạt động tuần tự hóa. Hàm này có thể được sử dụng để làm sạch các đối tượng và trả về một mảng chứa tất cả các tên biến trong đối tượng. Nếu phương thức này không trả về bất kỳ nội dung nào, NULL được nối tiếp hóa, gây ra lỗi E_NOTICE. __ sleep thường được sử dụng để gửi dữ liệu không bị gián đoạn hoặc các hoạt động tương tự. Đồng thời, nếu bạn có một số đối tượng lớn, bạn không cần lưu, chức năng này rất dễ sử dụng.

      9 、 __wakeup()

      Trái ngược với __ sleep (), unserialize () sẽ kiểm tra xem có phương thức __ wakeup không. Nếu bạn tồn tại, trước tiên bạn sẽ gọi __ wakeup để chuẩn bị trước dữ liệu đối tượng. __ wakeup thường được sử dụng trong các hoạt động DEE, chẳng hạn như kết nối cơ sở dữ liệu lại hoặc thực hiện các hoạt động khởi tạo khác.

      **

      10 、 __isset()

      ** Khi biến không hoàn thành gọi isset () hoặc empty (), __ isset () sẽ được gọi. **

      11 、 __unset()

      ** unset Thuộc tính của một đối tượng được gọi. Chẳng hạn như: unset($c->name) . **

      12 、 __set_state()

      ** Khi gọi var_export, được gọi. Giá trị trả về của __ set_state được sử dụng làm giá trị trả về của var_export. **

      13 、 __autoload()

      ** Khi một đối tượng được khởi tạo, nếu lớp tương ứng không tồn tại, phương thức được gọi. Nói một cách đơn giản, nó là tải tự động của lớp; Khi bạn cố gắng sử dụng một lớp không được tổ chức bởi PHP, nó sẽ tìm thấy chức năng toàn cầu của __ autoload. Nếu hàm này tồn tại tên. **

      14 、 __invoke()

      ** Khi bạn cố gắng gọi một đối tượng bằng cách gọi hàm, __ invoke phương thức sẽ được gọi tự động. **

      Hằng số ma thuật:

      ** LINE Số dòng hiện tại trong tệp.

      FILE Đường dẫn hoàn chỉnh và tên tệp của tệp. Nếu nó được sử dụng trong tệp, tên tệp được trả về. Bắt đầu từ PHP 4.0.2, FILE Nó luôn chứa một đường dẫn tuyệt đối (nếu đó là kết nối biểu tượng, đó là đường dẫn tuyệt đối sau khi phân tích) và phiên bản trước đôi khi chứa một đường dẫn tương đối.

      DIR Thư mục nơi tập tin được đặt. Nếu bạn sử dụng nó trong tệp, hãy trả lại thư mục trong đó bao gồm tệp. Nó tương đương với dirname ( FILE ) 。 Trừ khi đó là thư mục gốc, tên của thư mục không bao gồm độ dốc ở cuối. ( PHP 5.3.0 Trung Quốc mới) =

      FUNCTION Tên chức năng ( PHP 4.3.0 mới). Từ PHP 5 trở lại tên khi hàm được xác định (phân biệt theo trường hợp). Giá trị này luôn là chữ thường trong PHP 4.

      CLASS Tên của lớp ( PHP 4.3.0 là mới). Từ PHP 5 Quay trở lại danh mục này, tên được trả về (phân biệt bởi trường hợp). Giá trị này luôn là chữ thường trong PHP 4.

      METHOD Tên phương thức của lớp ( PHP 5.0.0 Mới). Quay lại tên khi phương thức được xác định (phân biệt theo trường hợp).

      NAMESPACE Tên của không gian hiện có tên (nhạy cảm với trường hợp). Hằng số này là ( PHP 5.3.0 mới được xác định trong quá trình biên dịch)


      PHP Ví Dụ

      Bao gồm một số mã chức năng giải mã được mã hóa PHP, chia sẻ nó với mọi người. Nguyên tắc mã hóa và giải mã thường thê