読者です 読者をやめる 読者になる 読者になる

とあるプログラマの備忘録

都内某所に住むプログラマが自分用に備忘録を残すという趣旨のブログです。はてなダイアリーから移動しました!

SmuraiFW

【環境構築】Samurai備忘録

もうね、私環境構築嫌いっすよw 毎回毎回あーこれなんだっけなー?なんていいながら1年位昔に調べた 内容を再度調べるとかもう不毛っ!ってことで備忘録 ■最初の最初とりまユーザー作る useradd <名前> passwd <名前> ■Git関連gitが入ってない場合は適当に入れ…

【SamuraiFw:MySql】SQL_CALC_FOUND_ROWS オプションと FOUND_ROWS()

今流したSQLのレコード数を取りたい時ってありますよね、 foreeachでまわして取ればソースが汚くなるし、 count(*)で取得すると今度はもう一回同じクエリを投げないといけなくなるので、 性能が落ちる。こんな時はSQL_CALC_FOUND_ROWSを使えばcount(*)よ…

【SamuraiFW】.ymlファイルに直接問い合わせる

たとえば/component/yml/test.ymlって設定ファイルを作って、 こいつに直接問い合わせたい場合は $test = Samurai_Yaml::load(/component/yml/test.yml); var_dump($test); こんな感じで問い合わせ可能。

Samurai FWで OR連結句を書く

よくやる手法です。以下の用に書きます。 //こんな配列があったとしてこれをOR連結したい $arr = ('win32','winXp','winVista','wix7'); $condition = $this->AG->getCondition(); //OR句の初期化 $condition->where->test = $condition->isOr(); //まわしな…

SamuraiFw でLIKE文を書く!

like文の書き方 $hoge = '対象'; $cond = $this->AG->getCondition(); $cond->where->name = $cond->isLike("%".$hoge."%");

SamuraiFWでLIMIT文を書いてみる

LIMITを書く機会があったので覚書 $cond = $this->AG->getCondition(); $cond->setLimit = (10) $cond->setOffset($this->Request->get('page', 1)); setLimitは取得件数、このsetOffsetの第一引数でページングの処理がついでにできる。 もし$this->Req…

SamuraiFwのスケルトン機能を使ってみる

スケルトン?って感じでしたが、 用はsamurai add-actionとかで作成されるデフォルトのテンプレートを雛形として 変更できるってことです。場所は、/skeleton/直下にいろいろなスケルトンがあります。 たとえば自動生成されるactionを変更したい場合は/skele…

SamuraiFwでコンバーターを使って見る。

Validateは結構使えるようになってきたところで、 たとえば、ユーザーが全角数字を入力したけど、エラーで半角数字で登録してください。 って言うのは結構簡単にできるんだけど、 それをユーザビリティをあげるために全角数字を半角数字にコンバートするとか…

SamuraiFwでテンプレートを作成しないActionを作る方法

たとえばdispatch専用のActionを作成したい場合は以下のようにコマンドを使って作成する。 $ samurai add-action actionname --no-templateこうすればテンプレートファイルを作成しないでactionを作成することができる

SamuraiFwのFilter機能をつかってみる!

たとえば簡単なサイトでも定数とかって使うと思うんですけど、 じゃぁその定数とか設定ファイルを置くのってどこよ?ってなると結構意見が分かれますよねー。今回も、実装時にそんな疑問にぶち当たって、 「どこにおけばいいんだ?」 つか定数以外でも全画面…

SamuraiFwのテンプレートにcssファイルを反映させる

本来samuraiFwにはsamurai.cssというcssファイルが以下のパスに存在していますが、 /www/samurai自分のCSSを使いたい場合はこのwww直下にcssという名前のファイルを作成して、 そこに自分のcssファイルをおきます。後は自分テンプレートファイルのメタタグを…

SamuraiFw 講習会 その二

前回の講義でspecとmodelを実装しましたー。で、必要なtableをすべて作成して、 specを用意して、modelを作成してエラーがぜーんぶ出なくなったら。いよいよ画面の実装に入っていきます。 っとその前に必要な編集があるということなので、まずはそこからやっ…

ActiveGatawayレコードのSUM値を取得する!

たとえばmoneyカラムの合計値を取得したい場合。コンディションは以下のような書き方でおk。 $cond = $this->AG->getCondition(); $cond->select = 'SUM(`money`)';ちなみにエイリアスをつけることできる。 $cond->selecrt = 'SUM(`money`) as totalmoney';…

SamuraiFw 講習会 その一

前回までに行ったことで、SamraiFWを動かすことができてるはずです。 さて、これから私か勉強がてら作るのは家計簿システムです。実際なんでもいいのですが、前に自前で作成したことがあったのですが、 それはPHPでべたで書いていました。それを今回SamuraiF…

VMware + Fedora13 + PHP + MYSQL + APACHE + SamuraiFwの環境構築 その五

VMware3.1 + Fedora13 for windowsXP(windows7でも大丈夫だよ。)テスト環境然り、自分で好き勝手する環境を作成する方法を教えてもらったので覚書。●用意するものVMware-player-3.1.0-261024.exe //VMwara本体ネットからダウンロードFedora-13-i686-Live.is…

VMware + Fedora13 + PHP + MYSQL + APACHE + SamuraiFwの環境構築 その四

VMware3.1 + Fedora13 for windowsXP(windows7でも大丈夫だよ。)テスト環境然り、自分で好き勝手する環境を作成する方法を教えてもらったので覚書。●用意するものVMware-player-3.1.0-261024.exe //VMwara本体ネットからダウンロードFedora-13-i686-Live.is…

VMware + Fedora13 + PHP + MYSQL + APACHE + SamuraiFwの環境構築 その三

VMware3.1 + Fedora13 for windowsXP(windows7でも大丈夫だよ。) テスト環境然り、自分で好き勝手する環境を作成する方法を教えてもらったので覚書。 ●用意するもの VMware-player-3.1.0-261024.exe //VMwara本体ネットからダウンロード Fedora-13-i686-Liv…

VMware + Fedora13 + PHP + MYSQL + APACHE + SamuraiFwの環境構築 その二

VMware3.1 + Fedora13 for windowsXP(windows7でも大丈夫だよ。) テスト環境然り、自分で好き勝手する環境を作成する方法を教えてもらったので覚書。 ●用意するもの VMware-player-3.1.0-261024.exe //VMwara本体ネットからダウンロード Fedora-13-i686-Liv…

VMware + Fedora13 + PHP + MYSQL + APACHE + SamuraiFwの環境構築 その一

VMware3.1 + Fedora13 for windowsXP(windows7でも大丈夫だよ。) テスト環境然り、自分で好き勝手する環境を作成する方法を教えてもらったので覚書。 ●用意するもの VMware-player-3.1.0-261024.exe //VMwara本体ネットからダウンロード Fedora-13-i686-Liv…

Samurai FWのgetTotalRowsを使ってみる

適当にDBから値を取得してobjにレコードが入っているとき。画面でもしも対象レコードが0だったら 「取得できませんでした」的なアラートをあげたいときってありますよね。そんなときはこれ。 getTotalRows これはActiveGataWayで取得したレコードの数が取れ…

SamuraFw でレコード取得時の大なり小なりを実装する

ある値と比較して大きいレコードを取得したいとかその逆とか実装してれば必ず必要になることだと思いますが。 今日はそんな備忘録。今まではこんな感じで書いていた。 ※前提としてoptionclassを実装していて、optionテーブルにはidカラムが存在しているとし…

SamuraiFw DBの降順での取得(ORDER BY)

→データ取得方法上記のような取得方法にプラスまぁ実装していれば必ず必要になるソートの方法 DateTest->getCondition(); $helpCon->where->active = "1"; //ソート条件はidのDESC $helpCon->order->id = 'DESC'; //アサイン $this->testValue= $this->DateT…

SamuraiFW requestパラメータを取得する

あれれ?samuraiFwはgetもpostも同じ扱いになっています。ってのはわかっていたんっだけどなぜかし得できない。なんでだろうなぁ〜? Request->id; ?> これかなり忘れがちだけど以下が正解 Request->get('id'); ?> よくつまずくorz

SamuraiFWのActiveGatewayの使用時によくつまずく場所

Samurai FWでではORマッパー的なことを結構しっかりやってくれる。 個人的にはiBatisといい勝負するくらいがんばってると思う。 でも最初に使うときにはいろいろやることがあるので、結構面倒になることがあるので、 備忘録的にここに残しておくことにするま…

SmuraiFWのymlファイルで入力チェックをおやってみる

samurai.yml Validate: name.required : '名前を入力してください' View: invalidInput : 'action:diary_update_manager'これでフォームの名前がnameの必須チェックができる。 この入力チェックに引っかかった場合にはinvalidInputがreturnされるので、View…