# Podpora PHP v nástroji Maguyva: dlouhověké webové aplikace bez slepých úprav

Canonical source: https://maguyva.ai/cs/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 podporuje PHP díky AST parsování a extrakci symbolů, takže AI agenti dokážou procházet Laravel aplikace, vlastní frameworky, kód z éry WordPressu a další dlouhověké repozitáře PHP se strukturou lepší než grep.

## Přehled podpory

- Úroveň: Podpora AST a symbolů
- Programování
- Přípony: .php, .php3, .php4, .php5, .phps, .phtml
- Skutečné parsování AST pro vyhledávání citlivé na syntaxi a strukturální kontext.
- Pojmenované symboly napájejí sémantické vyhledávání a křížové odkazy. Navigace v grafu je k dispozici, když je povolena extrakce vztahů.
- Tento jazyk přispívá symboly a vztahy do vyhledávání využívajícího graf; podporované typy hran se liší podle jeho nativních konstrukcí.
- K dispozici je parsování AST i extrakce symbolů.

## Nejlépe se hodí pro

- Repozitáře Laravel, vlastní PHP nebo smíšené monolity, na kterých provozně stále záleží.
- Týmy udržující starší webové aplikace, které dnes sedí vedle frontendů v JavaScriptu a infrastrukturního kódu.
- Práci na refaktoringu s asistencí AI, kde je prioritou pochopit stávající tok dřív, než ho změníte.

## Workflow agentů

- Vysledovat cestu route, controlleru, služby nebo sdíleného helperu ještě před úpravou.
- Najít opakující se implementační vzory ve vyzrálém codebase PHP místo vymýšlení nových.
- Obnovit strukturu ve starším kódu, který přežil několik generací frameworků nebo hostingových prostředí.

## Proč PHP potřebuje vyhledávání citlivé na strukturu

PHP je jedním z nejjasnějších příkladů toho, proč musí být široká jazyková podpora skutečná, ne jen deklarovaným cílem. Spousta důležitých systémů je pořád postavena na PHP: Laravel aplikace, staré monolity, interní admin nástroje a silně upravené webové aplikace, které přežily každý plánovaný přepis.

V těchto repozitářích není problém v syntaxi. Je v bezpečném obnovení struktury z codebase, který měl roky na to, aby nahromadil helpery, konvence frameworku a lokální zkratky.

## Co Maguyva v PHP skutečně extrahuje

Maguyva odstraňuje z definic sigil `$`, normalizuje volání s prefixem člena a odfiltruje z grafu vztahů velmi velké množství šumu z vestavěných funkcí PHP. To je přesně ten druh úklidu, který starší kód PHP potřebuje dřív, než se vyhledávání a pohledy na závislosti stanou užitečnými.

Podporuje také typy souborů, se kterými se týmy PHP skutečně setkávají, od `.php` a `.phtml` až po starší přípony odvozené od verzí, které se stále objevují v dlouhověkých prostředích.

## Užitečné workflow MCP pro dlouhověké aplikace PHP

Produktivní vzor je obvykle:

- `find_symbol` pro controllery, služby, modely nebo pomocné třídy se stabilními názvy.
- `text_pattern_search` pro názvy route, volání helperů nebo staré konvence frameworku, když je přesný text stále nejrychlejší cestou.
- `get_task_context`, když je cesta kódem nepřehledná a chcete ucelené shrnutí dřív, než začnete upravovat.

## Kdy je tato stránka užitečná

Tato stránka je pro týmy, jejichž praktická realita zní jednoduše „pořád provozujeme důležité PHP“. Pokud frontend žije v moderním JavaScriptu, přečtěte si dál [JavaScript](/cs/languages/javascript). Pokud má repozitář kolem sebe novější servisní nebo automatizační vrstvy, relevantnějším společníkem je stránka [Python](/cs/languages/python).

## Podrobnosti enginu

- PHP odstraňuje `$` sigil z definic a normalizuje volání s prefixem člena, což usnadňuje konzistentní vyhledávání ve starším kódu plném helperů.
- Podpora pokrývá běžné tvary souborů PHP včetně `.php`, `.php3`, `.php4`, `.php5`, `.phtml` a `.phps`.
- Velký filtr vestavěných funkcí odstraňuje standardní runtime PHP, aby graf zůstal zaměřený na aplikační kód.

## Užitečné vstupní body MCP

- `find_symbol`: Použijte ho pro controller, službu, model nebo helper třídu, když má repo ještě rozpoznatelné názvy symbolů.
- `text_pattern_search`: Použijte ho pro názvy routes, volání helperů nebo starší konvence frameworku, když struktura sama nestačí.
- `get_task_context`: Užitečné, když potřebujete souhrn propojených informací o starém toku v PHP, než jej změníte.
