メメメモモ

プログラミング、筋トレ、ゲーム、etc

2012-01-01から1年間の記事一覧

Controller_TemplateとViewModelを使った場合

テンプレートエンジンにPHPを使う場合は、Controllerの代わりにController_Templateを継承するようにしたほうが良さそう。 Controller_Templateを継承すると、ベースとなるテンプレートを読み込むようになる。 デフォルトでは「views/template.php」をベース…

ルーティング設定で値を含める方法

/entry/1 という感じで、URLにIDなどの値を含めたい場合。「fuel/app/config/routes.php」で設定する。 上記の例の場合は、次のように設定する。 array( 'entry/:id' => 'entry', ); コントローラでIDを取得する場合は、次のようにする。 $id = $this->param…

flashの設定する

更新や削除をしてリダイレクトした後に、「更新しました。」などのメッセージを一度だけ出したい場合がある。 その時は、flashを使用する。 flushの設定は、Sessionのset_flashメソッドを用いる。 Session::set_flash('result_message', '更新しました'); fl…

エスケープしないでテンプレートに値を渡す方法

inputタグなどに設定するときにエスケープされては困る場合。 ViewやViewModelのsetメソッドを使う。第三引数をfalseにすればエスケープ処理が行われない。 // 第3引数をfalseにする $view->set('name', 'Hoge<>Hoge', false); Views - General - FuelPHP Do…

Macでpdo_mysqlをインストールしようとしてハマりまくった

症状としては、以下のページで解説されているものと同じ。 僕は木になりたい。。。 gem install mysql にハマる - livedoor Blog(ブログ) mysql_configが見つからないというエラー オプションでMySQLのインストール場所を指定すれば見つけてもらえるように…

perlのコンテキストについて

perlを書いているときは「コンテキスト」のことについて、ずっと意識している必要がある。 コンテキストを理解していれば、 スカラー変数や配列変数のどちらを使うか リファレンスにすべきところ デリファレンスすべきところ などが、なんとなく判別できるよ…

featureブランチの変更履歴だけを表示する

git

以下のようなコマンドで確認できる。 git log develop..feature/hogehoge 参考 gitでトピックブランチに対する変更内容のみを列挙する - TIM Labs

PHPプログラムがCLIで実行されたかどうかを判別

STDINが定義されているかで判別する。 if ( defined('STDIN') ) { // CLIで実行された } CodeIgniterで行われていた。

url_forでURLクエリを付ける場合

次のようなURLをurl_forを使用しているときに作成したい場合。 /entry/edit?id=1 以下のように書きます。 $self->url_for('entry/edit')->clone->query(id => 1)

同じロジックで、2つのルートに対応

次のふたつのURLで同じロジックを実行したい場合。 /entry /entry/20101111 このような場合、デフォルト値をundefに設定するようにします。 my $r = $self->routes; $r->route('/entry/:date')->to('Entry#page', { date => undef })->name('entry/page'); …

git管理下から外す方法

git rm --cached 該当ファイル --cachedを付けなければ実際にファイルも削除される。

MacにPHPをインストール

普通にやってたら、コンパイルエラーが出たりしたので、以下の記事を参考にした。 http://blog.enjoitech.jp/article/178コンパイルエラーに対しての対処 http://www.proton.jp/main/server/php-install.html http://d.hatena.ne.jp/hnw/comment?date=201007…

httpsがchromeとかでバツになる件

httpsページでhttps以外の通信があると、ブラウザで警告が出る。 chromeでは、「このページには安全でない他のリソースが含まれています」といったようなメッセージが出る。 javascriptやimgタグなどで、フルパスで「http」から書かれているのが原因だったり…

Node.jsとPHPの勉強会に行ってきた

ので適当に感想。 大阪Node学園一時限目Node.jsのキーワードになる「非同期」「Socket.io」「Stream」「クロージャ」あたりが理解できた。 リアルタイムで動くデモは、見ていてすごく面白かった。 クライアントサイドとサーバサイドのデータのやりとりを、同…

RedmineのBacklogsプラグインで、タスク追加時にエラーが出る件

以下の質問者と同じ現象。 http://forum.redminebacklogs.net/Can-t-create-task-td3650842.html 原因も同じで、タスクにワークフローが設定されていないのが原因だった。 [管理] -> [ワークフロー]で、 トラッカーの項目を「タスク」にして編集。 参考 課題…

File::Find::findで渡す関数内では、カレントディレクトリが変わる

確認コード。 カレントディレクトリが変わるので、mkdirで相対パスとかを指定するとハマる。

通知テスト

うっほほほほうほうほほほほい

直前のコミットをキャンセルする

結構頻繁にやりたくなる。 $ git reset --soft HEAD^ KYOKUTYO NO BLOG. » Blog Archive » Gitで特定ファイルを昔の状態に戻す

XML::Parserのインストールが失敗する

expat.hがないとかでエラーになるので、以下のリンクからexpatをダウンロードしてインストールする。 http://expat.sourceforge.net/expatとは、XMLパーサーライブラリらしい。

PHPのエラー出力制御

裏側ではエラー出力するけど、ブラウザには出力したくない場合、以下のように設定。 error_reporting(E_ALL); ini_set( "display_errors", "Off");