Posts tagged debug
Xcode のブレークポイントを条件判定して止める方法
2Xcode のブレークポイントを条件判定を指定して条件に合った時だけ止める方法です。
例えば以下のコードのように1000回ループを回す処理があったとします。
for (int i=0; i<1000; i++) { NSLog(@"i=%d", i); }
このループの500回目、つまり i==500 の時だけブレークポイントで止める方法になります。
(続きを読む…)
[CakePHP] Debugkit が便利!
5CakePHP1.2ガイドブックが Amazon から届いたので早速一通り読んでみました。中でも Debugkit は知らなかったので早速入れてみました。感想は「今まで知らなくて損した!」です。。。こんな便利なプラグインを知らなかったとは、情報収集、勉強が足りないですね。
(続きを読む…)
[symfony] askeet デバッグモードが表示できない件 [解決]
1askeet 1日目の最後でデバッグモードを表示させると
Your are not allowed to access this file. Check frontend_dev.php for more information.
と表示されてしまう件ですが、解決しました。
原因は /home/askeet/web/frontend_dev.php の4行目?7行目で
if (!in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1'))) { die('Your are not allowed to access this file. Check '.basename(__FILE__).' for more information.'); }
となっていて他の IP からのアクセスを拒否していました。
(続きを読む…)
CakePHP1.2 SimpleTest の小技
0CakePHP で SimpleTest を使うときにちょっとした小技の紹介です。
<?php class UsersControllerTestCase extends CakeTestCase { function startCase() { echo '<h1>Starting Test Case</h1>'; } function endCase() { echo '<h1>Ending Test Case</h1>'; } function startTest($method) { echo '<h3>Starting method '.$method.'</h3>'; } function endTest($method) { echo '<hr/>'; } function testIndex() { $result = $this->testAction('/users/index'); debug($result); } } ?>
CakePHP1.2 SimpleTest 値を検証する assert?メソッド
2SimpleTest で使用する値を検証する assert?メソッド
assertTure
boolean assertTrue(boolean $result, [string $message])
$result が true か
(続きを読む…)
CakePHP 1.2 RC1 リリース!
1Release: Pure Cake Power in RC1 | The Bakery, Everything CakePHP : Articles
CakePHP 1.2 RC1 がリリースされましたね。早速試してみたいと思います。
Finally – CakePHP 1.2 RC1 is out! ? Debuggable Ltdによると
800++ commits
100++ bug fixes
tons of security and feature additions
だそうです。
CakePHP の開発を簡単にする 5 つの Tips
1“開発を便利にする5つのTips” フォーラム – CakePHP Users in Japan で紹介されていた記事です。
Make your life easier with these five CakePHP Quicktips ? Debuggable Ltd
1. prd という便利な関数を作成する
pr($someVar); die;
というコードをよく書くなら prd という関数を作ってしまえば、もっと楽できますね。
function prd($var) { pr($var); die; }
PHP 開発に使う10個のツール
2DaveDevelopment ? Archive ? 10 tools for Modern PHP Development で「PHP の開発に使われている10個のツール」が紹介されていました。 (続きを読む…)
CakePHP ログ出力
2CakePHP でログ出力させるメモです。
$this->log(ログに出力するメッセージ, ログ種別);
出力するメッセージは文字列でも配列でもかまいません。配列の場合は print_r されたものが出力されます。
ログの種別は LOG_DEBUG で debug.log 、 LOG_ERROR で error.log に出力されます。デフォルトは LOG_ERROR です。
ログファイルは LOGS で指定されたディレクトリへ出力されます。
デフォルトは /app/tmp/logs です。
ただこの定数 LOGS は cake/config/paths.php で指定されているので、app/config/core.php で定義されている定数のように気軽に変更しない方がいいかもしれません。
ログファイルが存在しない場合はファイルを作成してくれます。
出力されるログは下記のようになります。
2007-11-11 06:54:54 Error: メッセージ
LOG_DEBUG を指定するとログの “Error” の部分が “Debug” になります。
この log メソッドは Object クラスにあります。Object クラスは CakePHP の全てのクラスで継承されるクラスなので、コントローラ、モデル、ビューどこからでも $this->log() でログに出力させることができます。
CakePHP ファイルアップロードするコンポーネント
2CakePHP でファイルアップロードを簡単に行うコンポーネントです。
ReverseFolds – CakePHP File Uploads
データベースにファイル名、MIMEタイプ、サイズなどを記録し、ファイルは指定したディレクトリへアップロードするようになっています。
ビューにファイルアップロード用のタグを設置
<input type='file' name='userfile[]'/>
複数配置したいときは
<input type='file' name='userfile[]'/> <input type='file' name='userfile[]'/>
コントローラに使用するコンポーネントを追加
var $components = array('FileHandler');
アップロード処理
$this->FileHandler->setDebugLevel(1); $this->FileHandler->setRequired(0); $this->FileHandler->setHandlerType('db'); $this->FileHandler->setDbModel('FileUpload'); $uploadDir = 'path/to'; // アップロードするディレクトリを指定 if ($this->FileHandler->upload('userfile', $uploadDir)) { echo 'アップロード成功'; } else { echo 'アップロード失敗'; }
実際の処理などはリンク先からダウンロードしたファイルにコンポーネントの他に、ビュー、コントローラ、モデル、SQL と必要なものは入っているのでソースを見てみるとすぐに分かると思います。
アップロードされるファイルは $uploadDir で指定したディレクトリ内にユニークなディレクトリ名を作成してそのディレクトリ内に元のファイル名で保存してくれます。
その他のメソッド
アップロードできるファイルタイプを限定するメソッド
void setAllowedMime( array $mimeTypes )
ファイルの最大容量を設定するメソッド
void setMaxSize( int $size )
などもあります。