[PHP] Hướng dẫn cách viết code PHP tối ưu

Đăng bởi: Admin | Lượt xem: 3168 | Chuyên mục: PHP

Việc tối ưu code PHP là điều được ưu tiên hàng đầu đối với tất cả lập trình viên, nó giúp cho chương trình của bạn chạy một cách nhanh chóng và mượt mà hơn. Trong bài viết này vncoder,vn sẽ đưa ra một số mẹo để bạn dễ dàng tối ưu code của mình hơn, cùng đón xem nhé.


Việc tối ưu code PHP là điều được ưu tiên hàng đầu đối với tất cả lập trình viên, nó giúp cho chương trình của bạn chạy một cách nhanh chóng và mượt mà hơn. Trong bài viết này vncoder.vn sẽ đưa ra một số mẹo để bạn dễ dàng tối ưu code của mình hơn, cùng đón xem nhé.

1. Sử dụng các function có sẵn của PHP

Nếu PHP đã hỗ trợ cho bạn những function đã có sẵn, thì bạn hãy sử dụng nó. Chắng hạn như các hàm sắp xếp (sort), lấy ngẫu nhiên random, loại bỏ phần từ, php đều đã hỗ trợ sẵn, bạn không cần phải viết lại, vì có thể sẽ tối ưu code PHP , làm giảm tốc độ thực thi của script

2. Sử dụng dấu nháy đơn ” thay vì dấu nháy kép “”

Sử dụng dấu nháy đơn trong lập trình PHP nhanh hơn dấu nháy kép “”. Nếu bạn chỉ đơn giản là lưu một chuỗi vào một biến nào đó, thì hãy sử dụng dấu nháy đơn, bởi vì đối với dấu nháy kép PHP phải mất thời gian thực hiện việc kiểm tra bên trong dấu nháy kép có chứa biến nào không để lấy giá trị của biến đó, ví dụ echo “$a”

3. Tối ưu code PHP : Sử dụng === thay vì ==

Với việc sử dụng === để so sánh, phạm vi kiểm tra sẽ hẹp lại, từ đó tốc độ thực thi nhanh hơn

4. Nên Tính toán 1 lần

Với các hàm tính toán có thể dùng 1 lần, bạn đưa nó vào biến, như vậy sẽ khỏi phải tính đi tính lại nhiều lần
Mời bạn xem ví dụ dưới đây

Chưa tối ưu

for( $i=0; i< count($arrA); $i++){
    echo count($arrA);
}

đã tối ưu

<?php
$len = count($arrA);
for( $i=0; i< $len; $i++){
echo $len;
}

5. Dùng tham chiếu trong function để tối ưu code PHP

Nếu có thể dùng tham chiếu trong function mà không ảnh hưởng đến logic bài toán lập trình thì bạn nên dùng, đó cũng là 1 cách tối ưu code php, bởi vì việc thao tác tham chiếu thì nhanh hơn tham trị

đã tối ưu

<?php
// passing by reference
function computeValue( &$param ){
// Something goes here
foreach( $param as $k => $value){
$param[$k] = $value + 1;
}
}
$x = array();
for( $i =0; $i<99; $i++){
$x[$i] = $i;
}
computeValue( $x);

// array with 100 elements each incremented by 1
print_r( $x );

?>

chưa tối ưu

<?php
// passing by value
function computeValue( $param ){
// Something goes here
foreach( $param as $k => $value){
$param[$k] = $value + 1;
}

return $param;
}
$x = array();
for( $i =0; $i<99; $i++){
$x[$i] = $i;
}
// array with 100 elements each incremented by 1
print_r(computeValue( $x));

?>

6. Chỉ sử dụng class và method khi cần thiết

Đừng tạo class và method cho đến khi nó thực sự cần, dùng cho việc tái sử dụng lại

7. Tắt thông báo debug

Một sản phẩm khi đã xuất bản thì bạn nên tắt đi các thông báo, bởi các thông báo lỗi này sẽ ghi ra log thường xuyên, gây tốn kém, giảm tốc độ, không tốt cho hệ thống

8. Sử dụng kĩ thuật cache

Sử dụng cache để giảm thiểu việc load dữ liệu toàn bộ từ database, tăng tốc hệ thống

9. Đóng kết nối

Đóng kết nối database khi thực hiện một tác vụ nào đó, hoặc unset đi các biến không dùng nữa để tránh lãng phí bộ nhớ

10. Giảm thiểu số lần kết nối database

Đừng truy vấn vào database quá nhiều lần để xử lý công việc mà đáng ra bạn có thể chỉ cần gọi 1 lần
Xem 2 ví dụ dưới đây để hiểu rõ hơn
Chưa tối ưu, gọi nhiều lần

<?php
$con=mysqli_connect("localhost","username","somepassword","anydb");

if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL" ;
mysqli_connect_error(); 
}

function insertValue( $val ){
mysqli_query($con,"INSERT INTO tableX (someInteger) VALUES ( $val )");
}

for( $i =0; $i<99; $i++){
// Calling function to execute query one by one 
insertValue( $i );
} 
// Closing the connection as best practice 
mysqli_close($con);

?>

Đã tối ưu, gọi 1 lần

<?php
$con=mysqli_connect("localhost","username","somepassword","anydb");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL" ;
mysqli_connect_error(); 
}

function insertValues( $val ){
// Creating query for inserting complete array in single execution.
$query= " INSERT INTO tableX(someInteger) VALUES .implode(',', $val)"; 
mysqli_query($con, $query);
}

$data = array();
for( $i =0; $i<99; $i++){
// Creating an array of data to be inserted.
$data[ ] = '(" ' . $i. '")' ;
}
// Inserting the data in a single call
insertValues( $data );
// Closing the connection as a best practice
mysqli_close($con);

?>

12. Ưu tiên sử dụng switch case trong các câu điều kiện thích hợp

13. Sử dụng Json

Sử dụng json thay vì xml cho các rest API, web service. Bởi vì json được php hỗ trợ các function json_encode, json_decode rất nhanh. Còn đối với XMl bạn phải đọc xml, sử dụng regular expression để parse ra,… rất mất thời gian

14. Sử dụng isset

Sử dụng hàm isset bất cứ khi nào có thể thay vì count(), strlen(), sizeof() để kiểm tra giá trị trả về lớn hơn 0
tối ưu

đã tối ưu

if(isset($returnValue)){
// do something here
}

không tối ưu

if(count($returnValue) > 0){
// do something here
}

Kết luận

Trên đây là toàn bộ 14 mẹo viết code tối ưu trong lập trình PHP mà vncode.vn đã thông kê cho bạn, hy vọng nó sẽ hữu ích cho bạn. Chúc bạn thành công!.

Tài liệu tham khảo

Xem thêm

vncoder logo

Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!



Khóa học liên quan

Khóa học: PHP

Xây dựng Website PHP theo MVC
Số bài học:
Lượt xem: 28030
Đăng bởi: Admin
Chuyên mục: PHP

Học lập trình PHP cơ bản
Số bài học:
Lượt xem: 19188
Đăng bởi: Admin
Chuyên mục: PHP