• ベストアンサー

PHP)変数や関数の宣言を探す方法

wordpressの勉強をしています。 wordpressのテーマで定義された変数や関数が、どこで定義されているかを探すのに、もっとも効率の良い方法はなんでしょうか? 例えば、テーマ/includes/featuredposts/template.phpに、oshietegoo($question, $answer)というのがあり、このtemplate.phpには、oshietegooが二つの因数に対して何をするのかわからないとします。 こういったものがどこでどのように定義されているかを探す最速の方法は何でしょうか?

  • PHP
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • shiren2
  • ベストアンサー率47% (139/295)
回答No.2

関数の定義箇所に飛ぶ方法ですよね? eclipseやnetbeansのようなIDEには、普通に機能としてありますよ。 昔はctagsとか使ったものですけど、いい時代になったものです。

choco0213
質問者

お礼

ありがとうございます! 調べてみますね。

その他の回答 (1)

  • agunuz
  • ベストアンサー率65% (288/438)
回答No.1

普通はテンプレート(テーマ)固有の関数は、そのテーマのfunctions.phpに書いていると思います。 http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%BC%E3%83%9E%E3%81%AE%E4%BD%9C%E6%88%90#.E3.83.86.E3.83.BC.E3.83.9E.E9.96.A2.E6.95.B0.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB そうでなくても対象ディレクトリ(フォルダ)以下の全ファイルを検索するテキスト処理アプリ(フリーでたくさんあると思います)を使えば、それほど苦労せずに探し出せると思います。 #そんな行儀の悪いテーマは出来も期待出来ませんが(汗 >二つの因数 引数(ひきすう)ですね

choco0213
質問者

お礼

やっぱり、クリックで定義しているファイルの行へのジャンプみたいな機能はないですよね・・・。 ありがとうございます。

