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

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

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

Symphony2は、簡単で速く堅牢なプログラムの開発サイクルに焦点を当てた、オープンソースのPHPウェブアプリケーション開発フレームワークです。PHP version 5.3.3以上を対象としています。

PHP

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

Zend Framework 2

Zend Framework 2は、PHP 5.3以上に対応している MVCフレームワークとコンポーネントライブラリーの集合です。

Q&A

1回答

9012閲覧

[PHP] var_dumpできない

agumazu

総合スコア7

Symfony2

Symphony2は、簡単で速く堅牢なプログラムの開発サイクルに焦点を当てた、オープンソースのPHPウェブアプリケーション開発フレームワークです。PHP version 5.3.3以上を対象としています。

PHP

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

Zend Framework 2

Zend Framework 2は、PHP 5.3以上に対応している MVCフレームワークとコンポーネントライブラリーの集合です。

0グッド

0クリップ

投稿2017/02/01 05:34

専門ではないですが、業務でPHPフレームワークを使うことがあり、その際にある変数の中を確認したく

php

1<?php 2 var_dump($args); 3 # または 4 print_r($args); 5?>

などと書いてページに表示しようとすると、
ブラウザのロードアイコンがぐるぐる回り続けて表示できないことがあります。

無知ですみませんが、単純になぜでしょうか?
構文間違いではありません(その場合エラーが表示されます)
全ての変数ではなく、見れるものは見れます。

ローカルに持ってこれないため、テストサーバーでの現象ですが、
諸事情でサーバーを触ることはできません。
そもそも何かそういう設定(サーバー/フレームワーク)があるのか、知識もありません...

フレームワークは固定ではありませんが、
例えば主に ZendFramework2 や Symfony2 等です。

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

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

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

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

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

guest

回答1

0

$args がものすごく容量の大きなオブジェクトだったりしませんか?

投稿2017/02/01 05:37

tgfjt

総合スコア79

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

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

agumazu

2017/02/01 05:56

例えば、何かのカテゴリーに属する記事〇個分、ぐらいの大きさのオブジェクトです。 場合によってはやや大きめの可能性はありますが...大きすぎるとは言わない気がします。 どのぐらいまでなら許容範囲とかあるんでしょうか?あまりPHP自体に詳しくなく...
tgfjt

2017/02/01 06:06

なるほど。確かにそれで大きすぎるとは言えないですね。 想像しか出来ないので、例えば、`$args` の中身をそれぞれ(例えば記事1つずつ)dump で見ていったらどうなるのか?で原因を絞っていけばだんだんと分かる気がしますね。
kunai

2017/02/01 06:08

フレームワークを使っているのであれば、思っている以上に大きなオブジェクトになっていてもおかしくはないですよ。 「記事」クラスが何かのクラスの子クラスだったりすると、親クラスの持つデータは勿論持ってますし、メンバーとして他のクラスを持っていたりすると更にその親が・・メンバーが・・・と膨れ上がってきます。 オブジェクト丸ごとではなく、必要な情報のみ配列にでも出してから見てみてはいかがでしょうか。
agumazu

2017/02/01 06:24 編集

皆さんありがとうございます。 やはり、オブジェクトの大きさが原因と考えるのが妥当でしょうか? であれば、確かに小さいところから少しずつ見ていくべきなんだと思いますが、 これは大丈夫だろうと思って(甘く見て)やってみる -> やっぱりだめ -> foreach で砕く -> という手順が結構頻繁に起こるので、何か打開策はないのか四苦八苦しています... 知識が乏しく申し訳ないのですが、中身を見たい対象物が一体何なのかさっぱり分からない(分からないから見てみたい)とき、そしてそれが容量が大きなオブジェクトだった場合、皆さんどうやって対処されるのでしょうか?
Y.H.

2017/02/01 06:33

私はログをファイルに出力しています。 error_log関数, syslog関数, PEAR::Log, log4php, 自作Log出力クラス, Frameworkで提供されているログ出力クラスなどなどを使用してます。 httpレスポンスで返すよりファイル出力する方がレスポンスタイムも早いので。 調査する時は手当たり次第にログ出力を埋め込んでファイルに出力。 画面遷移などがあっても時系列でファイルに残るのでじっくり調査ができます。 まぁHDDの残容量は気にする必要がありますが。
kunai

2017/02/01 06:34

対象物と言っても、var_dumpで出力させるという事はソースコードに記述のある変数か何かなわけですよね? であれば、その変数がどこから来ているかと言うようなことはコードを追えばわかるのでは。 IDEを使えば変数を追う事なんて簡単ですし、デバッグモードでステップインしていけば変数の中身も見られますし。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問