‘CakePHP’ カテゴリーのアーカイブ

Cakephp Authであるページだけ無効になる。

2010 年 9 月 23 日 木曜日

CakePHPでAuth認証処理

コンポーネントのAuthを利用して
うはwww簡単すぎwww

と調子にのったところで天罰が下りました。

あるページだけ、言わばあるControllerだけなぜか、セッションのUser情報が取得できない。
OKなControllerとNGなControllerを見比べても同じにしか見えない。
Modelクラスが原因かしらと見比べても同じ。

デバッグしてたけどよく分からない。
どうやらセッションが消えてる(実際には存在するから無効)になっているらしい。

Authで検索しても同じ現象がない。
うーむ、うーむとそれらしい単語で検索してたら見つけた。

余計な改行は命取り

たしかに、問題のControllerには
PHPの最後の

?>
の下に改行があり、それを削除したら直った。

閉じタグを入れないお作法があるけど、僕は入れたい派。
気分的に気持ち悪いので。。

同じような問題ではまる人もいるのでブログ記事に起しました。
運良く検索に引っかかって、解決の一助になれば光栄です。

CakePHPでBASIC認証

2010 年 1 月 16 日 土曜日

以前、途中まで作っておいてほっぽいといたサイトがあるので
時間があるうちに作ってしまえと、軽くやっとります。

CakePHPは思いつきから作成まで壮絶に早いフレームワーク(自分の中では最速だと思います。。。)
で、まぁ、基本的なマスタ管理サイトなんてやったら、3分ぐらいでできます。
ペヤングソース焼きそばにお湯をいれて待っている間に作れます。

ちなみに、ペヤングは大好物です。
日本に帰ったら、かならず超大盛を食べます。あの体に悪そうな感じがいいですね。
一応コンビニで買ったら、ワカメサラダも一緒に買って、少し体を気づきますが。

で、あんまり話がそれるとマズイので戻してですね。
一応管理サイトだと、公開しちゃまずいだろ。ぉい!
的な感じなのでBASIC認証をつけときます。

Google先生はどこにもリンク張られてないのに嗅ぎつけて検索結果にのせやがったりしますので(以前やられました)
実は必須です。

appフォルダ直下にapp_controllter.phpを置いて