関連するQ&A

  • 関数内の変数について

    g++やgccで関数内で定義した変数をレジスタに割り当てる方法が知りたいです。 あと、関数内で定義した変数は、スタック上やヒープ上に作られると思いますが、この基準はどうなっているのでしょうか?

  • javascript変数をPHP変数に渡し,またjavascript変数に渡すには?

    javascriptの変数を、PHP記述のPHP変数に渡し、 またjavascript変数に渡したいのですが、 何か良い方法はありますか? つまり、javascriptに無さそうな関数なので、 PHPで用意されている関数(mb_convert_encoding) を使い、またjavascriptの変数に戻してやりたいのです。 ご存知の方がいましたら、ご教授下さいませ。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • jqueryとphpで変数をやり取りしたい

    jqueryとphpで変数をやり取りしたい こんばんは 現在jqueryとphpのやり取りを模索しています phpで定義した変数(仮に$dataPHPとして)に文字列を入れておきます それを外部のjqueryにどうにかして渡す(この『渡す』方法が分からない・・・) そして、jquery内で受け取った変数から色々処理をして、最終的に今度は別の変数(また仮に$dataJQUERYとします)をPHPに渡します PHPではその変数を受け取り、以降の処理を進めていく、というものです 『jquery php データ 渡す』などで調べてみると、$.ajaxや$.postを使うとデータを渡せるとあり、実際にサンプルプログラムを動かしてみました しかし、javascriptからphpにデータを送ることはできても、コールバック関数というものでjavascriptに返ってきたり、innerHTMLで直接埋め込んでしまったりと、純粋に変数として保持できる方法が見つかりませんでした jqueryとphpで自由に変数を渡しあえる方法はないのでしょうか? 現在の環境はjquery1.4.2、php5、apache2、IE7です どうぞご教授願います

  • php 自作関数

    PHPでfunctionによって定義される関数を作っているのですが 引数なしで関数をつくることは可能なのでしょうか? 例えば function hello{ print "HelloPhp"; } 理想ではphp側でhello関数を呼び出せばHelloPhpと出力されます 実際の使い道は関数名が使い辛いので別の名前で関数名を定義したいんです 引数を与えてもいいのですがfunction側で引数が固定されるためphp側と毎回同じ変数:引数にならない 説明し辛いのですが 先ほど述べた理由で使いたいのですが、わかる方いらっしゃったらよろしくお願いします

    • 締切済み
    • PHP
  • PHPのビルトイン関数について。

    PHPのビルトイン関数について。 PHPなどで予め定義された関数の中身は見れないのでしょうか? また見る方法はありますか? これに関して他の言語についても知りたいです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPのソースの追いかけ方

    普段プログラミングやデザインをしないのですが、WordPressでオリジナルデザインを作ってみようと思っています。 秀丸エディタを使っているのですが、ソースを追いかけるのに、かなり時間を使ってしまい短縮出来ないものかと考えています。 Eclipseだと、関数の定義元にすぐジャンプしたり出来るようですが、秀丸エディタなどのエディタで開発されている方達はどのように追いかけているのでしょうか? テーマ独自の関数なのか、WordPress自体で定義されているのか、関数名だけでは分からなかったりと、一つの関数を追いかけるのも苦労しています。なにか良い方法があればと思います。それとも、1ファイルずつ開いて検索を繰り返すのが普通なのでしょうか? なお、Eclipseなどの統合環境はちょっと設定などが面倒で、重いのでなるべく避けています。

    • ベストアンサー
    • PHP
  • PHP外部の変数を保持して足し算する方法

    PHP初心者です。 今、診断テストをPHPで作っているのですが、 外部ファイルから受けとった変数を保持している方法が分かりません。。 質問が5問あるので、それぞれ5つのshitumon1.php~shitsumon5.phpがあります。 ■shitsumon1.php ------ $no = $_GET["no"]; $counts = $_GET["counts"]; $countssub = $_GET["countssub"]; $question = "質問文1"; $answer1 = "答えの選択肢1"; $answer2 = "答えの選択肢2"; $answer3 = "答えの選択肢3"; //(↓どこの選択肢を押したかによって、countssubに点数を加算していく) if($no == 1){ $countssub = $countssub + $counts; }else if($no == 2){ $countssub = $countssub + $counts; }else{ $countssub = $countssub + $counts; } ?> <center> <div id="main_contentsbox"> <h1>診断テスト</h1> <div id="contents_bak"> <div class="text_catch"><? echo $question; ?></div> <ul> <li id="list1"><a href='shindan2.php?no=1&counts=100&countssub='><?php echo $answer1 ?></a></li> <li id="list2"><a href='shindan2.php?no=2&counts=200&countssub='><?php echo $answer2 ?></a></li> <li id="list3"><a href='shindan2.php?no=3&counts=300&countssub='><?php echo $answer3 ?></a></li> </ul> </div> </div> </center> ----- ■shitsumon2.php ------ $no = $_GET["no"]; $counts = $_GET["counts"]; $countssub = $_GET["countssub"]; $question = "質問文2"; $answer1 = "答えの選択肢1"; $answer2 = "答えの選択肢2"; $answer3 = "答えの選択肢3"; //(↓どこの選択肢を押したかによって、countssubに点数を加算していく) if($no == 1){ $countssub = $countssub + $counts; }else if($no == 2){ $countssub = $countssub + $counts; }else{ $countssub = $countssub + $counts; } ?> <center> <div id="main_contentsbox"> <h1>診断テスト</h1> <div id="contents_bak"> <div class="text_catch"><? echo $question; ?></div> <ul> <li id="list1"><a href='shindan2.php?no=1&counts=100&countssub='><?php echo $answer1 ?></a></li> <li id="list2"><a href='shindan2.php?no=2&counts=200&countssub='><?php echo $answer2 ?></a></li> <li id="list3"><a href='shindan2.php?no=3&counts=300&countssub='><?php echo $answer3 ?></a></li> </ul> </div> </div> </center> ----- 本当はcountssubにどんどんポイントが加算されていきたいので、 質問1と質問2、両方選択肢1を選んだ場合は、 100+100で200の結果をcountssubに入れたいのですが、 なんだか上書きされているようで、どんどんポイントを加算していくことが出来ません、 どうやったら、違うファイルで受け取った変数を保存していくことが出来るのか ご教授ください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPの変数の渡し方

    現在以下のような位置関係のファイルでa.phpからb.phpに変数を渡したいのですが、うまく行きません。 ├dir1 │ └a.php └dir2   └b.php a.php <?php public function a(){ $value = "test"; } ?> b.php <?php public funcition b(){ print($value); } ?> phpについてwebで調べ、a.phpで$valueをglobalにしてb.phpでは 関数内でinclude('../dir1/a.php')を記述して$GLOBALS['$value']を 使ってみたのですが、うまく値がとれませんでした。 a.phpで変数をテンプレートに設定して $smarty->Set('Value', $value); それをb.phpで取得しようとしたのですが $smarty->getTemplateVars(Value); 取得する事ができませんでした。 同じようにgeTTemplateVarsを使って別のphpでは取得出来たりするのですが、 このsmartyのスコープ?というのもわかりません。 phpScheduleItというスケジュール管理のパッケージを触っていて、 php自体初めてで深い実装が全て追えていません。 勉強不足で申し訳ないのですが、何かヒントとなる事がありましたらご教示頂けますでしょうか。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • PHPにおいて変数の初期化

    PHPで変数を初期化する際の初期化の方法について質問です。 私はPHPで変数を初期化するさい、視認しやすい様にsettype関数を用いることが おおいです。 単純に $hoge = array(); $foo = ""; $hoo = 1; とするより settype($hoge,"array"); とした方が、明確に 「ああ。この変数はこの行数で初めてでてきたんだな」 という具合に判断できるとおもっているからです。 例えばJSだと var hoge; という具合に、変数そのものの宣言を先んじておこなえますよね。 このように明確な変数宣言がわかりやすいとおもうのですが・・・・。 みなさまがたはPHPではどのように変数を初期化しますか? ご意見おきかせください。

    • 締切済み
    • PHP
  • wordpress内でphpをcronで叩きたい

    wordpressを運用しています。 wordpressのディレクトリ内(テーマファイル内)に置いたphpをcronで叩きたいのですが、うまくいきません。 そのphpは普通にブラウザでアクセスすれば実行されます。 なぜか考えてみたのですが、wordpress内ではcronが叩けない(cronでアクセス出来ない?)、もしくはphpの中でwordpress独自のグローバル変数「$wpdb」を用いているからだと思います。 $wpdbは下記URLのようなものです。 http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wpdb_Class おそらくwordpressのディレクトリ内ではcronが叩けない、という理由なのだと思いますが、php内では$wpdbというグローバル変数を用いたいため、wordpressのディレクトリ外で実行もできない状況です。 私のwordpressやcronの認識が甘いので、考えていることが見当はずれかもしれません。 結局$wpdbというグローバル変数を用いたphpを定期実行したいのですが、どうすればいいでしょうか?

専門家に質問してみよう