phpのコードを読み解くチュートリアル情報

このQ&Aのポイント
  • phpのコードを読み解くstep by stepの解説情報を探しています。
  • 具体的にはwordpressのsimple-membershipプラグインをアレンジし、ログイン情報を外部のs3などに渡したいと考えています。
  • phpstormでのコードの読み方や効率的なやり方についてアドバイスを求めています。
回答を見る
  • ベストアンサー

phpのコードを読み解くチュートリアル情報

すでにあるphpのコードを読み解くstep by stepのような形で解説している 書籍、サイト、動画チュートリアルを探しています。 具体的にはwordpressのsimple-membershipというプラグインを アレンジして、ログイン情報を外部のs3などに渡したいと考えていて 現在phpstormにてphpファイルを読み始めたのですが 何しろこういったプラグインの読み解きなどは経験がなく こちらに来た次第です。 phpstormでのctrl+b,ctrl+f7などを使い一つ一つ見ているのですが 果たして自分のやり方が正しいのか、もっと効率のいいやり方があるのでは? という疑問を持ちながらやっておりましたので、一度ウェブ上で ○○フレームワークを解析、などで検索してみましたが なかなか有力な情報に当たらず、また 雑誌や書籍などのほうが意外と情報がありそうな気もして こちらに関してはウェブに情報が上がっていなさそうな気もし 先輩方のご意見を伺いたく書かせていただいています。 質問が漠然としてしまい恐縮です。 突っ込み頂けましたらできる限り補足させていただきます。 よろしくお願いいたします。

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

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

  • ベストアンサー
回答No.2

>この一番左の欄にプラグイン独自のフックが >表示され、右のアクションも該当プラグイン名が一つ表示される >という状態であれば『独自にフックが用意されている』という >認識で間違いないでしょうか。 その認識で間違い無いです、なおかつそこに表示されているということは そのページの表示においてそのフックが実行されたということです その表にはどこでそのアクションフックは定義されているか情報も 表示されているので、あとは当該の箇所のコードを見て どのタイミングでどんな変数が利用可能で どんな変数が変更可能なのかを調べて利用するといった感じです ただ、このQueryMonitorによって知ることができるのは そのページ表示時に実行されたアクションフックだけなので ページ保存時、ログイン処理実行時、パーマリンク更新時など 実行後にリダイレクトされるアクションフックを調べるのは 一筋縄にはいきません 処理後のリダイレクトより前に処理を止めてQueryMonitorの 結果表示をさせるという形で無理矢理に調査可能ですが ちょっと強引なやり方になります >また独自にフックが用意されていない場合は >フックを追加するように構築したほうが良い プラグイン自体のコードを書き換えるというやり方は避けた方が良いです プラグインの更新によって変更が上書きされてしまいます かといってプラグインを更新しないようにするというのも セキュリティー上よろしくありません なのでその場合でもプラグインのプラグインを 書くような形での対応を可能な限りとります

その他の回答 (1)

回答No.1

WordpressということならQueryMonitorというプラグインが バックエンジニアリングには役立つかもしれません このプラグインを使うと管理画面を含めたサイトのページにおいて どのフィルタ・アクションフックにおいてどこでどの関数が実行されたか データベースにどこからどのようなクエリが送られたかを知ることができます プラグインがどうやって何をしているのか あるいはどこでどのようなフィルタ・アクションフックを 用意しているのかなどを知るのにおいて 大きな助けになるかと思います プラグインのアレンジはプラグインのコード自体を書き換えるのではなく 可能ならばプラグインの用意しているフィルタ・アクションフックによって プラグインのプラグインを作るような感じで作るのが理想です まずはそのプラグインがどのようなフィルタ・アクションフックを 走らせているのか調べてみましょう

iewmmxnb99bb63
質問者

お礼

確認に時間がかかり 返信が遅くなりまして申し訳ございません。 いいプラグインをご教授いただきましてありがとうございます! 確認作業をしている中で疑問がでてしまい もしよろしければまたコメントいただけたら幸いです。 『どこでどのようなフィルタ・アクションフックを 用意しているのかなどを知る』 このフックを調べるためご教授いただいたプラグインを走らせ 上部のバーからフックを選択したところ フックの一覧が表示されました。 この表の一番左にinitなどのwordpressおなじみのフックが 表示されていましたが、この一番左の欄にプラグイン独自のフックが 表示され、右のアクションも該当プラグイン名が一つ表示される という状態であれば『独自にフックが用意されている』という 認識で間違いないでしょうか。 また独自にフックが用意されていない場合は フックを追加するように構築したほうが良いということになるのでしょうか。 重ねての質問となり恐縮です。

