MaguyvaのPHP対応: 当てずっぽうの編集をせずに、息の長いWebアプリを扱う
PHPのコードベースが今も収益を生み出している一方で、誰もエージェントに好き勝手させたくないときに関連性があります。
拡張子
.php, .php3, .php4, .php5, ほか2件
Perlのコードは密度が高く、柔軟で、何年も前に去った人が書いたものであることがよくあります。シジルは名前の意味を変え、パッケージはクラスを兼ね、同じモジュールが多くのディレクトリのスクリプトから読み込まれます。テキスト検索は文字列を見つけますが、スクリプトが実際にどのサブルーチンを呼び出しているかはエージェントに教えてくれません。
Maguyvaはパッケージ、サブルーチン、インポート、コンストラクターを構造としてエージェントに渡すため、コードに触れる前に変更の範囲を見定められます。
Maguyvaは .pl、.pm、.t、.pod、.perl に対応しています。サブルーチンは関数として、package 宣言はクラスとして抽出されます。定義名からはシジル($、@、%、&、*)が取り除かれるため、変数とサブルーチンをそのままの名前で検索できます。
インポートは use、require、package の文から作られます。Class->new の形のメソッド呼び出しはインスタンス化として扱われ、bless と tie は意図的にコールグラフに残されます。グラフには、継承、オーバーライド、型参照、読み取りと書き込み、例外の送出も記録されます。
約189個の組み込み関数(print、open、die、warn など)は呼び出しの関係性から除外されるため、リポジトリのコードが際立ちます。
Billing::Invoice を使うスクリプトはどれで、そのどのサブルーチンを呼び出しているか?」(dependency_search の incoming)Report::Monthly はどこで生成され、->new の後に何が起きるか?」(find_symbol、次に get_task_context)Auth::Session を検証するテストファイルをすべて見つけて。」(text_pattern_search、次に find_symbol)sub 宣言なので、構造検索でメソッドとして分類されるのは新しい専用の method 構文だけです。古いオブジェクト指向Perlには functions プリセットを使ってください。open や print の呼び出しが必要なときは text_pattern_search を使ってください。クイックスタートでリポジトリを接続し、互換性ページで対応マトリクスを確認してください。別のスクリプト言語への移行を考えている場合は、Pythonガイドと比較してください。
最適な用途
エージェントワークフロー
エンジンの詳細
役立つMCPエントリーポイント
パッケージやサブルーチンの名前で使ってください。シジルは取り除かれるため、そのままの名前で検索します。
共有モジュールに対してincomingのトラバーサルを使い、どのスクリプトやパッケージが依存しているかを確認してください。
コールグラフから外れる、除外された組み込み関数、設定キー、SQL文字列に使ってください。
関連ガイド
PHPのコードベースが今も収益を生み出している一方で、誰もエージェントに好き勝手させたくないときに関連性があります。
拡張子
.php, .php3, .php4, .php5, ほか2件
Pythonのコードベースがサービス、スクリプト、型スタブ、運用のつなぎコードにまたがって広がっているときに役立ちます。
拡張子
.py, .pyi, .pyw