PHP là gì thảo luận về việc thực thi tập lệnh PHP

Bài viết này đã được bình duyệt bởi Younes Rafie. Cảm ơn tất cả những người đánh giá ngang hàng của SitePoint đã làm cho nội dung SitePoint trở nên tốt nhất có thể

Lấy cảm hứng từ một bài viết gần đây về cách mã Ruby thực thi, bài viết này đề cập đến quy trình thực thi mã PHP

Giới thiệu

Có rất nhiều thứ đang diễn ra khi chúng ta thực thi một đoạn mã PHP. Nói chung, trình thông dịch PHP trải qua bốn giai đoạn khi thực thi mã

  1. lexing
  2. phân tích cú pháp
  3. biên soạn
  4. Diễn dịch

Bài viết này sẽ lướt qua các giai đoạn này và chỉ ra cách chúng ta có thể xem đầu ra từ mỗi giai đoạn để thực sự biết điều gì đang diễn ra. Lưu ý rằng mặc dù một số tiện ích mở rộng được sử dụng phải là một phần trong quá trình cài đặt PHP của bạn [chẳng hạn như mã thông báo và OPcache], những tiện ích mở rộng khác sẽ cần được cài đặt và kích hoạt thủ công [chẳng hạn như php-ast và VLD]

Giai đoạn 1 – Lexing

Lexing [hoặc tokenizing] là quá trình biến một chuỗi [trong trường hợp này là mã nguồn PHP] thành một chuỗi các token. Mã thông báo chỉ đơn giản là một mã định danh được đặt tên cho giá trị mà nó đã khớp. PHP sử dụng re2c để tạo từ vựng của nó từ zend_language_scanner. tôi tập tin định nghĩa

Chúng ta có thể thấy đầu ra của giai đoạn lexing thông qua tiện ích mở rộng mã thông báo

$code = 

Chủ Đề