Học lập trình lazy loading áp dụng trong lập trình php

Thảo luận trong 'Lập trình Code Web' bắt đầu bởi datecom, 27/8/15.

Lượt xem: 13,262

Bạn đang xem:

Học lập trình lazy loading áp dụng trong lập trình php

Coppy cùng chia sẻ nhé bạn!
  1. datecom

    datecom New Member

    Tham gia ngày:
    10/7/15
    Bài viết:
    29

    Những Cảnh Đẹp Của Việt Nam Qua Góc Nhìn Từ FlyCam PhanTom 3 Professional (Video 4K)

    Bấm Youtube để đăng ký xem video nhé!


    Diendanseo: Chia sẻ với các bạn học lập trinh viên PHP bài học của trung tâm đào tạo dạy công nghệ thông tin : Thủ thuật sử dụng Lazy Loading trong ứng dụng
    Ở các bài trước, chúng ta đã tìm hiểu về các kiến thức cơ bản trong lập trình hướng đối tượng. Tiếp tục trong bài này, chúng ta sẽ cùng tìm hiểu về kỹ thuật sử dụng lazy loading trong ứng dụng.

    [​IMG]
    Lazy loading là kỹ thuật rất quan trọng trong lập trình hướng đối tượng. Vì nhờ có nó ta có thể tiết kiệm được rất nhiều thao tác gọi nạp file khi sử dụng. Bản thân lazy loading sử dụng magic method (các phương thức đặc biệt trong PHP) để triệu gọi dữ liệu. Cụ thể là phương thức __autoload().

    Phương thức này sẽ được tự động gọi khi một đối tượng được khởi tạo. Cũng vì lý do đó mà chúng ta sử dụng nó để lap trinh php co ban require() một file chứa lớp đó.


    Ví dụ:
    Tạo 1 file tên test.php với nội dung sau:
    1
    2
    3
    4
    5
    6
    7
    <?php
    function__autoload($url){
    require("$url.php");
    }
    $abc=newABC;
    $abc->demo();
    ?>


    Tiếp tục ta tạo 1 file tên ABC.php với nội dung sau:
    1
    2
    3
    4
    5
    6
    <?php
    classABC{
    publicfunctiondemo(){
    echo"<h2>Welcome to QHOnline Tutorial</h2>";
    }
    }


    Khi chạy file test.php thì kết quả sẽ hiển thị trên màn hình là:

    Welcome to Tutorial
    Rõ ràng trên file test.php của chúng ta ở trên không hề có class nào tên ABC và cũng không có phương thức nào tên là demo() cả. Vậy thì vì sao ta có thể gọi được chúng ra bên ngoài ?.

    Bởi vì khi ta khởi tạo lớp ABC, lập tức sẽ gọi autoload(). Và phương thức autoload() sẽ lấy tên lớp hoc photoshop co ban ABC như 1 tham số $url và dùng lệnh require() để nạp file tên ABC.php vào.


    Khi đó, file ABC.php của chúng ta có lớp tên ABC và cũng có phương thức tên demo() nên file test.php của chúng ta mới xuất giá trị của phương thức demo() ra bên ngoài được.

    Bạn thấy đấy, thay vì trước khi sử dụng 1 lớp ta phải require() các lớp ở trên đầu rất nhiều. Thì giờ đây với lazy loading ta chỉ việc gọi lớp thì tự động hệ thống sẽ nạp file ứng với tên lớp đó. Điều này giúp ta bớt nhiều thời gian và giảm hao tốn tài nguyên khi phải thực hiện việc nạp load các thư viện ở trên đầu các file rất nhiều.

    Tuy nhiên, cần lưu ý rằng. Khi sử dụng cơ chế này, thường ta phải chú ý tới tên lớp và tên file. Chúng cần phải có sự liên quan nhất định. Ví dụ: Tên lớp và tên file giống nhau. Vì nếu không giống nhau thì quá trình nạp load sẽ thất bại. Và dĩ nhiên ta không thể lấy được các lớp, phương thức như mong muốn.

    Kỹ thuật lazy loading cũng là kỹ thuật được sử dụng rất nhiều trong các PHP Framework hiện nay. Chẳng hạn như zend framework, khi bạn muốn gọi 1 lớp hoc lap trinh android thường thì sẽ gọi như sau:


    1
    $model=newZend_Db_Table_Abstract;
    Có nghĩa là bạn đang truy cập vào thư mục Zend vào tiếp thư mục Db, vào tiếp thư mục Table và vào file Abstract.php. Zend/Db/Table/Abstract.php.

    Và dĩ nhiên trong file Abstract.php phải có lớp tên là Zend_Db_Table_Abstract:
    1
    2
    3
    classZend_Db_Table_Abstract{
    //code ở đây
    }


    Để autoload hiểu điều đó ta có thể định nghĩa đơn giản như sau:
    1
    2
    3
    4
    function__autoload($url){
    $url=str_replace("_","/",$url);
    require("$url.php");
    }


    Như bạn thấy, ta tìm kiếm tất cả các dấu gạch dưới trong lớp và thay thế chúng bằng dấu “/”. Khi đó hệ thống sẽ nạp đúng như quy trình trên.
    Trung tâm đào tạo PHP Vietpro
     
    Diễn đàn Ntphong index siêu nhanh!

    Diễn đàn Seo

    Tiêu đề: Học lập trình lazy loading áp dụng trong lập trình php

    Ghi nguồn bài viết www.ntphong.com khi đăng tải lại bài viết này.

  2. Quảng cáo Thành viên VIP


    Những Cảnh Đẹp Của Việt Nam Qua Góc Nhìn Từ FlyCam PhanTom 3 Professional (Video 4K)

    Bấm Youtube để đăng ký xem video nhé!

Similar Threads: Học lập
Diễn đàn Tiêu đề Ngày
RAO VẶT MIỀN BẮC Học lập trình c/c++ ở đâu hà nội Hôm qua, lúc 14:11
RAO VẶT MIỀN BẮC Học lập trình c/c++ ở đâu tốt Thứ năm lúc 10:06
RAO VẶT MIỀN BẮC Học lập trình c, c++ ở trung tâm nào chất lượng Thứ tư lúc 09:39
RAO VẶT MIỀN BẮC Học lập trình c/c++ ở đâu tốt hà nội 19/6/17
RAO VẶT MIỀN BẮC Địa chỉ học lập trình c/c++ tốt nhất 15/6/17
RAO VẶT MIỀN BẮC Nên học lập trình c, c+ ở trung tâm nào 14/6/17
RAO VẶT MIỀN BẮC Khóa học lập trình c tốt nhất hà nội 8/6/17
RAO VẶT MIỀN BẮC Tìm lớp học lập trình c, c++ tốt tại hà nội 7/6/17

Link hữu ích: @@ giàn phơi thông minh, giàn phơi quần áo, giàn phơi quần áo thông minh, giàn phơi quần áo, sim tra sau, giàn phơi thông minh, Mật Ong Rừng, Mật Ong Rừng Nguyên Chất, fpt ho chi minh, @@
=