Khi học và làm việc với PHP lần đầu, đa phần lập trình viên đều có xu hướng học lướt các kiến thức căn bản để tập trung vào phần viết ứng dụng. Cũng chính vì lý do đó mà phần lớn những điểm nhấn quan trọng trong PHP thường là sẽ bị bỏ qua.
Bài viết này, với mong muốn tổng hợp và đưa đến cái nhìn bao quát, đầy đủ trong lập trình PHP. Qua đó giúp các bạn có cái nhìn đầy đủ và hiểu sâu các vấn đề hơn.
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, google.com');
echo "Hello, google.com";
?>
<?php
$abc = 'bbb';
$a = 'abcdef'. $abc;
$b = "abcdef $abc";
?>
Vì 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. Trong khi nháy đơn thì không kiểm tra, vì nội dung bên trong nháy đơn chắc chắn là chuỗi.
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. Vì lý 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.
<?php
for($i=0; $i<=count($a); $i++){
// Hành Động...
}
?>
Cải tiến:
<?php
$b = count($a);
for($i=0; $i<=$b; $i++){
// Hành động...
}
?>
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.
<?php
include '../../path/a.php';
?>
Cải tiến:
<?php
include BASE.'/path/a.php';
?>
BASE là 1 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.
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. Tác giả của bài viết này cũng đã thực hiện ứng dụng để chứng minh điều đó.
http://www.electrictoolbox.com/php-echo-commas-vs-concatenation/
<?php
echo $str1 . $str2;
echo $str1 , $str2; // Nhanh hơn
?>
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à 1 hằng, và tìm xem có hằng nào định nghĩa hay ko? 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.
<?php
$a = $b['abc']; // nhanh hơn
$a = $b[abc];
?>
Unpublished comment
Viết câu trả lời