本文へ移動
Develop Tools
← 使い方ガイドへ戻る

PHPコードをChatGPT・AIへ安全に貼る方法|クラス名・変数・URLをマスキング

PHPコードには識別子だけでなく、DB接続先、Route、配列キー、属性引数、SQL、コメント、HTML断片が残ります。必要な最小範囲を共有用コピーへ切り出して確認します。

PHPコードを最小範囲へ切り出しブラウザ内でマスキングしてAIへ共有する流れ
PHPコードを最小範囲へ切り出しブラウザ内でマスキングしてAIへ共有する流れ

PHPコードをブラウザ内でマスキングする

クラス・型、関数・メソッド、識別子、値、コメントを選び、共有用コピーを作成します。入力コードと結果はDevelop Toolsのサーバーへ送信・保存されません。

PHPコードマスキングツールを開く

結論

元Projectではなく共有用コピーを作り、Class・Function・Variable・String・Number・Commentをマスキングします。PHP Versionとエラー条件は残し、結果側の配列キー、属性、declare、SQL、HTMLを確認してから共有します。

元Projectを直接編集せず、共有用コピーで作業してください。

共有前のBefore・Afterを確認する

<?php
declare(strict_types=1);
namespace Internal\Billing;

final class CustomerService
{
    public function find(string $customerId): array
    {
        $endpoint = 'https://api.example.test/customers/' . $customerId;
        return [];
    }
}

declare(strict_types=1)、属性引数、配列キーは動作上の意味を持ちます。自動置換後に壊れていないか、元コードと比較してください。

PHPコードマスキングツールで確認する手順

  • 1. 再現に必要なFunction・Classだけを別コピーへ切り出す
  • 2. Version、Framework、最初のErrorを別メモへ残す
  • 3. 識別子・値・コメントを選んでマスキングする
  • 4. 右クリック解除は必要最小限にして結果だけを共有する

見落としを防ぐ確認表

分類確認対象
IdentifierNamespace、Class、Trait、Method、Variable
ValueURL、Path、Credential、ID、Message
PHPdeclare、Type、Attribute、enum、HEREDOC
OtherSQL、Log、JSON、.env、Screenshot

PHP固有の構造を残せているか確認する

  • namespace、use、Class、Interface、Trait、enum、Function、Methodの対応を比較する
  • declare(strict_types=1)、型宣言、Nullable・Union Type、参照渡し&を目視する
  • 属性名・属性引数、enum Case、配列キー、定数が動作上必要か確認する
  • HEREDOC・NOWDOC、文字列内SQL、HTML・Blade混在部分は元コードと別に確認する
  • $_GET、$_POST、$_SERVER、$_SESSIONなどのSuperglobal名は保持されても、中の実データは別途確認する
  • PHP Version、Extension、Composer Package、Laravel Version、再現条件は匿名化とは別に記録する

同じ識別子が同じ代替名になっているかだけでなく、PHPとして重要な予約語・記号・区切りが残っているか確認してください。

コード以外の情報を分けて安全に共有する

情報確認方法
PHPコードPHPコードマスキングツールで識別子・値・コメントを置換する
SQL・BindingSQLマスキングツールでTable・Column・Literalを確認する
Stack Trace・Laravel LogログマスキングツールでPath・ID・Token・Messageを確認する
JSON API応答JSONマスキングツールでKey・Valueを確認する
.env・設定必要なKeyだけを別コピーへ抜き出し、値を手動でDummyへ置換する

DB Password、APP_KEY、Session ID、Cookie、Authorization Header、Webhook URL、秘密鍵が漏れた場合は、マスキングだけでなく失効・再発行も行ってください。

現行PHPコードマスキングツールでできること・できないこと

確認項目現行ツールの対応共有前の注意
入力PHPテキストの貼り付け.php、composer.json、Laravelプロジェクトの直接読込には対応しない
分類クラス・型、関数・メソッド、識別子、値、コメントPHP Parser、php -l、PHPStan、Psalmと同等の意味解析ではない
PHP 8構文属性、enum、match、Union Type、Nullsafe Operatorなどの記号を概ね保持属性引数や識別子を置換すると、実行可能なコードではなくなる場合がある
文字列引用符付き文字列、HEREDOC・NOWDOCを値として置換文字列内のSQL、JSON、URL、HTMLを専用構文として解析しない
混在コードPHPとしてトークン化してマスキングHTML、Blade、Twig、WordPressテンプレートを完全解析しない
declare一般識別子・数値と同じ規則で処理され得るstrict_types=1が壊れる場合があるため、結果を必ず目視確認する
操作結果コピー、全消去、結果側の右クリックによる個別解除・再適用解除した元情報が共有に必要か送信前に再確認する
保存表示設定だけをLocalStorageへ保存入力、結果、対応表、履歴をDevelop Toolsのサーバーへ送信・保存しない

マスキング結果は共有用コピーです。実行、構文検査、型検査、LaravelやComposerの動作確認を置き換えるものではありません。

公式資料と対象環境で確認する

PHP、Laravel、ComposerはVersionによって挙動や推奨手順が変わります。記事だけで断定せず、対象Versionの公式資料、php -v、composer show、設定、Test結果を照合してください。

具体例:AIへParse Errorの再現コードを相談

元Projectではなく共有用コピーを作り、Class・Function・Variable・String・Number・Commentをマスキングします。PHP Versionとエラー条件は残し、結果側の配列キー、属性、declare、SQL、HTMLを確認してから共有します。

実Credential、実顧客情報、内部Pathではなくexample.testやDummy値を使い、問題を再現する最小範囲で確認します。

  1. 最小再現コードを共有用コピーへ切り出す
  2. 識別子・値・コメントをマスキングする
  3. PHP構文と診断Contextを比較する
  4. マスキング結果だけを共有する

結果側の対象は右クリックで個別解除・再適用できます。戻した元情報が本当に必要か、送信前に再確認してください。

よくある質問

.phpやLaravelプロジェクトを直接読み込めますか?
直接読込には対応していません。必要なPHPテキストを入力欄へ貼り付けます。ComposerやLaravelのProject解析も行いません。
マスキング後のコードはそのまま実行できますか?
実行成功は保証しません。declare(strict_types=1)、属性、HEREDOC、HTML・Blade混在部分などが変化する場合があるため、共有用コピーとして元コードと比較してください。
入力したPHPコードはサーバーへ送信されますか?
入力とマスキング結果はブラウザ内で処理され、Develop Toolsのサーバーへ送信・保存されません。LocalStorageへ保存されるのは表示設定だけです。