From bc8b6a6fe280a2d560432b2c236f554810291714 Mon Sep 17 00:00:00 2001 From: Gergo Magyar Date: Mon, 11 May 2026 13:16:50 +0100 Subject: [PATCH] fix(php): restore entryPointPatterns and astFrameworkPatterns These were stripped by the PHP migration commit (69786b1) as collateral damage during the rebase, but they have nothing to do with scope resolution. They feed cluster/community detection and Laravel route-attribute analysis at the higher analysis layers. Restored verbatim from 69786b1~1: - entryPointPatterns: 17 PHP idioms (Controller, handle/execute/ boot/register, REST verbs, Service/Repository, find/save/delete) - astFrameworkPatterns: Laravel routing block with 3.0x multiplier for Route::get / Route::post / #[Route(...)] attribute, etc. PHP 175/175 still green; typecheck clean. --- gitnexus/src/core/ingestion/languages/php.ts | 37 +++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/gitnexus/src/core/ingestion/languages/php.ts b/gitnexus/src/core/ingestion/languages/php.ts index 7b93a97e9..caca85335 100644 --- a/gitnexus/src/core/ingestion/languages/php.ts +++ b/gitnexus/src/core/ingestion/languages/php.ts @@ -20,7 +20,7 @@ import { import { SupportedLanguages } from 'gitnexus-shared'; import { createClassExtractor } from '../class-extractors/generic.js'; import { phpClassConfig } from '../class-extractors/configs/php.js'; -import { defineLanguage } from '../language-provider.js'; +import { defineLanguage, type AstFrameworkPatternConfig } from '../language-provider.js'; import { typeConfig as phpConfig } from '../type-extractors/php.js'; import { phpExportChecker } from '../export-detection.js'; import { createImportResolver } from '../import-resolvers/resolver-factory.js'; @@ -250,6 +250,41 @@ function isPhpRouteFile(filePath: string): boolean { export const phpProvider = defineLanguage({ id: SupportedLanguages.PHP, extensions: ['.php', '.phtml', '.php3', '.php4', '.php5', '.php8'], + entryPointPatterns: [ + /Controller$/, + /^handle$/, + /^execute$/, + /^boot$/, + /^register$/, + /^__invoke$/, + /^(index|show|store|update|destroy|create|edit)$/, + /^(get|post|put|delete|patch)[A-Z]/, + /^run$/, + /^fire$/, + /^dispatch$/, + /Service$/, + /Repository$/, + /^find$/, + /^findAll$/, + /^save$/, + /^delete$/, + ], + astFrameworkPatterns: [ + { + framework: 'laravel', + entryPointMultiplier: 3.0, + reason: 'php-route-attribute', + patterns: [ + 'Route::get', + 'Route::post', + 'Route::put', + 'Route::delete', + 'Route::resource', + 'Route::apiResource', + '#[Route(', + ], + }, + ] satisfies AstFrameworkPatternConfig[], treeSitterQueries: PHP_QUERIES, typeConfig: phpConfig, exportChecker: phpExportChecker,