class AppController extends Controller {
var $components = array(’Security’);

function beforeFilter(){
$this->Security->loginOptions = array(’type’=>’basic’);
$this->Security->loginUsers = array(’ここにID’=>’ここにパスワード’);
$this->Security->requireLogin(’*');

}

}




はい、終了。

雪降った

2009 年 11 月 16 日 月曜日

今年、初雪。
今年は早すぎるわ。
一日中降ってるが、夜までにやんで欲しい。
夜中も降ったら積もって、交通麻痺しちゃう。

ところで、金曜日、仕事終わってからお弁当注文システムの中国語版を作成した。
さすが、Cakephp、ローカライズが簡単すぎる。

CakePHPの場合は、既存のメッセージを、グローバル関数の__(’ここにメッセージ’,true)で囲ってあげ、
あとはコマンドラインから全部のメッセージを抽出して、翻訳してあげればOK.
ああ、楽チン。

1.既存のメッセージを__(,true)で囲む(うしろのtrueはecho出力しないためのもの、省略するとecho出力)
2.コマンドラインでcakephp>lib>consoleを開いて cake i18n -app appフォルダの絶対パス
3.Extractを選択、対話方式で聞かれるけど、全部デフォルトでOK
4.app>localeフォルダにdefault.potファイルがあるので、それをlocale>chi>LC_MESSAGESにコピー。拡張子をpoに変更(中国語の場合は、’chi’です)
5.poedit(フリーソフト)で開いて、訳文を入力
6.app_controller.phpのbeforeFilter関数あたりに以下を追加
App::import(’default’, ‘l10n’);
Configure::write(’Config.language’, ‘chi’);
7.以上でOKだが、日本語と中国語を切り換えたいので、セッションに言語設定を保存してそれを元にして
‘chi’,'ja’を切り換えるようにした。(右上の国旗ボタンクリックでセッション書き換え)

ポイント換金、つぶやき機能追加

2009 年 10 月 21 日 水曜日

お弁当注文管理システムに
ポイントの換金とつぶやき機能を追加しました。

つぶやき機能なんていらないんだけどね。
とりあえず、mixiにもtwitterをまねた機能ついてたし、
その流れに気持ちだけ乗っかってみた。


しかし、仕事終わってから、なにやってんだ、、俺は。。w

仕事終わってから本気出す

2009 年 10 月 16 日 金曜日

仕事終わってから
例のお弁当注文システムにポイント機能追加。

お弁当を注文すると、ポイントが付与されて、ポイントがある程度たまると
無料でお弁当がもらえます。

このシステムを利用しての注文が多くなり、
お弁当屋さんが、値段を割引くれるようになったので
それをポイントに換算してみんなに分配するようにした。

ついでに、cronでDBの内容を毎日バックアップするようにした。
ぶっちゃけ、仕事より集中してやった(ぉぃ)

CakePHPの本が届いた。

2009 年 9 月 7 日 月曜日

同僚に日本から買ってきてもらった。

うれしいな。
めくりたい気持ちを抑えて、お仕事、お仕事。。

ところで、以前買ってきた小エビが変なにおいを発し始めたので
洗って、よく熱を通して食った。

無理やり大量に食ったから気持ち悪い。。

Rubyの本がマウスパッド

2009 年 9 月 7 日 月曜日

最近、Rubyやってません。

CakePHP大好きっ子になっています。

Rubyの本はいま、マウスパッドになっています。
ついでに、「人月の神話」も一緒に。

うむ、いい厚み。。

XREA でPEARを動かす

2009 年 8 月 12 日 水曜日

絶対、忘れて嵌るので、メモ書き。
XREAではモジュール版PHPがセーフモードで動いているので、動かないPEARモジュールがあるらしい。
今回はHTTP_Clientが動かないで嵌りました。

pear listして、、、、ある。

何?reuireすると見つからんの??

と思って、調べても、、、ある
require_once 'HTTP/Client.php';
var_dump(class_exists('HTTP_Client'));
?>
結果:
bool(true)

・・・どーなってんねん。

訳分からんけど、あるけど、動作しないってこと??

CGI版PHPとして動かしたら大丈夫だった。
PHPをCGIとして動かす方法について

同じフォルダに.htaccessを作成して

AddHandler application/x-httpd-php5cgi .php

の一行を追加すればOK.(例はCGI版PHP5で動かす場合)

あー、嵌った。。ちくしょう。。

そういえば、この前、また、CakePHPのValidateができねぇ!って嵌ったし
※Modelの文字コードがUTF-8でなかったため日本語メッセージの部分でエラーになり、
formヘルパー($form->errorメソッド)の内部でエラーメッセージの結果を戻せなくなってた。

結局、Modelの文字コードがs-jisだったからUTF-8にして直ったけど、
この件は、以前も嵌った気がするのよね。なんど嵌るんだか。。

お弁当注文管理システム・デザイン変更

2009 年 7 月 2 日 木曜日

昨日、帰り際にこそこそっとデザイン変更。



洗○屋ケンちゃんを意識して命名したけど
気づくわけないな。。
この話題が通じるのは30以上男子に限るし。。

お弁当注文管理

2009 年 6 月 27 日 土曜日

徐々にユーザが増えてきた。

増えてくると、要望が出てくる。
で、機能追加するんだが、あとから機能追加すると
あ?、設計こうしておけばよかった。。ってのが出てくる。

なんでも作ってみると勉強になるね。
一通りのことができるように作るのは誰にでもできる。
それ以上はノウハウだねぇ。