Bài 10: Kỹ thuật Lazy loading.

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 phương thức magic để 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ó để ...

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 phương thức magic để 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ó để require() một file chứa lớp đó.
Mình có một cấu trúc sau:
Class User
class User{
	function User(){
		echo 'User đã được khởi tạo';	
	}
}

Class Product.

class Product{
	function Product(){
		echo 'Product đã được khởi tạo';	
	}
}
Chẳng hạn trong file index.php bạn khai báo một đối tượng và gọi tới các thuộc tính và phương thức trong User và Product, nếu như thông thường khi bạn muốn dùng class này này thì bạn phải require hoặc include gọi file index.php vào để sử dụng.
- Code trong file index.php
define('ABSPATH',dirname(__FILE__)); // Khai báo thư mục chứa file thực hiện
define('DIR_CLASSES',ABSPATH.'/classes'); // Khai báo đường dẫn tới folder classes

// Require files
require_once(DIR_CLASSES.'/User.php');
require_once(DIR_CLASSES.'/Product.php');

// Khởi tạo đối tượng User
$user = new User(); // Kết quả: User đã được khởi tạo

// Khởi tạo đối tượng Product
$product = new Product(); // Kết quả: Product đã được khởi tạo
Nhưng khi bạn khai báo hàm __autoload, thì bạn chỉ việc khởi tạo đối tượng mà không cần require file nữa vì hàm _autoload đã tự động gọi cho bạn. - Code trong file index.php
define('ABSPATH',dirname(__FILE__)); // Khai báo thư mục chứa file thực hiện
define('DIR_CLASSES',ABSPATH.'/classes'); // Khai báo đường dẫn tới folder classes

function __autoload($class){
     require(DIR_CLASSES.'/'.$class.".php");
}

// Khởi tạo đối tượng User
$user = new User(); // Kết quả: User đã được khởi tạo

// Khởi tạo đối tượng Product
$product = new Product(); // Kết quả: Product đã được khởi tạo
Ở ví dụ trên ta thấy hàm __autoload tự động gọi file User.php và Product.php ra, chúng ta chỉ việc khởi tạo lại class basic
Chú ý khi sử dụng autoload thì tên file và tên class phải giống nhau nhé
Bài liên quan

[BÀI 14]Kỹ thuật Clearfix trong CSS

Kỹ thuật Clearfix trong CSS Clearfix trong CSS không phải là một thuộc tính, mà nó là một kỹ thuật để loại bỏ ảnh hưởng của float lên các vùng. Clearfix là gì? Khi một thẻ cha có thẻ con sử dụng float thì chiều cao của thẻ cha so với thẻ con đó là 0px. Chiều cao của thẻ cha chỉ phụ ...

Trần Trung Dũng viết 3 tuần trước

[Bài tập] Giáo trình bài tập kỹ thuật lập trình

Viết chương trình để giải quyết các bài toán sau Bài 1: S(n) = 1+2+3+ … + n. #include <stdio.h> #include <iostream> using namespace std; int main() { long n, s=0,i; cin >> n; for (i=1; i<=n; i++) s=s+i; cout << s; ...

Tạ Quốc Bảo viết 3 tuần trước

Bài 10: Kỹ thuật Lazy loading.

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 phương thức magic để 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ó để ...

Tạ Quốc Bảo viết 3 tuần trước

Lập trình hướng đối tượng: Kỹ thuật sử dụng lazy loading

Lập trình hướng đối tượng: Kỹ thuật sử dụng lazy loading Ở 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. Lazy loading là kỹ ...

Tạ Quốc Bảo viết 15:10 ngày 19/09/2018

Một số kỹ thuật "tăng tốc" cho website (Lazy Load, Adaptive Image, Gzip, DNS Prefetch)

Đối với những website tốc độ tải trang rất quan trọng. Người dùng chỉ hứng thú với những website load nhanh, còn khi một trang web đáp ứng chậm, khách sẽ mất kiên nhẫn và khả năng họ quay lại sẽ là rất thấp. Như vậy, những người tìm kiếm thông tin thường rất sốt ruột khi phải đợi những trang web ...

Hoàng Hải Đăng viết 15:45 ngày 12/08/2018
0