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
Các ngôn ngữ kịch bản được biên dịch – 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.
Cú pháp – 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.
Các biến ký hiệu đô la – Tất cả các biến trong PHP trông giống như các biến vô hướng trong Perl: một tên có dấu đô la ($) phía trước nó.
Không có khai báo các biến – 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ó.
Nhập lỏng các biến – 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.
Chuỗi và nội suy biến – Cả PHP và Perl đều giải thích nhiều hơn các chuỗi được trích dẫn kép (“string”) so với các chuỗi được trích dẫn đơn (‘string’).
Sự khác biệt
PHP được nhúng HTML – 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 và thay vào đó, bạn có thể chỉ cần viết chính HTML bên ngoài khối mã PHP.
Không có biến @ hoặc% – 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.
Mảng so với hàm băm – PHP có một kiểu dữ liệu duy nhất được gọi là mảng đóng vai trò của cả hàm băm và mảng / danh sách trong Perl.
Chỉ định đối số cho các hàm – 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, điều này không giống như trong PERL.
Phạm vi thay đổi trong các chức năng – 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.
Không có hệ thống mô-đun nào như vậy – 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.
Ngắt và tiếp tục thay vì tiếp theo và cuối cùng – PHP giống C langauge hơn và sử dụng break và continue thay vì câu lệnh next và last.
Không elsif – Một sự khác biệt nhỏ về chính tả: elsif của Perl là elseif của PHP.
Các loại nhận xét khác – Ngoài các bình luận một dòng kiểu Perl (#), PHP cung cấp các bình luận nhiều dòng kiểu C (/ * comment * /) và các bình luận một dòng kiểu Java (// comment).
Biểu thức chính quy – PHP không có cú pháp tích hợp dành riêng cho 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”.
