質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

629閲覧

php メソッド 定義 ファイル

chako_2007

総合スコア34

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2020/06/23 23:59

編集2020/06/24 03:55

phpにて、$this->hoge();
と記入してあり、hogeメソッドを定義しているphpファイル名を知ることはできますか?

今はget_include_files()を使用して、勘でそれらしいファイル名の場所を見にいっています。

仕事中、他人の独自メソッドがどこのファイルで定義されているかを探すのに一苦労です。

2020年6月24日12時50分 以下追加
各エディタでメソッド探しはなしでお願いします。
PHPの関数とかであれば嬉しいのですが

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Eclipseや、Visual Studio Codeなどの、PHPのプロジェクト管理ができるエディタで、プロジェクト管理をすれば、
各エディタのやり方で、各変数などの定義に箇所に飛ぶことができます。

以下追加

各エディタでメソッド探しはなしでお願いします。
PHPの関数とかであれば嬉しいのですが

ありません。
強いて言うなら、わざとエラー起こしすとかですかね。
エラー起こせばどこのファイルの何行目でエラーが起きてるか出ますので。
それでも、呼び出し方自体が間違っていれば、
呼び出した側でのエラーになりますので、無理ですね。
あとはディレクトリ検索(中のテキストまで検索するようなもの)で探すとかじゃないですかね?
まぁ、虱潰しですね。

追記

debug_backtraceをうまく使うと、もしかしたらできるかもしれません。
詳しくは下記公式ドキュメントを参照してください。

PHP: debug_backtrace - Manual

投稿2020/06/24 00:31

編集2020/06/24 05:21
miyabi_takatsuk

総合スコア9555

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

phper.k

2020/06/24 04:12 編集

IDEで簡単に探し出せるのだから、PHPコミュニティが車輪の再開発してそんな機能をPHPに実装するかというと甚だ疑問ですね。 やるとしたら、Reflection Class を駆使して自作するくらいかな。
miyabi_takatsuk

2020/06/24 04:15

phper.kさん > ですね。 間違いないです。 質問者さんが何をもってエディタの使用を無しとしているのかが全く意味不明です。
phper.k

2020/06/24 04:27

debug_backtrace() を使うのはどうなんだろうかね?
miyabi_takatsuk

2020/06/24 05:09

おお、こんなメソッドがあったとは・・・! 回答に取り入れさせていただきます!
miyabi_takatsuk

2020/06/24 07:42

なるほど・・・! 意外にいろいろ方法あるのですね。
chako_2007

2020/06/30 07:09

コメント、遅くなり申し訳ありません。 debug_backtraceは$this->hoge(); が例だと、hogeメソッドの中に記述して使うものですよね? そのhogeメソッドがどこにあるかわからないので、今回は使えなさそうですね。 php.netにあるgenerateCallTraceですが、使い方が難しそうなのでやめときます(汗) 結論、IDEは普段使っていないので不慣れですが、IDEを試してみようと思います。
miyabi_takatsuk

2020/06/30 07:27

PHPなどの、中、大規模プロジェクト開発をする場合は、IDE必須です。 > 各エディタでメソッド探しはなしでお願いします。 と言っていたのは、不慣れだからですか?
miyabi_takatsuk

2020/07/03 01:48

そうですか。 Webの開発って、常に新しいものを取り入れなきゃついていけない業界なので、自分が慣れていない手法を使わねばいけない事が多々あります。 なので、柔軟に受け止めれるようになったら、今後の糧になると思いますよ。 私もフロントフレームワークの導入を渡された時なんかは特に、不慣れで受け入れ難かったですが、終わってみると、ものすごく有意義な代物だ、と思いました。 なので、柔軟に受け入れるようにしていくといいと思いますよ。 と、小言失礼しました。
chako_2007

2020/07/06 03:56

助言ありがとうございますm(_ _)m できるところから、挑戦していこうと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問