eccubeにdebugツールをいれてみた。
全然更新できたいない。undertreeです。
EC-CUBEを触る機会が久々にあって、phpはdebugしづらいので色々いれてみた。
PHPもcomposerと、packgestが、整ってきたから、色々便利になってきたね。
とりあえず、PHPのライブラリは全然わからないので、ざっと調べてみて、
が良さそうだったのでいれてみた。
正直なところ、PHP Debug Barは、とてもいい!!
whoopsは、railsのbetter errorsっぽいから期待したけど、エラー起きたところで、print debugできないので、残念。。。
setup
whoopsは、require_base 当たりに仕込めばOK
PHP Debug Barは、色々悩んだけど、LC_Pageの
- init
- sendResponse
に追加して、
- site_frame.tpl
で、出力するように設定。
コードは簡単に記載しておきます。
※引っぱりだすのが手間なので、メイン部分だけ。多分これだけで動くはず。
documentがしっかりしているので、詳細は、PHP Debug Barのサイト見てね!
public function init() { ... if (DEBUG_MODE === true && class_exists("\\DebugBar\\StandardDebugBar")) { $this->debugbar = new DebugBar\StandardDebugBar; /** * vendorのpublic部分だけhtml以下にコピー * 固定リソースになってしまっているので、更新された場合は、 * applicationのroot_pathで下記を実行してください。 * cp -a vendor/maximebf/debugbar html/vendor/ */ $requireBaseUrl = "/vendor/debugbar/src/DebugBar/Resources"; $this->debugbarRenderer = $this->debugbar->getJavascriptRenderer($requireBaseUrl); // sample $this->debugbar["messages"]->addMessage("debugber on!!"); } ... public function sendResponse() { ... // initでdebugのinstanceが無い時は呼ばない(いろいろなところから呼ばれているので) // sendResponseをoverrideしている部分は、表示されないので注意 if (DEBUG_MODE === true && $this->debugbarRenderer) { $this->debugbar_header = $this->debugbarRenderer->renderHead(); $this->debugbar_render = $this->debugbarRenderer->render(); } ... // site_frame.tpl(下記をいい感じのとこに設定) {$debugbar_header|smarty:nodefaults} {$debugbar_render|smarty:nodefaults}
※composerのインストール、設定は別にしてね。 autoload.php読む込むとか。
まとめ
EC-CUBEは、テストも結構かかれているし、CIの仕組みが整ってきているので、 かなりレベル上がっている気がする。
EC-CUBEの印象が悪いのは、カスタマイズの仕方があまりよくない案件を触ることが多かったからだろうか。。。
というか、PHPカンファレンス行ってから、PHPへの見方が本当に変わった気がする。
まぁー結局元凶は、言語ではなく、人だってこと。
言語は成長しているけど、人と、システム自体は意外に成長していない。ことに気づかされる。
ITの成長が早いのも関係あるが。。。
人としても、システムとしても、常に成長していける環境を作りたいと思った今日このごろでした〜〜。
※そうするには、自分はもっと早く成長しないといけないが。。。
時間もないので、駆け足でしたが、頑張ってできるだけ更新するので、よろしく!
ちなみにまだまだですが、 500pv/月 は超えそうです。 いえ〜いb