Thủ thuật tối ưu hóa khi lập trình PHP
1 - Dùng echo thay thế print
Echo luôn luôn hoạt động nhanh hơn print, vì echo không có return gì cả, trong khi print thì luôn return true hay false (0 | 1).
<?php
print('Hello world!');
echo 'Hello world!';
?>
2 - Nháy đơn luôn nhanh hơn nháy kép
Xem xét ví dụ sau:
<?php
$str = 'world';
$a = 'Hello ' . $str;
$b = "Hello $str";
?>
Trong khi nháy kép luôn kiểm tra nội dung bên trong có cái nào là biến hay không thì nháy đơn không kiểm tra, vì nội dung bên trong nháy đơn chắc chắn là chuỗi.
Do đó việc xử lý chuỗi sẽ nhanh hơn.
3 - Vòng lặp for trong PHP
Mỗi khi thực hiện vòng lặp for() để duyệt một phần tử mảng, ta thường sử dụng hàm count để đếm số lượng của các phần tử trong mảng. Điều này sẽ làm cho ứng dụng của chúng ta trở nên chậm chạp. Do đó, mỗi lần thực hiện việc kiểm tra điều kiện thì ta lại phải gọi lại hàm count để đếm số phần tử trong mảng.
Cụ thể:
<?php
for($i=0; $i<=count($a); $i++){
// Hành Động...
}
?>
Cách khắc phục:
<?php
$b = count($a);
for($i=0; $i<=$b; $i++){
// Hành động...
}
?>
4 - Đừng back folder khi gọi lại file
Thói quen back folder của một số lập trình viên cần phải xem xét lại vì khi back folder, hệ thống phải cần thời gian tìm kiếm và định hình đường dẫn. Điều đó sẽ làm cho ứng dụng tốn tài nguyên trong việc thực hiện thao tác này.
Cụ thể:
<?php
require_once '../../path/config.php';
?>
Cách khắc phục:
<?php
require_once BASE.'/path/config.php';
?>
BASE là một hằng được định nghĩa từ đầu để chỉ ra đường dẫn vật lý tới thư mục của ứng dụng. 5 - Nối chuỗi bằng dấu "," sẽ nhanh hơn dấu "."
Thói quen khi lập trình PHP thường là nối chuỗi và biến bằng dấu ".". Nhưng thực tế là khi nối chuỗi bằng dấu "," thì tốc độ xử lý của ứng dụng sẽ được cải tiến và nhanh hơn rất nhiều
<?php
echo $str1 . $str2;
echo $str1 , $str2; // Nhanh hơn
?>
6 - Luôn dùng dấu nháy để truy cập khóa của 1 mảng
Thực tế là các lập trình viên hay bỏ qua điều này vì sự rườm rà của cách viết. Nhưng nếu không có nó thì ứng dụng sẽ lại chậm đi một chút. Vì khi đó nó sẽ xem khóa đó là một hằng, và tìm xem có hằng nào định nghĩa hay không? Như vậy sẽ làm code chạy chậm đi do phải mất thời gian xử lý tác vụ biên dịch hằng.
Ví dụ:
<?php
$a = $b['abc']; // nhanh hơn
$a = $b[abc];
?>
Trên đây là một số thủ thuật trong học lập trình PHP giúp tối ưu website của các bạn. Chúc các bạn thành công! |