関連するQ&A

  • PHPで他サイトを取り込んで解析

    PHPで他のサイトを読み込んで、javascriptを実行した結果をsimple_html_dom.phpなどのライブラリで解析、スクレイピングすることは可能なのでしょうか? もしできるとしたらどのようなライブラリやフレームワークを使えば実現できますか? どうぞよろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPを使ったWEB作成について質問です

    PHPなどのWEBプログラマーを目指している者です。 LAMP環境でWEBサイトを作成したのですが、次のステップに行くにはどうすればよいのか、疑問に思いましたので、以下何点か質問させて頂きます。 何か自分の作品を作り上げて、ポートフォリオにしたいと思っているのですが、 ・PHPフレームワークを使用したWEBシステムを作成したいのですが、ブログシステムかECサイトを作るべきなのかな?と色々考えこむのですが、中々アイデアがうかばないのですが、何を作るのがベターでしょうか? ・実際の現場で使用されているフレームワークを使用したいと思っておりますが、どのフレームワークが入門しやすいでしょうか? 以上、よろしくお願いします。

    • 締切済み
    • PHP
  • PHP5に切り替えたらWordPressが応答待ち

    レンタルサーバのPHPを PHP4からPHP5に変更しましたら、WordPress(v2.8.6)が 表示されなくなりました。 プラグインのファイルやフォルダを一旦退避して アクセスしてみたのですが、だめでした。 また、管理者のログイン画面は表示できました。 私は管理者ではないのでログインする事ができずログイン後の 状態がわからないのですが、PHP5にしていた時にWordPressを使用している人から 「編集したいのですが、ログインから先が開かなくなりました」 といわれました。 起きている現象 レンタルサーバのPHPをPHP4からPHP5に切り替えて記事を見に行こうとすると ブラウザ(IE8及びFirefox)で 「Webサイトが見つかりました 応答を待っています」(IE8) となり、これがループして表示されない。 情報 レンタルサーバのPHP5のバージョンは5.2 (セーフモード) WebサーバはApache2系 MySQLは4.1.22 どなたかわかる方いらっしゃいましたらご教授頂けると幸いです。

  • PHPのフレームワークとはどれがいいのでしょうか

    私は、PHPを使ってWEBのシステム構築に携わっております。 いままではフォームの組み込み等の簡単なものだったため、 PHPを記述して対応しておりましたが、大きいシステムのお話などが 出てきだしており、システムの作成をもっと効率化できないかなど 自分のステップアップを考えております。 ある程度の規模に対応でき、システム開発が柔軟に行えるようなPHP フレームワークはございますでしょうか。 Cake PHPやFuelPHP等が出てきますが、多数の種類があるため、 利用者様や学習者様のお声をお聞きしたく、質問をさせていただきました。 DBを利用することも多々ありますので、DBとの連携も容易なものがありがたいです。

    • ベストアンサー
    • PHP
  • PHPから環境変数'PATH'が使えない

    WordPressの「WP Video Posts」というプラグインで標記の問題が発生しています。 プラグインの中で、ffmpegのインストール状況をチェックする関数が exec("which ffmpeg",$output,$status); を実行し、ffmpegのフルパスを取りたいらしいのですが、 このとき$status=1(異常)になって、$outputが空になります。 試しに exec("which ffmpeg 2>&1",$output,$status); と書いたところ、$outputに「which: no ffmpeg in ((null))」が返ってきて、 PATHが通っていないことに気づきました。 ちなみに、同じスクリプトをコンソールから叩いた場合には、 正しい結果「/usr/bin/ffmpeg」が取得できます。 Webから実行した時だけ、上手く行きません。 (Webとコンソールは同じユーザーです) 以下、サーバーの情報です。 CentOS 6.4 PHP 5.3.3 nginx 1.4.2 php-fpm WordPress 3.9.2 WP Video Posts 3.1.5 nginxの実行ユーザー:nginx php-fpm(PHP)の実行ユーザー:nginx 環境変数「PATH」さえ通れば、問題が解決するのではないかと思っています。 開発方法をご存知の方、ご教示ください。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • PHPフレームワークについて

    PHPフレームワークで教えてください。 最近、「フレームワーク」という言葉を知りました。 今後「フレームワーク」を使ってWEBアプリを作ったほうが楽なのかなと思っています。 そこで質問なのですが、Mojavi、Maple、Ethna、Zend、CakePHPなど色々あるみたいですが どれがいいでしょうか? 条件としては、ホスティングサーバーで動かすのでインストールが比較的楽な物(php.iniやhttpd.confとかいじらなくても良い物)です。 使いたいのは、 ・フォームからの入力チェック ・データベース(MySQL) ・Smarty ・管理ページは管理者だけ(認証) 位です。 分らない事が出てきたらネットで調べる事になると思うので出来るだけ情報が多いものがいいです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPを習得し職業にしたいのですが・・・

    Webアプリケーション作成のプログラマーを目指して転職を考えております。 PHP・apache・MySQLなどを一から習得したいのですが、既存の書籍ではイマイチ内容が解かりません。 関係サイトなども観てはいるのですが・・・ 何方か、お勧めのセミナー、講座などの情報がありましたら教えください。 また、最短の習得方法・お勧め書籍・サイト(その利用方法など)がありましたら教えてもらえないでしょうか。 Webアプリケーション作成についてのPHP以外の情報も教えていただけたらお願いいたします。

    • ベストアンサー
    • PHP
  • レンタルサーバの言語がPHPに偏り過ぎてません?

    タイトルだとわかりづらいのですが、 日本で人気のあるレンタルサーバのSSHやVPSでは、PHPとwordpressは充実しているものの、 それ以外の言語が貧弱に思える場合が多いように感じます。 pythonも3になってないところがありますし、rails やDjangoをインストールしようとしても、どっかでひっかかってしまってなかなか最後まで行かない。 文字エンコーディングとかパーミッションとか.htaccessとか、拡張子とか、、 だったら、最初から ~~の拡張子はcgiだから関係フレームワークをインストールするときは、どこそこの拡張子を変えるようにとか、 ***をインストールするときはどこそこの設定をどうしろとか書いとけばいいと思うんですが。 とにかくペラペラサイトならともかく、フレームワークで躓いてしまう。 だったら、rubyやpythonをインストールしてある価値も、SSHやVPSの価値もそんなになくて、普通のレンタルサーバでwordpress使ってて大差ないように感じてしまいます(もちろんちゃんとできるサーバ屋さんも多いですが)。 特にどことは言いませんが、ロリなんとかはひどい気がするなぁ。 なんで、日本の(人気のある)レンタルサーバって、PHP & wordpressに変に偏ってるんでしょうか。 日本ってだけなら、CMSなら(今は)日本製のmovable typeとか、言語も日本人が作ったRubyとかに形だけでも力を入れていいような気がするんですが。

  • EclipseでPHP開発を作るには?

    現在XAMPP+テキストエディタで開発しているPHP初心者ですが、eclipseの機能に大変興味を持ってます。ネット上に断片的に存在するeclipse+phpの情報を見てみても、本家サイトの内容が変わっていたりして、なかなか理解できません。 以下2点について、現在の環境(本家サイト構成・最新のeclipseやプラグインのバージョン)で解説しているようなサイト、または書籍などの情報を求めています。 1.日本語環境の作り方・プラグインなどの互換性について。 (eclipse本体と言語パックのバージョンは違っていても良いの?) 2.eclipseにphp関連のプラグインを個別にインストールした環境(eclipsePHP?)とPDTは、どこがどう違っているのか。 それぞれの優位点。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPフレームワークを使う意味

    PHPでフレームワークを使う意味ってあるのでしょうか? 私的にはメリットよりデメリットのほうが多いと思っています そもそもPHPは便利な関数が元々充実していますし、WEB上に多くの情報が存在します フレームワーク固有の関数を探してくるより PHPで実現するソースコードを探してくる方が速いと思うのですが 最近では珍しくないと思いますが デザイナーもプログラムの知識を持っているチームの場合は MVCに作業分担するメリットも感じられません フレームワークをかませることで 不具合発生時の原因の特定も複雑になります PHPでフレームワークを使う意味について 皆様の意見をお聞かせ下さい メリット ・MVCに作業を分担できる ・機能が用意されている場合は作業の簡略化が期待できる デメリット ・フレームワークに脆弱性が見つかった場合に対応が必要 ・フレームワーク自体にバグが含まれている場合がある ・不具合が起きた場合に原因の特定が難しくなる ・ノンフレームワークに比べて速度は遅くなる(Phalcon等、例外は除く) ・ノンフレームワークに比べて柔軟性はなくなる(Phalcon等、例外は除く)

    • 締切済み
    • PHP

専門家に質問してみよう