11 Mẹo viết Code PHP Sạch và An toàn

Ngày đăng: 18/12/2019   -    Cập nhật: 06/03/2020
Bất kỳ ngôn ngữ lập trình nào khi được viết sạch sẽ, dễ hiểu và được định dạng tốt đều dễ dàng được chấp nhận và hoan nghênh bởi tất cả mọi người.


Và điều cần thiết là phải giúp các lập trình viên khác (không nhất thiết phải làm việc cùng ngôn ngữ) hiểu được tất cả các dòng code chúng ta viết.


Để dễ dàng xác định và đảm bảo tính dễ hiểu cho bất kỳ lập trình viên nào tiếp nhận nó sau này.



11 Mẹo viết code PHP

11 Mẹo viết code PHP


Trong bài này mình sẽ cho bạn thấy một số Mẹo viết code PHP Sạch và An toàn.


Không có thứ tự quan trọng ở đây, vì thế tất cả các mẹo này đều cần thiết và có tầm quan trọng như nhau:


Mẹo #1: Comment về mọi hành động quan trọng là cực kỳ cần thiết



Điều này không chỉ giúp dễ dàng xác định nhu cầu cụ thể của đoạn code đó mà còn làm cho chương trình gọn gàng, nhìn thấy phân tách rõ ràng.


// Hàm kiểm tra đăng nhập
if(!$user_login){
  header("Location:https://niithanoi.edu.vn/");
  die();
} 


Mẹo #2: Tránh sử dụng các cầu điều kiện không mong muốn



Điều này không chỉ làm tăng thời gian thực thi mà còn làm cho code dài và phức tạp.


Ví dụ:


<?php
if (condition1 == true){
  // Code thỏa mãn điều kiện trên
} else {
  // Thực thi die(); hoặc exit();
}
?>


Thay vì dài dòng như thế, chúng ta có thể viết chương trình PHP trên như sau:


<?php

if(!condition){
  // Hiển thị thông tin cảnh báo
  die("Câu lệnh không hợp lệ!");
}
?>


Điều này làm giảm thời gian thực thi và cũng làm cho code dễ dàng duy trì hơn.


Cách làm dưới đây cũng là một giải pháp:



<?php
$response_text = ( Điều kiện ) ?  "Hành động khi đúng" : "Hành động khi sai";
echo $response_text;
?>


Ở đây, các toán tử ternary đã được sử dụng, thay vì sử dụng các câu lệnh có điều kiện, để đơn giản hóa code hơn nữa.


Mẹo #3: Code thụt lề để đánh dấu bắt đầu và kết thúc câu lệnh



Code đẹp luôn luôn tốt. Thụt lề để giúp bạn dễ nhận ra các block code từ đó biết được phạm vi của các đoạn mã, phạm vi của biến...


<?php
if(mysql_num_rows($res)>0) {
  while($a = mysql_fetch_object($res)){
    echo $a->first_name;
  } // Kết thúc vòng lặp While
}// Kết thúc điều kiện if
?>


Mẹo #4: Tránh sử dụng các thẻ HTML không mong muốn trong code PHP



Trong ví dụ được đưa ra dưới đây, trình biên dịch PHP đi qua từng dòng mã và thực thi hàm, việc này rất tốn thời gian.


<?php
echo "<table>";
echo “<tr>”;
echo “<td>”;
echo “11 Mẹo code PHP”;
echo “</td>”;
echo </tr>”;
echo “</table>”;
?>


Thay vào đó, chúng ta sử dụng cách đơn giản dưới đây:


<html>
  <body>
    <table>
      <tr>
        <td>
          <?php
             echo "11 Mẹo code PHP";
          ?>
        </td>
      </tr>
    </table>
  </body>
</html>


Ở đây, trình biên dịch PHP sẽ chỉ thực thi code PHP phía server thay vì tạo ra các thẻ HTML.


Điều này giúp cắt giảm thời gian kiểm tra không cần thiết của trình biên dịch PHP, do đó tiết kiệm thời gian thực thi chương trình.



Mẹo #5: Clear code bằng cách gán giá trị cho tham số MySQL



Ví dụ:


$sql = "SELECT first_name, last_name, email_address FROM tbl_user WHERE user_id=".$user_id." AND member_type='".$member_type."'";

mysql_query($sql);


Thay vào đó, chúng ta sẽ làm như thế này:


$sql = "SELECT first_name,last_name,email_address FROM tbl_user WHERE user_id="%d" AND member_type='"%s"'";

mysql_query(sprintf($sql,$user_id,$member_type));


Bằng cách sử dụng truy vấn trên, các giá trị tự động được gán vào vị trí thích hợp.


Do đó tiết kiệm thời gian thực thi và cũng như giúp các lập trình viên có thể dễ dàng tìm thấy các giá trị liên quan đến các đối số được truyền vào.



Mẹo #6: Sử dụng mảng để dễ quản lý dữ liệu


Sử dụng các mảng trong PHP luôn luôn tốt hơn vì chúng cũng khá dễ quản lý và cũng dễ hiểu.


<?php
  $products = array("Dove","Apple","Nokia");
?>


Sử dụng Split array cũng là một cách làm rất tốt trong PHP. Tuy nhiên, có nhiều cách để tách mảng, thay vì như thế này:


<?
  for($i = 0; $i < count($products); $i++){
    echo $products[$i].”<br>”;
  }
?>


Chúng ta sẽ làm thế này:


