PHP
カレンダーの通販サイト E-カレンダー.comをリニューアルしたので、記録とし、まとめておこうと思います。 以下、リニューアル前の環境。[リニューアル前] サーバーはGMOクラウドPublicのVPS Apache1.3系、PHP5.3、MySQL5系のよくある環境。 Webアプリケーシ…
Laravel4の便利機能のひとつにArtisanというコマンドラインツールが存在します。 プロジェクトルートにて、php artisan ***** とコマンドを打つことで、様々な命令を実行させることができる機能です。 今回は、とりあえず、CSVデータを読み込んで、DBにデー…
Laravel4の正式リリースまであと1ヶ月ちょっとらしい。現在はBeta5の開発段階。 フレームワークとしての仕様もほぼ固まってきて、おそらく、大幅な変更点は無いだろうということでEloquentの新しい機能を紹介します。 コレクション Laravel4のEloquentでは、…
Laravel4のBeta4がリリースされ動きが活発なLaravel。Laravel4のコントローラーの作成とモデルの作成に関する簡単なまとめを残しておこうと思います。[下準備] Laravel4のインストールについては前のエントリーを参照して下さい。 Laravel4で「HelloWorld」…
最近、ようやく、注目が集まってきたPHPのWebアプリケーションフレームワークLaravelのLaravel4 Beta4が リリースされたので、HelloWorldを出力するまでの流れを簡単に書いていこうと思います。【Laravel4のインストール】 Laravel4はLaravel3とは違ったイン…
商品テーブルから削除フラグが0で公開ステータスが1の商品で、更に入力されたキーワードに該当する商品を取得したい where("item_public_status", "=", 1) ->where(function($query) use($keyword) { $query->where("item_name", "LIKE", "%$keyword%"); $qu…
PHPフレームワークのLaravelでキャッシュエンジンをRedisにしてみた。以外と、すんなり言ったので、記事を残しておく。 Redisの概要 オープンソースのkey/valueなデータストア インメモリデータベースで非常に高速に動作する ファイルキャッシュするよりいい…
LaravelのORM Eloquentには、Eager Loadingという機能がある。 モデル内に定義されたメソッドを元に自身以外の他テーブルからデータを引っ張りだしてくれる便利な機能。 例えば、以下の様なECサイトのテーブル構成でイメージしてみる。商品テーブルにはimage…
Laravel3.1になり、Bandle(プラグイン)として提供されていたSQLプロファイラーのAnbuが標準で組み込まれることになり、LaravelでもCakePHPのようなSQL実行結果が簡単にわかるようになったようです。このプロファイラーはCake同様、ページの下部に固定される…
LaravelのORMには特定のフィールドに対して、ちょっとした処理を加えて、データを保存できたりする便利な メソッドがあります。わかりやすいのは、パスワードを暗号化して保存したい場合。 $user->password="password" としてやるだけで、文字列が暗号化され…
Webアプリでは欠かせない重要な機能。入力値の検証いわゆるバリデーション。もちろん、Laravelにも、バリデーション機能があるわけで。 一応、備忘録として、日本語化の方法なども含めて、簡単に残しておこうと思う。 下準備 application/config/application…
application/config/error.php array(E_NOTICE), ?> と書いてやればいい。
PHPのフレームワーク「Laravel」のコントローラーの簡単な使い方とBladeテンプレートについて、備忘録も兼ねて残しておく。 Laravelのインストール方法については、割愛。ダウンロードして、この辺を参考にすれば、基本どうにかなるので。 コントローラーを…
FuelPHPを勉強してみたが、ORMがなんとなく、気に入らなかったので、他のフレームワークを探してみると、気になるフレームワークを発見。それがLaravel。なんて、読むのかは知らない。ララヴェル?公式サイトは以下のとおり。 http://laravel.com/[概要] Lar…
リクエスト関連の情報 http://example/index/list/でアクセスした場合 コントローラー名の取得 Request::main()->controller "index"ではなく"Controller_Index"というコントローラークラス名が返ってくる。 "index"という名前を取りたい場合はRequest::main…
Yiiでオリジナルの設定項目を記述 PATH_TO_PAPP/protected/config/main.phpに "params"=>"params"=>require(dirname(__FILE__)."/params.php") を記述。 同じディレクトリにparams.phpを作成 params.phpで連想配列を返すようにする。 "Yii PHP Framework", /…
ECサイトを運営していると、入荷情報や在庫の情報はこくこくと変わっていきます。 そのたびに、サイトの更新情報として、1ページ書き上げるわけにもいきません。 で、今更ではありますが、Twitterでなにかできないかと思い、ECサイト×Twitterの簡単なサンプ…
Zend_Db_Table_RowクラスのfindManyToManyRowsetメソッドの仕様が変わってしまったため、中間テーブルのデータが取得できないという事態に陥った。 原因はZend_Db_Table_Row_AbstractのfindManyToManyRowsetメソッド内にある一行。 以前は、Zend_Db_Select::…
ここ最近よく見かける言葉で「ドキュメント指向型データベース」なんてのがありますが、正直、従来のRDBMSとどう違うのかさっぱりわからない。 で、このドキュメント指向型データベースの代表格がCouchDBとMongoDBなんですが、自分なりに調べてみた結果、Mon…
Smarty2系で使用されていた関数名はcamelCase形式になる。 代表的な例 assign_by_ref($tpl_var, &$value) assignByRef($tpl_var, &$value, $nocache = false, $scope = SMARTY_LOCAL_SCOPE) nocacheがtrueだとキャッシュされない。携帯サイトのセッションID…
nocacheブロックでキャッシュを無効にする {nocache} {$var} {/nocache} 変数出力の際にnocache属性をつける {$var nocache=true} または {$var nocache} asssignの際の第三引数をtrueにする $smarty->assign("var","Grate!",true); {$var}
SELECTでIN()を使う場合 tableオブジェクトに対してWhereの指定を行う fetchAll($table->select()->where("item_id IN(?)",$idList)); var_dump($rowset); ?> UPDATEでIN()を使う場合 tabl…
Zend FrameworkのO/RマッパーでもあるZend_Db_Tableを使ってテーブルの連結を行う。 商品テーブルと関連テーブルを連結して、関連商品を取得するサンプル。
_table->getAdapter()); $lm->doInsertLo…
全200件を10件/1ページ毎表示する場合。 Zend_Paginator::factoryで総合件数を指定。 setCurrentPageNumberメソッドで現在のページ番号を指定。 setItemCountPerPageメソッドで1ページあたりの表示件数を指定。 setCurrentPageNumber(1); $pager->setItemCou…
application.iniに以下のように追記 [production] resources.frontController.noViewRenderer = true
カレンダーの通販サイト「E-カレンダー.com」をシステムをPHPフレームワークで全面リニューアルした。以前までは、Javaのサーブレットっぽいフレームワークっぽいものを使っていたのですが、それだといろいろと効率が悪いということで、 全ての処理を見直し…
Zend_Db_TableでO/Rマッピング準備編の続きです。 テーブル定義や宣言したクラスなどは事前にご確認ください。[ここでやりたい事] 新規に商品を追加する(行の追加) 商品情報を更新/削除する(行の更新/削除) もちろん、SQLは一切、書かない ■商品の追加(行の…
Zend Frameworkに同梱されているZend_Db_Tableを使ってO/Rマッピングにチャレンジしてるが不慣れなため、 まだまだ使いこなせていない。 現時点で、Zend_Db_Tableを使って実現できた事と、実現できていない事を簡単にまとめておく。[DB設計] 架空のECサイト…
ここ最近、翔泳社がPHPのフレームワーク本を立て続けに出している。 CodeIgniter、CakePHP、そして、今度はZend Framework。 となると、今度は大穴でrhaco?やっぱり、書籍化されるかされないかってのは大きいと思う。 今後も、翔泳社の本は要チェックだ。Ze…