ぐらめぬ・ぜぷつぇんのはてダ(2007 to 2011)

2007年~2011年ごろまで はてなダイアリー に書いてた記事を引っ越してきました。

2008-02-01から1ヶ月間の記事一覧

Helper中でコントローラにアクセスしたい時

generatorを使ってcontrollerだけを生成すると、helperも一緒に生成してくれるのは良いのですがAkActionViewHelperを継承してくれません。このため、$this->_controllerが使えないです。例: DOS> php .\script\generate Hoge The following files have been…

Helper中などでModel(ActiveRecord)クラスを手動でrequireしたい時

手動で、特定のモデルを取り込みたい(例えばControllerとは関係のないテーブルのActiveRecordを使いたい)時は、Ak::import()が使えます。引数指定も柔軟で、二つ以上のモデルを取り込みたい(requireした)場合は、配列で見たまんま渡しても良いですし、内部実…

レイアウト中でpartialを使う

こんな感じで。 app/views/layouts/hoge.tpl : render(array('controller' => 'common', 'partial' => 'accountheader')) ?>これで、app/views/common/_accountheader.tpl を取り込めます。普通にcontrollerのview内であれば、'controller'指定は省略できま…

layoutを共通化してみる。

generate scaffold などすると、app/views/layouts/ 以下にコントローラと同じ名前のlayout用ファイルが作成されます。例えば、 $ ./script/generate scaffold Hogeとやると、 app/views/layouts/hoge.tplというlayout用ファイルができあがります。まぁこれ…

CSSファイルを読み込ませるには

AssetTagHelperを使います。AssetTagHelperには他にもimageやjavascriptを読み込ませるためのメソッドがあります。CSSファイルを読んで、linkタグを出力するにはstylesheet_link_tag()を用います。で、Akelosではpublicディレクトリ中にデフォルトで public/…

Akelosでプロジェクトを作ってみる。

Akelosを始めてみました。WinXP+SP2, PHP4.4.7(8じゃないのは開発機だから)で、PHP4で行けるのか試してみます。 ところで、 http://www.akelos.org/download ↑から0.8をダウンロードしてみたのですが、中に入ってるversion.txtの中には0.7.1とか書いてあるん…

basics.php、あなどり難し。

いやー、すごいですね。CakePHPのAPIマニュアルサイト。 http://api.cakephp.org/basics_8php.html basics.phpっていうのはCakePHPが使っているユーティリティ関数がた〜くさん詰まっているファイルなんですが、↑のページにはEnumerationとVariableしか載っ…

アクションメソッドの引数とRouting設定

POSTされた値については $params['data']で取れます。でも、普通にGETパラメータで指定された値は?と調べてみたら、 http://manual.cakephp.org/chapter/configuration ↑のRoute Exampleに載ってました。

Cakeの押しつけルールから解放されるためのメモ

将来自分が嵌っていたであろう箇所を先につゆ払いし、またそれをふまえた所感も激しく同感できそうだったので c⌒っ*゚ー゚)っφ メモメモ 独特のモデルの性質と、コントロールの規約から解放されたい。余計なルールはムシして、わかりやすいように使っちゃうことに…

モデルを使わないコントローラ再考

$usesにばしばし追加してください。逆にモデルを使いたくない場合はclass PostController extends AppController{ public $uses = null; cakePHP モデルなしのコントローラーって作れないの? - WEBぷろぐらま〜 システム開発エトセトラ ・・・えっ 空配列じ…

HtmlHelperのimage()ヘルパー関数での注意事項

cake/libs/view/helpers/html.php の当該関数のソースを確認すれば分かりますが、 echo $html->image($path, $attributes, $return);における$path変数が、絶対URL指定でない('://'が文字列中に存在しない)場合、CakePHPが定めるところのIMAGE_URL定数で示さ…

elementの中やViewの中で、直接リクエストパラメータに触るには

いえ、一番確実なのはそりゃあ、コントローラの中でsetするのが正しいのは知ってますよ?でも、なんでもかんでもそうしなければならないという原理主義は現場の人間には少し窮屈ざんす。例によりバージョンは 1.1.19 です。まずviewやelementの中で使われる …

アプリ独自の定数を管理したいときのメモ

c⌒っ*゚ー゚)っφ メモメモ... アプリ全体→app/config/bootstrap.php コントローラ→app/app_controller.php モデル→app/app_model.php http://blog.hereticsintheworld.com/cakephp/58.html 1箇所でメンテナンスしたいのでbootstrap.phpから設定用のファイルを読ま…

セッションについて

セッションをファイル保存でやらせたいと思った。で、core.phpには /** * If set to false, session would not automatically be started. */ define('AUTO_SESSION', true);とデフォルトでなっていたし、ブラウザのヘッダーを見てても(LiveHTTPHeaders)、ち…

雑感

どこ経由か忘れてしまったけど、昨晩とかは「真・コンピュータ用語辞典」にしっぽり嵌ってしまっていたりした。http://glossary.tank.jp/まあ風刺や洒落ではあるのだけれど。読んでいる間はそれこそ「あ〜〜、あるある」「うう、これ自分のことだぁ・・・」…

Xhwlay-0.9.2を(改めて)リリースします。

