php

package
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 27, 2026 License: GPL-3.0 Imports: 11 Imported by: 0

Documentation

Overview

Package php implements the PHP language analyzer for semantic input tracing

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PHPAnalyzer

type PHPAnalyzer struct {
	*analyzer.BaseAnalyzer
	// contains filtered or unexported fields
}

PHPAnalyzer implements the LanguageAnalyzer interface for PHP

func NewPHPAnalyzer

func NewPHPAnalyzer() *PHPAnalyzer

NewPHPAnalyzer creates a new PHP analyzer

func (*PHPAnalyzer) AnalyzeMethodBody

func (a *PHPAnalyzer) AnalyzeMethodBody(method *types.MethodDef, source []byte, state *types.AnalysisState) (*analyzer.MethodFlowAnalysis, error)

AnalyzeMethodBody analyzes a method body for data flow

func (*PHPAnalyzer) BuildSymbolTable

func (a *PHPAnalyzer) BuildSymbolTable(filePath string, source []byte, root *sitter.Node) (*types.SymbolTable, error)

BuildSymbolTable builds the symbol table for a PHP file

func (*PHPAnalyzer) DetectFrameworks

func (a *PHPAnalyzer) DetectFrameworks(symbolTable *types.SymbolTable, source []byte) ([]string, error)

DetectFrameworks detects which PHP frameworks are being used Uses centralized framework detection patterns from phpPatterns package

func (*PHPAnalyzer) ExtractAssignments

func (a *PHPAnalyzer) ExtractAssignments(root *sitter.Node, source []byte, scope string) ([]*types.Assignment, error)

ExtractAssignments extracts all assignments from the AST

func (*PHPAnalyzer) ExtractCalls

func (a *PHPAnalyzer) ExtractCalls(root *sitter.Node, source []byte, scope string) ([]*types.CallSite, error)

ExtractCalls extracts all function/method calls from the AST

func (*PHPAnalyzer) ExtractClasses

func (a *PHPAnalyzer) ExtractClasses(root *sitter.Node, source []byte) ([]*types.ClassDef, error)

ExtractClasses extracts class definitions from PHP AST

func (*PHPAnalyzer) ExtractFunctions

func (a *PHPAnalyzer) ExtractFunctions(root *sitter.Node, source []byte) ([]*types.FunctionDef, error)

ExtractFunctions extracts standalone function definitions

func (*PHPAnalyzer) FindInputSources

func (a *PHPAnalyzer) FindInputSources(root *sitter.Node, source []byte) ([]*types.FlowNode, error)

FindInputSources finds all user input sources in the AST

func (*PHPAnalyzer) ResolveImports

func (a *PHPAnalyzer) ResolveImports(symbolTable *types.SymbolTable, basePath string) ([]string, error)

ResolveImports resolves import paths to actual file paths

func (*PHPAnalyzer) TraceExpression

func (a *PHPAnalyzer) TraceExpression(target types.FlowTarget, state *types.AnalysisState) (*types.FlowMap, error)

TraceExpression traces a specific expression back to its sources

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL