Nhiều người bắt đầu PHP sau khi đã thuần thục một ngôn ngữ khác như Perl, C, Java hay ASP . Làm như vậy, họ cũng mang theo những mô hình mà có thể không luôn luôn được dùng bởi PHP.
Không may thay, vài cá nhân trong số hày không chịu bỏ thời gian để học cách lập trình PHP theo cách phù hợp với PHP. Thay vào đó, họ thích PHP hoạt động với các ít khái niệm mới càng tốt
Khi bạn lập trình PHP như là trong các ngôn ngữ khác, nó thường dẫn đến việc làm chương trình chậm hơn và khó bảo trì mã. Bạn sẽ thường thấy họ phạm vào một trong các lỗi sau:
Perl "1 dòng"
PHP là một ngôn ngữ không thực sự tối ưu cho cách tiếp cận 1 dòng khi viết chương trình. Thay vào đó, nó mở rộng các tập hàm phức tạp và các biểu thức chính quy theo một định dạng có cấp bậc hơn
Perl
Mã lệnh (Perl)
while (<STDIN>) {
@_ = split /:/;
$quotes{shift} = shift;
}
print map { "$_: ", reverse split //,$quotes->{$_},"\n";
} keys %quotes;
PHP
Mã lệnh (PHP)
<?php
$fp = @fopen('php://stdin', 'r');
if (!$fp) {
die ('Cannot open STDIN');
}
while ($line = @fgets ($fp, 1024)){
list($name, $quote) = explode (':', $line);
$quotes[ $name ] = $quote;
}
foreach ($quotes as $name => $quote){
print "$name: ";
print implode (" ", array_reverse (preg_split ('//',
$quote)));
print "\n";
}
@fclose ($fp);
?>
Không dùng các hàm sẵn có
Nhiều lập trình viên PHP có nền tảng C có vẻ không nhận ra rằng PHP cung cấp nhiều hàm sẵn có giúp thay thế các đoạn mã dài. Nếu bạn đến với PHP từ C, tôi khuyên bạn nên đọc qua tài liệu trước khi viết một khối lệnh để xem PHP có sẵn hàm nào giúp cuộc sống của bạn dễ dàng hơn không.
Đổi tên các hàm PHP đã có
Tôi đã thấy người ta đổi tên các hàm đã có của PHP chỉ để giúp họ dễ nhớ hơn. Điều này không chỉ làm chậm chương trình, mà làm cho đoạn mã khó đọc hơn.
Dùng hướng đối tượng quá mức
PHP không phải là một ngôn ngữ HĐT, dù nó cung cấp các tính năng HĐT. Bạn cần luôn nhận thức rằng HĐT trong PHP sẽ làm chậm đáng kể chương trình.
Lấy thông tin ở đâu?
May mắn là có rất nhiều thông tin về việc làm thế nào để lập trình PHP. Vài nơi tốt nhất là
Không may thay, vài cá nhân trong số hày không chịu bỏ thời gian để học cách lập trình PHP theo cách phù hợp với PHP. Thay vào đó, họ thích PHP hoạt động với các ít khái niệm mới càng tốt
Khi bạn lập trình PHP như là trong các ngôn ngữ khác, nó thường dẫn đến việc làm chương trình chậm hơn và khó bảo trì mã. Bạn sẽ thường thấy họ phạm vào một trong các lỗi sau:
Perl "1 dòng"
PHP là một ngôn ngữ không thực sự tối ưu cho cách tiếp cận 1 dòng khi viết chương trình. Thay vào đó, nó mở rộng các tập hàm phức tạp và các biểu thức chính quy theo một định dạng có cấp bậc hơn
Perl
Mã lệnh (Perl)
while (<STDIN>) {
@_ = split /:/;
$quotes{shift} = shift;
}
print map { "$_: ", reverse split //,$quotes->{$_},"\n";
} keys %quotes;
PHP
Mã lệnh (PHP)
<?php
$fp = @fopen('php://stdin', 'r');
if (!$fp) {
die ('Cannot open STDIN');
}
while ($line = @fgets ($fp, 1024)){
list($name, $quote) = explode (':', $line);
$quotes[ $name ] = $quote;
}
foreach ($quotes as $name => $quote){
print "$name: ";
print implode (" ", array_reverse (preg_split ('//',
$quote)));
print "\n";
}
@fclose ($fp);
?>
Không dùng các hàm sẵn có
Nhiều lập trình viên PHP có nền tảng C có vẻ không nhận ra rằng PHP cung cấp nhiều hàm sẵn có giúp thay thế các đoạn mã dài. Nếu bạn đến với PHP từ C, tôi khuyên bạn nên đọc qua tài liệu trước khi viết một khối lệnh để xem PHP có sẵn hàm nào giúp cuộc sống của bạn dễ dàng hơn không.
Đổi tên các hàm PHP đã có
Tôi đã thấy người ta đổi tên các hàm đã có của PHP chỉ để giúp họ dễ nhớ hơn. Điều này không chỉ làm chậm chương trình, mà làm cho đoạn mã khó đọc hơn.
Dùng hướng đối tượng quá mức
PHP không phải là một ngôn ngữ HĐT, dù nó cung cấp các tính năng HĐT. Bạn cần luôn nhận thức rằng HĐT trong PHP sẽ làm chậm đáng kể chương trình.
Lấy thông tin ở đâu?
May mắn là có rất nhiều thông tin về việc làm thế nào để lập trình PHP. Vài nơi tốt nhất là
- Zend.com bản gốc của bài viết này là ở đó
- Professional PHP một trong những sách toàn diện tốt nhất về PHP, tốt cho cả lập trình viên và không-lập trình viên.
- Web Application Development with PHP Một quyển sách tuyệt vời dạy bạn cả cách phát triển web lẫn vài tính năng cao cấp của PHP. Bao gồm các tài liệu chính thức về Zend API.
- The PHP Developer's Cookbook Một quyển sách thiên về lời giải đáp cho các vấn đề gặp phải trong PHP (do tui - Sterling Hughes - viết cùng Andrei Zmievski)