# PHP-stöd i Maguyva: långlivade webbappar utan blinda redigeringar

Canonical source: https://maguyva.ai/sv/languages/php

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Maguyva stöder PHP med AST-parsning och symbolextraktion, så att AI-agenter kan navigera Laravel-appar, egenutvecklade ramverk, kod från WordPress-eran och andra långlivade PHP-repositorier med mer struktur än grep.

## Stödöversikt

- Nivå: Stöd för AST och symboler
- Programmering
- Filändelser: .php, .php3, .php4, .php5, .phps, .phtml
- Riktig AST-parsning för syntaxmedveten sökning och strukturell kontext.
- Namngivna symboler driver semantisk uppslagning och korsreferenser. Grafnavigering är tillgänglig när relationsextraktion är aktiverad.
- Det här språket bidrar med symboler och relationer till grafmedveten sökning; vilka kanttyper som stöds varierar med språkets inbyggda konstruktioner.
- Både AST-parsning och symbolextraktion är tillgängliga.

## Bäst lämpad för

- Laravel-, egenutvecklade PHP- eller blandade monolitrepositorier som fortfarande spelar operativ roll.
- Team som underhåller äldre webbapplikationer som nu ligger bredvid JavaScript-frontends och infrastrukturkod.
- AI-assisterat refaktoreringsarbete där prioriteten är att förstå befintligt flöde innan det ändras.

## Agentarbetsflöden

- Spåra en route, controller, tjänst eller delad hjälpfunktionsväg innan den redigeras.
- Hitta upprepade implementationsmönster i en mogen PHP-kodbas istället för att uppfinna nya.
- Återskapa struktur i äldre kod som levt genom flera ramverks- eller hosting-epoker.

## Varför PHP behöver strukturmedveten sökning

PHP är ett av de tydligaste exemplen på varför brett språkstöd måste vara verkligt, inte bara en ambition. Många viktiga system är fortfarande PHP-system: Laravel-appar, gamla monoliter, interna adminverktyg och kraftigt anpassade webbapplikationer som överlevt varenda planerad omskrivning.

I de repona är problemet inte syntax. Det är att säkert återskapa struktur ur en kodbas som fått åratal på sig att samla på sig hjälpfunktioner, ramverkskonventioner och lokala genvägar.

## Vad Maguyva faktiskt extraherar i PHP

Maguyva tar bort `$`-tecknet från definitioner, normaliserar medlemsprefixerade anrop, och filtrerar bort en mycket stor mängd brus från PHP:s inbyggda funktioner ur relationsgrafen. Det är exakt den typen av städning äldre PHP-kod behöver innan sök- och beroendevyer blir användbara.

Det stöder också de filformer PHP-team faktiskt möter, från `.php` och `.phtml` till äldre versionsspecifika filändelser som fortfarande dyker upp i långlivade bestånd.

## Användbara MCP-arbetsflöden för långlivade PHP-appar

Det produktiva mönstret är oftast:

- `find_symbol` för controllers, tjänster, modeller eller hjälpklasser med stabila namn.
- `text_pattern_search` för route-namn, hjälpanrop eller gamla ramverkskonventioner när exakt text fortfarande är den snabbaste vägen.
- `get_task_context` när kodvägen är rörig och du vill ha en hopfogad sammanfattning innan redigering.

## När den här sidan är användbar

Den här sidan är för team vars praktiska verklighet helt enkelt är "vi kör fortfarande viktig PHP." Om frontend lever i modern JavaScript, läs [JavaScript](/sv/languages/javascript) härnäst. Om repot har nyare tjänste- eller automationslager i utkanterna är [Python](/sv/languages/python) den mer relevanta följeslagarsidan.

## Motordetaljer

- PHP tar bort `$`-tecknet från definitioner och normaliserar medlemsprefixerade anrop, vilket gör gammal hjälpfunktionstung kod lättare att söka konsekvent.
- Stödet täcker vanliga PHP-filformer inklusive `.php`, `.php3`, `.php4`, `.php5`, `.phtml` och `.phps`.
- Ett omfattande filter för inbyggda funktioner tar bort den vanliga PHP-runtime-ytan så att grafen förblir fokuserad på applikationskod.

## Användbara MCP-ingångar

- `find_symbol`: Använd för en controller-, tjänste-, modell- eller hjälpklass när repot fortfarande har igenkännbara symbolnamn.
- `text_pattern_search`: Använd för routenamn, hjälpanrop eller gamla ramverkskonventioner när struktur ensam inte räcker.
- `get_task_context`: Användbart när du behöver en sammanfogad sammanfattning av ett gammalt PHP-flöde innan du ändrar det.
