PHP cho nhà phát triển PERL
Chương này sẽ liệt kê những điểm tương đồng và khác biệt chính giữa PHP và PERL. Điều này sẽ giúp các nhà phát triển PERL hiểu PHP rất nhanh và tránh những lỗi thường gặp.
Điểm tương đồng
Compiled scripting languages - Cả Perl và PHP đều là ngôn ngữ kịch bản, điều này có nghĩa là chúng không được sử dụng để tạo ra các tệp thực thi độc lập gốc trước khi thực thi.
Syntax- Cú pháp cơ bản của PHP rất gần với Perl, và cả hai đều chia sẻ nhiều đặc điểm cú pháp với C. Mã không nhạy cảm với khoảng trắng, các câu lệnh được kết thúc bằng dấu chấm phẩy và dấu ngoặc nhọn tổ chức nhiều câu lệnh thành một khối duy nhất. Các lệnh gọi hàm bắt đầu bằng tên của hàm, theo sau là các đối số thực tế được đặt trong dấu ngoặc đơn và được phân tách bằng dấu phẩy.
Dollar-sign variables - Tất cả các biến trong PHP trông giống như các biến vô hướng trong Perl: tên có dấu đô la ($) phía trước nó.
No declaration of variables - Như trong Perl, bạn không cần phải khai báo kiểu của một biến PHP trước khi sử dụng nó.
Loose typing of variables- Như trong Perl, các biến trong PHP không có kiểu nội tại nào khác ngoài giá trị mà chúng hiện đang nắm giữ. Bạn có thể lưu trữ số hoặc chuỗi trong cùng một loại biến.
Strings and variable interpolation - Cả PHP và Perl đều giải thích các chuỗi được trích dẫn kép ("string") nhiều hơn các chuỗi được trích dẫn đơn ('string').
Sự khác biệt
PHP is HTML-embedded- Mặc dù có thể sử dụng PHP cho các tác vụ tùy ý bằng cách chạy nó từ dòng lệnh, nó thường được kết nối với máy chủ Web và được sử dụng để sản xuất các trang Web. Nếu bạn đã quen viết các đoạn mã CGI trong Perl, thì điểm khác biệt chính trong PHP là bạn không còn cần phải in rõ ràng các khối HTML tĩnh lớn bằng cách sử dụng các câu lệnh print hoặc heredoc nữa và thay vào đó, bạn có thể chỉ cần viết chính HTML bên ngoài khối mã PHP.
No @ or % variables- PHP có một loại biến duy nhất, bắt đầu bằng ký hiệu đô la ($). Bất kỳ kiểu dữ liệu nào trong ngôn ngữ đều có thể được lưu trữ trong các biến như vậy, cho dù là vô hướng hay phức hợp.
Arrays versus hashes - PHP có một kiểu dữ liệu duy nhất gọi là mảng đóng vai trò của cả hàm băm và mảng / danh sách trong Perl.
Specifying arguments to functions- Các lệnh gọi hàm trong PHP trông khá giống các lệnh gọi chương trình con trong Perl. Mặt khác, các định nghĩa hàm trong PHP thường yêu cầu một số loại danh sách các đối số chính thức như trong C hoặc Java mà không phải là thông thường trong PERL.
Variable scoping in functions- Trong Perl, phạm vi mặc định cho các biến là toàn cục. Điều này có nghĩa là các biến cấp cao nhất có thể nhìn thấy bên trong các chương trình con. Thông thường, điều này dẫn đến việc sử dụng bừa bãi các hình cầu trên các chức năng. Trong PHP, phạm vi của các biến trong định nghĩa hàm là cục bộ theo mặc định.
No module system as such - Trong PHP không có sự phân biệt thực sự giữa các tệp mã bình thường và tệp mã được sử dụng làm thư viện được nhập.
Break and continue rather than next and last - PHP giống C langauge hơn và sử dụng break và continue thay cho câu lệnh next và last.
No elsif - Một sự khác biệt nhỏ về chính tả: Perl's elsif là elseif của PHP.
More kinds of comments - Ngoài chú thích một dòng kiểu Perl (#), PHP cung cấp chú thích đa dòng kiểu C (/ * comment * /) và chú thích một dòng kiểu Java (// comment).
Regular expressions - PHP không có cú pháp tích hợp cụ thể cho các biểu thức chính quy, nhưng có hầu hết các chức năng tương tự trong các hàm biểu thức chính quy "tương thích với Perl".