2011-01-01から1年間の記事一覧
今回は作成したテーブルにデータを登録し、モデルからDBのデータにアクセス可能かユニットテストを使って検証します。とりあえずテスト概要を読んでおいてください。PHPUnitをインストールしていなければしといてください。 テスト計画 まずどんなテストをす…
今回はモデルを作ります。 Gii準備 yiic shell のコード生成機能は、バージョン 1.1.2 以降、非推奨(depricated)となっています。 http://www.yiiframework.com/doc/guide/1.1/ja/quickstart.first-app-yiic とのことなのでyiicを使わずGiiを使ってモデルを…
初見の人がリレーショナルアクティブレコード - ガイドをみてテーブルを作成しモデルを作成しリレーション定義しそれを検証できるんだろうか、ガイド記事は断片的過ぎやしないか、横断的なまとまった情報ほしいなあ、と思い書いてみました。。 yiiのカイドペ…
PHP環境をVC9に統一するため、xampp1.7.5-beta2を使うことにしました。が、またまたPHPUnitインストール手順に嵌りました。 下記のサイトを参考にさせていただき、次の手順でインストールに成功しました。ありがとうございます。*1 手順 コマンドプロンプト…
明日の自分へ。たぶん思い出せないだろうから書いておきます。 PHPUnitインストールしておきましたよ。 VC9にするためxampp1.7.5betaにしたのは知っていました、が、諸々アップデートを怠っていましたね。PHPUnitインストールしておきましたよ。使うんでしょ…
yii1.1.8 リリースとともにガイドのリレーショナルアクティブレコードページが更新され、英語ガイドページとの同期が取れました。これまで、日本語ガイドと英語ガイドを行き来して面倒だったんです。翻訳の皆さんありがとうございます。リレーション宣言で特…
昨日の続き テーブルプレフィックス console.php で tablePrefix を指定したとき、マイグレーションのテーブル名を「{{」「}}」で囲むと、プレフィックスつきでCREATEしてくれました。 array( : 'db'=>array( : 'tablePrefix' => 'test_', ), ), ); c…
使い方はガイドをみれば大体わかるはず。なので、ちょっと引っかかったことを残します。 接続先はconsole.phpのDB yiic migrate は webapp/protected/config/console.php の DB を使う。yiic model は main.php の DB を使ったので油断してました。 カラム型…
yiiでファイルアップロードしてみる。アップロードしたファイルはMySQL BLOBに保存する。 テーブルを作る create table `file` ( `id` INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, `name` varchar(255) not null, `type` varchar(64) not null, `size` fl…
うーん。yiiへの期待のひとつに、PHPUnitが使えてPHPUnitのモックを利用できることがあったのですが、厳しい感じです。id:hiromi2424:20110306 にあるような、サービスレイヤを設けたいのです。がががががががががが、Yiiは、CakePHPのClassRegistryのような…
今日も粛々とyiiする。 yiic で生成したモデルをテストする必要はないと思いますが、サンプルとして残しておきます。 Saveのテスト テストケース yiiprac1\protected\tests\unit\UserTest.php にtestSaveメソッドを加える。 'User', ); public function test…
Yii PHP framework 1.1.7がリリースされました。 Yii PHP framework 1.1.7 is released RESTful URL Support Query Caching Parameter Binding for Class-based Actions Seamless Client-side Validation Passing Parameters to Relational Named Scopes Usi…
CakePHP1.3 コントローラを多段継承したとき、各コントローラーが依存するコンポーネントをそれぞれの $this->componentsに書くと、中間層コントローラのコンポーネントがロードされません。 依存するコンポーネントをAppControllerに指定してしまうと、使わ…
PHPUnit Windows XAMPPなのでここを参考にしました。 First off I'm assuming xampp is installed to C:\xampp 1. Open a command prompt and go to C:\xampp\php 2. Type "pear update-channels" (updates channel definitions) 3. Type "pear upgrade" (up…
前回、Yii Debug Toolbarを使ったのはページネーション化したとき想定外のDBアクセスがないか確認したかったからです。今回は本来の目的であるページネーション化をしてみます。 カテゴリをYiiFrameworkからYiiへ変更しました参考 yii forums - yii初心者の…
yiidebugtbというエクステンションを使ってみる。CakePHP DebugKitみたいなものか。 インストール yiidebugtbとかyiidebugtb - yii extensionsとかから持ってくる。 解凍し、/webroot/protected/extention 下にコピー。 /webroot/protected/config/main.php …
YiiFrameworkを使ってみる1h/dayシリーズ7回目。当面の目標はCRUDを自前で実装すること。今回はupdate。ここまでくれば迷わず書ける。 Updateを実装する user2 indexビュー updateへのリンクを追加 <h1>user2/index</h1> <p> </p> <ol> <li> id; ?> </li></ol>
YiiFrameworkを使ってみる1h/dayシリーズ6回目。当面の目標はCRUDを自前で実装すること。今回はcreate。 CHtmlでフォームを作成する user2 createアクション コントローラーにcreateアクションを追加。 render('Create',array( 'user'=>$user,…
$_GET, $_POST, $_SESSION には直接アクセスしないっぽい。CHttpRequestを参照。 CHttpRequest::getQuery $_GETでなくCHttpRequest::getQueryを使う。
YiiFrameworkを使ってみる1h/dayシリーズ4回目。当面の目標はCRUDを自前で実装すること。今回はdelete。 コントローラ 1件deleteし、indexへredirectする。 yiiprac1\protected\controllers\User2Controller.php findByPk($_GET['id']); $user->delete(); $t…
YiiFrameworkを使ってみる1h/dayシリーズ3回目。当面の目標はCRUDを自前で実装すること。今回はviewページを作る。 indexビュー viewへリンクする。idをgetで渡す yiiprac1\protected\views\user2\index.php <h1>user2/index</h1> <ol> <li> id; ?> username, array('u</li></ol>…
Userを一覧表示するページを作る。前回yiicを使ってCRUDページを生成した。まずはindexページを作れるようになることが今回のゴール。ただしモデルはyiicシェルで生成したものを使いまわす。 コントローラーのみ コントローラー作成 yiiprac1\protected\cont…
業務で使っているCakePHPの鈍重さが辛くなってきた。ので軽そうなYii Frameworkを試してみる。以下ガイドをなぞっているだけなので読む価値はありません。 Yiiは高性能、コンポーネントベースのPHPフレームワークで、大規模なウェブアプリケーションの開発に…
前回まで 前回は、シャードを2つ登録し、10万件のドキュメントを登録した。ドキュメントは全てshard0000に登録された。データを確認する。 > db.emails.count(); 100000モデル的にはユーザー:10 の受信箱には 4000件のメールがあり、送信箱に1000件のメール…
最近MongoDBに取り組んでいます。これは、1台のwindowsマシンで2つのシャードを立ち上げたときのメモです。大量emailデータをMongoDBで管理することを想定しています。 MongoDBのインストール方法は データディレクトリ作成 コマンドプロンプトから実行しま…