前回の0.9.2のリリースなんですが。 http://d.hatena.ne.jp/msakamoto-sf/20080216/12031640970.9.2じゃ無かったです。0.9.1でした。すみません。パッケージファイルとかは0.9.1になってたのですが、SourceForgeに登録したニュースのTitleとかが0.9.2になっ…

DboSource::query()がご丁寧にも勝手にfromのテーブル名を返り値の配列のキーにセットしてくれる件

CakePHP 1.1.19 です。ようやく以下のようなコードで、「さて、どんな構造で返ってくるか・・・。」と試すことが出来ました。 $ds =& ConnectionManager::getDataSource(CAKEAPP_SHOP_ENV); $sql = "select * from hoge where id = " . $ds->value('1'); $re…

Modelを全く扱わないControllerの中で明示的にConnectionManager::getDataSource()で "Fatal error: Class‘ConnectionManager’ not found"エラー発生。

ついに根負けしてCakePHPタグを作ってしまった・・・。えっと、つまり

CakePHP、自分の肌に合わない。

単に自分の感想を述べてるだけなので、CakePHP専用のカテゴリは作りません。以下は生産性0の私的感傷エントリ。

PHP5でphp_mysql.dllをロードしようとすると"指定されたモジュールが見つかりません。"

よく見かけるエラーらしく、Googleに訊くとまぁ一杯出てくること。 要するにlibmysql.dllが見つからなくてロードできなくなってるようです。でまぁ大概は PHP4 : {PHP4_DIR}\dlls\libmysql.dll PHP5 : {PHP5_DIR}\libmysql.dll をPATHの通っているところに置…

WindowsでInstallerを使わずにMySQLをインストールする

個人的な趣味で、MySQLについてはインストーラパッケージではなく、只のzipパッケージを好んで用います。うーん、PHPとMySQLについてはWindowsインストーラバージョンは使いません。なんか気持ち悪いので。Apacheがぎりぎりですね。ともあれ。となりますと、…

mod_rewriteの正規表現でPerl拡張正規表現の文字クラスを使って嵌った。

最初、こんなの書いてたんですよ。 RewriteRule ^(\w)+$ index.php?mdl=$1&%{QUERY_STRING} [L]で、Windows版のApache2ではまともに動いてたんですが、LinuxのApache1.3にあげたら動かなくなって「え〜〜??」となってたんですが。Apache 1.3 : POSIX正規表…

クロージャpatchのWindowsバイナリキタ━━━━━━(゚∀゚)━━━━━━ !!!!!

PHP

無名関数 / function(){ echo "Hello, Anonymous World!\n"; }(); クロージャ / function get_closure($foo) { return static function(){ static $foo; echo $foo; }; } get_current_function_key() / function($n) { $f = get_current_function_key(); …

Xhwlay-0.9.2をリリースしました。

木曜日、仕事でトラブった・・・のだけれど意外とすんなり終わったので、その深夜、0.9.2をリリースしたのを忘れてた。 Fix file locking problems in FileStoreContainer.php and change 'button' tags in "sample" code to 'input' normal submit button t…

過去の自分の亡霊と久しぶりに対峙して、死にたくなった。

2004年とか、まだまだPHPに関して甘ちゃんだったころの自分が作ったWebサイトがありまして。 なんだかんだで結構長く使われてます。で、暫くぶりに改造依頼がありまして、自分のPCにソースやDBダンプファイルを落として環境構築してたんですが。 動かないの…

東証と富士通、頑張ってほしいけど過労死は出さないで。

【速報】東証の新派生売買システムで障害、先物取引の一部が売買停止【続報】東証が緊急会見、「9日からの3連休でシステムを復旧させたい」東証の先物取引システムに障害発生、8日午後の取引停止折角の連休を突如の障害でキャンセルされた関係者および現場の…

sessionのデフォルトファイルハンドラとflock

PHP

PHPでのflockについてこの前調べた。で、PHPはセッションデータをどのように永続化するのかについてモジュール化できるようになっている。これをセッションハンドラモジュールと呼称しておく。PHPはファイルに保存して永続化するファイルモジュールと、ユー…

rpmコマンドオプションメモ

JMANが意外とまとまっていた。 http://www.linux.or.jp/JM/html/rpm/man8/rpm.8.htmlRPMはpoptというコマンドラインオプション解析ツールを使っているらしい。popt自体もrpm.orgの提供。 http://slashdot.jp/developers/article.pl?sid=08/01/06/2053248以下…

初心者のあなたにお勧めするPerl

学校でJAVAだのCだのやっているから、家では休日にさくりとwebアプリを作りたいと思ってPHPの勉強を始めようと思った途端、「PHPはヘボい」と言われる。 ... 心優しいみなさんが初心者のことを思って話してくれてるのはわかります。ただ、それでもこ…

PHPと内部統制対応におけるExcelレガシー問題

こないだのPHPdisブームの中で、PHPとExcelマクロ(VBA)の相似性が語られたシーンがあった。 「初心者にやさしい言語(技術、方法論)の開発」→「本質的な問題の隠蔽と関係者の人口増加の同時進行」→「問題の拡散」というパターンはこれまで何度も繰り返されて…