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.
This commit is contained in:
Gergo Magyar 2026-05-11 13:16:50 +01:00
parent 97093f9ce4
commit bc8b6a6fe2

View file

@ -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,