<?
  foreach($products as $product_value){
    echo $product_value;
  }
?>


Vòng lặp foreach được đặc biệt thiết kế cho mảng.


Vì thế, khi sử dụng foreach, chúng làm giảm thời gian viết code và cả thời gian làm việc.



Mẹo #7: Đặt tên NHẤT QUÁN



Luôn luôn nên đặt tên class, objectnhững thứ khác một cách nhất quán.


Điều này giúp các lập trình viên khác dễ dàng nhận dạng, kể cả những người vào dự án sau này có thể dễ dàng lần theo.


Ngoài ra tên của các tập tin trong thư mục local cũng phải dễ hiểu.





Mẹo #8: Sử dụng đối tượng



Mặc dù đối tượng có vẻ khá phức tạp đối với người mới bắt đầu học lập trình PHP, nhưng các đối tượng rất hữu ích vì nó làm hạn chế lặp lại code và cũng tạo điều kiện để thay đổi chương trình dễ dàng hơn.


Khi đó lập trình sẽ linh hoạt hơn nhiều.


Dưới đây là ví dụ về một class đơn giản:



<?

// Tạo class giỏ hàng
Class shopping_cart{

  var $cart_items;

  function add_product_item($cart_number,$quantity){
    $this->items[$cart_number] += $quantity;
  }
}

// Tạo đối tượng
$cart = new shopping_cart();

// Thêm sản phẩm vào giỏ hàng
$cart->add_product_item("123",10);

?>


Mẹo #9: Sử dụng vòng lặp phù hợp



Có rất nhiều loại vòng lặp có sẵn trong PHP như: Vòng lặp for, vòng lặp while, vòng lặp do.. while, vòng lặp foreach.


Nhưng không phải người ta tạo ra nhiều vòng lặp để chơi. Mà để sử dụng đúng vòng lặp tại đúng thời điểm. Điều này RẤT QUAN TRỌNG.


Sử dụng đúng vòng lặp tài thời điểm thích hợp có thể rút ngắn thời gian thực thi, kết thúc công việc sớm hơn.



Ví dụ, thay vì làm thế này:


$res = mysql_query("select * from tbl_products");
for($i = 0; $i < mysql_num_rows($res); $i++){
  echo mysql_result($res, $i);
}


Chúng ta có thể thực hiện như sau để làm giảm thời gian thực thi:


$res = mysql_query("select * from tbl_products");
while($obj = mysql_fetch_object($res)){
  echo $obj->column_name1;
}


Nếu bạn muốn có thể nhận biết và sử dụng đúng vòng lặp, đúng thời điểm thì có thể tham gia Khóa học PHP Fullstack :)


Mẹo #10: Sử dụng cấu trúc Switch case trong PHP



Chắc chắn là sử dụng cấu trúc Switch case sẽ thuận lợi hơn sử dụng if... trong trường hợp cần kiểm tra nhiều điều kiện.


Ví dụ về việc sử dụng một loạt các câu lệnh if:



if($checking_value1 == $value){
  echo "result1";
  }elseif($checking_value2 == $value){
    echo "result2";
  }elseif($checking_value3 == $value){
    echo "result3";
  }else{
    echo "result 4";
}


Điều tương tự có thể được thể hiện theo cách đơn giản hơn bằng cách sử dụng Cấu trúc Switch case, nó giúp giảm đáng kể thời gian thực thi đấy:


switch($checking_value){
  case Value1:
    echo "result1";
    break;

  case Value2:
    echo "result2";
    break;

  case Value3:
    echo "result3";
    break;

  default:
    echo "result4";
    break;

}


Mẹo #11: Sử dụng Nháy đơn thay vì Nháy kép



Mặc dù Nháy đơn và Nháy kép được tạo ra để sử dụng cho các mục đích khác nhau.


Nhưng sử dụng dấu nháy đơn giúp thực thi các vòng lặp nhanh hơn so với khi sử dụng dấu nháy kép.


Ví dụ, một ví dụ đơn giản về in 1500 dòng thông tin, có thể được thực hiện theo hai cách như:



// Sử dụng dấu nháy kép
print “SerialNo : $serialno. WorkDone : $workdone. Location: $location”;


Điều tương tự có thể được viết với dấu nháy đơn:


// Sử dụng dấu nháy đơn
print ‘SerialNo :’.$serialno.’. WorkDone : ‘.$workdone’. Location‘.$location’.';



Ở đây, đoạn code sử dụng dấu nháy đơn hoạt động nhanh hơn nhiều so với đoạn code sử dụng dấu nháy kép.


Trong đoạn code sử dụng dấu nháy kép: Các chuỗi phải được phân tích toàn bộ, tất cả 1500 lần.


Trong khi đó, ở đoạn code sử dụng dấu nháy đơn: Không có phân tích chuỗi thực tế diễn ra. Chỉ cần kết hợp các chuỗi để in thông tin.



Chúc mừng bạn đã biết thêm về Mẹo viết code PHP Sạch và An toàn



Một số Mẹo viết code PHP trên đây nghe có vẻ khá quen thuộc, nhưng chúng đã được đưa vào đây để giúp bạn tổng hợp lại đầy đủ những thứ tốt nhất.


Cám ơn bạn đã theo dõi. Chúc bạn học PHP tốt!


---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Dạy học Lập trình chất lượng cao (Since 2002). Học làm Lập trình viên. Hành động ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0914939543 - 0353655150 
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #python #java #php
Bình luận Facebook
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!