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

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

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

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

解決済

2回答

4708閲覧

CakePHPのコントローラーでデバッグが出来ない

axax90

総合スコア120

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2016/08/15 21:50

編集2016/08/15 21:52

CakePHPのプロジェクトで質問があります。
プロジェクトは、ローカルでVagrant環境で開発をしております。

プロジェクトへのアクセスは以下のURLで行っております。
http://local.example.com/Recipes/index


コントローラー部分を以下とします。

php

1# /app/Controller/RecipesController.php 2 3class RecipesController extends AppController { 4 public function index() { 5 } 6}

indexアクションの中で、var_dumpを入れてみて、
↓とやっても画面には特に何も現れません。
変数のデータをデバッグ出来ません。

php

1# /app/Controller/RecipesController.php 2 3class RecipesController extends AppController { 4 public function index() { 5 var_dump(test_hensu); 6 } 7}

コントローラーを本当に通ってるのかどうかも怪しくて、

RecipesController.php の indexの部分を消してしまったり、

php

1# /app/Controller/RecipesController.php 2 3class RecipesController extends AppController { 4# public function index() { 5# 6# } 7}

AppController.php の中身を消したりしました。

php

1# /app/Controller/AppController.php 2 3<?php 4 5class AppController extends Controller { 6

中身を削除↓

php

1# /app/Controller/AppController.php 2 3<?php

しかし、こういう削除をしても、
http://local.example.com/Recipes/index
にアクセスすると、画面がちゃんと表示されます。
コントローラーへの反映は特に画面に現れません。

どういうことなのでしょうか?
デバッグをするために、何か設定などが必要なのでしょうか

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

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

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

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

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

guest

回答2

0

exitやdieで処理を終了させてしまうとviewまで行きません。

debug($test_hensu);!die;

投稿2016/08/16 22:35

takeshi556

総合スコア90

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

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

axax90

2016/08/18 06:08

回答ありがとうございます
guest

0

ベストアンサー

CakePHPには、DebugKitという便利なツールがあり、Viewに渡された変数の中身が見えたり、$this->log等で出力したログや実行したSQLログが確認出来たりします。
https://github.com/cakephp/debug_kit
導入の仕方については調べてください。

またデバッグについては、CakePHPではCakeLogというクラスがあり、

PHP

1class ExampleController extends AppController { 2 public function index() { 3 $this->log(var_export($test_hensu, true), 'debug'); 4 CakeLog::debug(var_export($test_hensu, true)); 5 } 6}

上記のように記述すると、cakephpの下記ファイルの中に、出力したメッセージが記録されます。
app/tmp/logs/debug.log

記述の仕方は、Controller内では$this->log()、Model等ではCakeLog::debug()を使ってください。

投稿2016/08/16 04:27

kunai

総合スコア5405

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

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

axax90

2016/08/16 21:56

回答ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問