Rumah > pembangunan bahagian belakang > masalah PHP > Cara menggunakan parser php

Cara menggunakan parser php

WBOY
Lepaskan: 2023-03-16 16:12:01
asal
2240 orang telah melayarinya

"penghuraikan php" digunakan untuk menjana kod templat, atau menggunakan pepohon sintaks abstrak yang dijana untuk analisis statik "penghuraikan php" ialah alat penghuraian pokok sintaks PHP yang dibangunkan oleh nikic, sambil mengambil kira yang mudah antara muka Ia mempunyai banyak kelebihan seperti penggunaan praktikal, pengenalan struktur, dan rantai alat yang lengkap.

Cara menggunakan parser php

Persekitaran pengendalian artikel ini: sistem Windows 10, PHP versi 8.1, komputer Dell G3

Cara menggunakan php parser

PHP Parser ialah alat penghuraian pokok sintaks abstrak (AST) PHP yang dibangunkan oleh nikic. PHP Parser juga mengambil kira banyak kelebihan seperti antara muka yang mudah digunakan, struktur ringkas dan rangkaian alat yang lengkap. Dalam kejuruteraan, PHP Paser biasanya digunakan untuk menjana kod templat, atau pokok sintaks abstrak yang dihasilkan olehnya digunakan untuk analisis statik.

Penghurai PHP ialah projek untuk penghuraian kod sumber Tidak syak lagi, ia ditulis dalam PHP tulen kemudahan yang hebat.

PHP ialah bahasa dinamik dan prestasinya tidak tinggi, jadi menggunakan PHP Parser untuk menganalisis kod PHP mempunyai prestasi yang lemah. Nasib baik, senario analisis kod umumnya tidak mempunyai keperluan prestasi tinggi.

Fungsi token_get_all PHP sendiri menggunakan penganalisis sintaks enjin Zend untuk membahagikan kod sumber kepada satu siri token Walaupun token ini boleh digunakan untuk menyelesaikan banyak tugasan analisis dan pemprosesan kod, kerana struktur token juga primitif, sukar untuk dilalui Ia sangat menyusahkan untuk dikendalikan. Juga berdasarkan hasil analisis token_get_all, alat penyeragaman kod terkenal PHP CodeSniffer menjadikan analisis kod lebih mudah dengan melakukan banyak pemprosesan pada token dan menyediakan satu siri antara muka carian dan traversal.

Penghurai PHP boleh menjana struktur Pokok Sintaks Abstrak (AST, atau Pokok Sintaks Abstrak) yang sepadan dengan kod PHP, sangat memudahkan traversal kod sumber dan operasi lain.

Contoh hasil penghuraian PHP parser

Untuk sekeping kod PHP berikut:

<?php
echo &#39;Hi&#39;, &#39;World&#39;;
Salin selepas log masuk

Struktur pokok yang dijana selepas penghuraian adalah sebagai berikut:

array(
    0: Stmt_Echo(
        exprs: array(
            0: Scalar_String(
                value: Hi
            )
            1: Scalar_String(
                value: World
            )
        )
    )
)
Salin selepas log masuk

Struktur pepohon sintaks yang dijana oleh penghurai PHP

Untuk memudahkan lagi operasi, PHP Parser mengumpulkan nod bahasa (Nod):

PhpParserNodeStmt ialah nod Pernyataan termasuk struktur bahasa yang tidak mempunyai nilai pulangan dan tidak muncul dalam ungkapan, seperti definisi kelas

PhpParserNodeExpr ialah nod ungkapan, termasuk nilai pulangan dan struktur bahasa; yang boleh muncul dalam struktur bahasa formula, seperti $var (PhpParserNodeExprVariable) dan func() (PhpParserNodeExprFuncCall), dll.; , 0 (PhpParserNodeScalarLNumber) dan pemalar ajaib seperti __FILE__ (PhpParserNodeScalarMagicConstFile) dsb. Ia juga dianggap sebagai ungkapan, dan semuanya mewarisi daripada nod ungkapan;

Nod lain, seperti: nod nama (PhpParserNodeName) dan nod parameter (PhpParserNodeArg)

Sebarang nama kelas nod dan kata kunci PHP Jika terdapat konflik, nama kelas nod semuanya akan berakhir dengan _, seperti PhpParserNodeScalarString_.

Apakah yang boleh PHP Parser lakukan?

Selain menghuraikan kod sumber kepada pokok sintaks abstrak, ia juga disertakan dengan ciri berikut:

Penjanaan kod, yang boleh menukar pepohon sintaks abstrak kepada kod PHP

Penukaran antara pepohon sintaks abstrak dan XML

Eksport struktur pepohon sintaks untuk tontonan mudah

Kelas asas untuk melintasi dan mengubah suai struktur pepohon sintaks (penyusuri nod dan pelawat nod)

Sokong pelawat nod ruang nama

Menggunakan traversal pepohon sintaks, kita boleh menulis atur cara untuk menganalisis masalah kod. Digabungkan dengan ciri seperti penjanaan kod dan pengubahsuaian traversal struktur pokok sintaks, kami boleh mengautomasikan pemfaktoran semula kod dan banyak lagi.

Pembelajaran yang disyorkan: "

Tutorial Video PHP

"

Atas ialah kandungan terperinci Cara menggunakan parser php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan