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

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

PHP

Laravel4 Eloquent ORM SELECTをあれこれ試してみる

前回Createと触り程度をやってみたEloquent ORMですが 今回はもう少し踏み込んで見たいと思います。 Laravel4 Eloquent ORMを試してみる - とあるプログラマの備忘録 クエリを試す get(); //条件参照(比較演算子) $records = Calendar::where('id', '<=', …

Laravel4 Eloquent ORMを試してみる

ドキュメントもしっかりしてるし考えられて作られているなーと思うLaravelですが、 日本で全くといって良いほど流行ってねー() 2年前からあるはずなのになんでこんなに過疎ってるんでしょうかね。。 もっと流行っても良いと思うんですけどね、ステッカー…

Laravel4 DB操作とマイグレーションを試す

とりあえずサーバーにmysqlをインストールしておきます。 設定を行う app/config/database.phpのmysql配列を変更する 'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'dbname', 'username' => 'username', 'password' => 'pa…

Laravel4 バッチ処理を書いてみる

ネイティブアプリのバックエンドでLeravelの導入をしようとしているので スケジューラーで動かすことが前提です。 ですのでバッチモードで動かないとお話になりません。 今回はそんな話 コマンドファイルの作成 $ php artisan command:make LoadInformation …

Laravel4始めました

去年あたりから巷で人気のPHPフレームワーク プロジェクトを属人化させないようにもちょっと触ってみたい所だったのでやってみようと思う。 環境 VPS サクラVPS OS CentOS release 6.3 Apache Apache/2.2.15 PHP PHP 5.5.19 事前にPHPのバージョンを上げる必…

【PHP】Googleの短縮URLAPIを使ってツイートとかのURLを短縮させる

こんなブログ?備忘録?よくわからない物を初めてもう3年以上立ちますが、 なんと20万アクセスという事でありがとうございます!(半分以上ロボットのような気もするんですけど…) 同じような苦しみを味わっている人の些細な助けになれば幸いですが、間違っ…

オブジェクトを配列に変換する

PHP

これもいっつも忘れる。 $object = new stdClass(); $object->a = 'aaaa'; $object->b = 'bbbb'; $object->c = 'cccc'; var_dump(get_object_vars($object));

(3キャリア)携帯絵文字抽出正規表現パターン

なんだかすごいタイトルだなw今日絵文字の抽出ロジックを書く機会があったのですが、 思ったより探し物が見つからなかったので記述 間違っていたら教えてください。 ■絵文字領域(docomo) sjis:[\xF8\xF9][\x40-\x7E\x80-\xFC] utf8:\xEE[\x98-\x9D][\x80-\x…

PHPで切り上げ、切り下げ

PHP

切り下げはよく使ってたけど意外と切り上げの関数って覚えてなかったので覚書切り上げ $hoge = 123.44; print ceil(hoge); 結果 124 切り下げ $hoge = 123.44; print floor(hoge); 結果 123

【PHP】多次元連想配列のソート

PHP

これ考えてくれた人にマジ感謝したい一品 $hoge = array( array('id'=>'3','date'=>'2010.10','name'=>'イカ娘'), array('id'=>'1','date'=>'2010.10','name'=>'それでも町は廻ってる'), array('id'=>'2','date'=>'2010.11','name'=>'百花繚乱サムライガール…

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

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

Smartyでcountを使い演算する方法

たとえばこんな配列を作って これをアサインして、これらを配列のcountを表示して、 それらを演算したいならsmartyではこうやればおk。 {math equation="x + y" x=$arr|@count y=1 assign=con} {$con} こうやると、countも使えて演算もできます。 こんなも…

php 負数を正数にする(絶対値)

PHP

今日ただ-78を78と表示させるだけなんだけど、あれ?なんだっけ? と思ったので、書いておく。 以上

【php】YYYY-MM-DDをUNIXTIMESTAMPに変換するメソッド

UNIXタイムスタンプとYYYY-MM-DDを比較するときとかに使うと便利かも。 _convertUnixTime('2010-07-01'); /** * 日付型をUNIXTIMESTAMP型に変換するメソッド * * @access public */ private function _convertUnixTime($datetime){ $regex = "/(\d{4})-(\d{2…

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

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

Smarty のdate_formatを使ってみる

たぶんここまで来た人はおんなじ悩みで悩んでると勝手に思ってる。YYYY-MM-DD HH:ii:ssのフォーマットでUNIXタイムスタンプを表示させますー。 {$unixtimestamp|date_format:"%Y-%m-%d %H:%M:%S"}

SmartyでインクリメントしてIDを振る。

テーブルとか作って一番左にNoとかやって連番振りたいときに、 まぁphpで処理書いちゃえば委員だけど、 「こちトラすでにオブジェクトに値つこんでんだよ!」って時に使えるテク。 <table> <tr> {foreach from=$obj item="object" name="loop"} <td>{$smarty.foreach.loop.i</td></tr></table>…

月の日数を求めてみた

PHP

たとえば今月の残り日数を求めてみたいときとかに使える。

Smarty で数字にカンマをつけてくれるようにする number_format

金額とか表示させたいときにつかいましょー。 {1234567|number_format} ※注意 パイプの前とか後ろにスペースを入れるとうまく表示されないことがあるから注意が必要!! phpでやりたいならこれね。 print number_format(1234567);

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

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

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…

Samurai FWのgetTotalRowsを使ってみる

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

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

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

関数使っていこう(is_null編)

PHP

最近適当に関数で実装されているものを使わない癖がついてきている気がする。 うん、いやわかるんだけど、せっかっくPHPで実装されているわけだから使うことにします。 ◆今までは if( $test != null){} ってやつをこれからはif(!is_null($test))こうしようっ…

あれ?スマーティーとPHPでIFの記述って違うんだっけ??w

一見何で通らないのかわからなかった。。。。 ○{if $changeFlg == 1}<p>ほげ</p>{/if} ×{if ($changeFlg == 1)}<p>ほげ</p>{/if}これはあわせてもよかったんじゃないか?

PHP:UNIXタイムスタンプをYYYY/MM/DD HH:II:SSに変換する方法

PHP

DBの更新日時などでDBにUNIXタイムスタンプで登録されている場合に変換する必要がある。以下の感じでできる

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

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

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

PHP:MYSQLから取得した値をCSV形式で保存する

html、jsは共通です。 ※今回こちらの問題により、わざとHTMLとPHPを分けています。 以下のソースを改造してください。csv.html <html xmlns="http://www.w3.org/1999/xhtml" lang="ja"> <head> <title>CSVダウンロード画面作成</title> </head></html>