Home > ORM

ORM Archive

【PHP】PDOx_Lite

この間書いたブログの通りPDOxというPDOを拡張したものを作ってみてます。

まずはPDOx_Liteというのを作ってます。
ちなみにDBIx::Liteとは何の関係もなく、ただ一番初めだったからLiteというのをつけてみただけです。
コードはgithubにあげてますが、まだversion0.01くらいな感覚ですね。

基本的なCRUDはあります。
まだまだ足りないところだらけで、いきなりLiteじゃなくなったりするかもしれませんがちょっとずつやっていこうと思います。

話は変わって、最近テストに関しても調べているんですが、その中でcodeceptionというPHPのテストフレームワークを見つけました。
まだPHPUnitもよくわかっていない情弱っぷりなので触れていないんですが、これを作ってるcodegyreというデベロッパーチームのサイトがかっこいいです。
僕もいつか誰かとデベロッパーチームを組んでみたいなと思ったりしてます。
テストフレームワークと将来のちょっとした夢の紹介でした。

【PHP】ORMに関して

約8ヶ月ぶりに更新します。
といっても対した内容でもないです。

去年からORMに関してちょっとずつ調べていて、PHPで簡単なORMを作れないかなというのを考えています。
既存としてあるものはPDO(ORMと読んでよいのかわからないが…)、ADOdb、php-activerecord、Doctrine、Propelなどがあります。
php-activerecordはcodeigniterでDoctrineはSymfonyで利用されています。
自分としてはもっとライトにPDOをラップしたものを作りたいと思います。

というのもPerlのDBIをラップしたDBIxという名前空間がついたモジュールがライトなものからディープなものまで多数あり、これをPHPでも実現したかった為です。
いきなり大きなものは作れないので小さなことからコツコツやっていこうと思い作ることを決意しました。

名前空間はPDOxというものを使って作っていこうと思います。
と思って調べていたらmagicalhatさんPHP-PDOxSkinnyというのをgithubにあげていました…

似たような感じにはなるとおもますが、ちょっとずつやっていこうという決意のブログです。

【php】【symfony】【doctrine】各種マニュアルを読んでみる(6日目)

ちょっと期間が空きましたが時間を見つけて読んでおります。

■進捗状況
・PHP:特になし
・symfony:特になし
・Doctrine:Data Validation

Doctrineに悩まされる日々が続いておりますな。

【php】【symfony】【doctrine】各種マニュアルを読んでみる(5日目)

だいぶ期間は空きましたがまだまだ読んでいます。
そして今回はDoctrineに関して再度マニュアルを読みました。

■進捗状況
・PHP:特になし
・symfony:特になし
・Doctrine:Component Overview

レコード、テーブル、コレクションの違いをはっきり意識して開発を進める事は大事だな。
具体的にuserテーブルというのを作成したとすると以下の様な継承関係になる。

■Doctrineオブジェクト
○レコード
– User.class
∟BaseTUser.class
∟sfDoctrineRecord
∟ Doctrine_Record

○テーブル
– TUserTable.class
∟ Doctrine_Table

○コレクション
– Doctrine_Collection

【php】【symfony】【doctrine】各種マニュアルを読んでみる(3日目)

さて、3日目にしてそろそろしんどくなってきました。
PHPに関してはとびとびで読んでいこうと思います。

■進捗状況
・PHP:トレイト
・symfony:第5章 – symfony を設定する
・Doctrine:Component Overview

トレイトに関しては別途記事を書いたのでそちらを読んで下さい。

Symfonyは3~5章を読みました。
以下に軽くまとめます。

symfony1.4に関して(3章から5章)

  • PHP 5.2.4以上が必要
  • 3章はsymfonyのインストール方法などを説明
  • 簡単に使いたいのであればサンドボックスがある為そちらを使う

  • 4章では簡単なページを作ってる(Hello, World!)
  • ページはアクションとテンプレートで構成される
  • リクエストはsfWebRequestクラスで扱う

  • 5章では設定ファイルとキャッシュに関しての説明
  • 設定ファイルはデフォルトでYAML形式(変更可)
  • 設定ファイルはキャッシュされる
  • 環境毎にアプリケーションを分ける事ができる(prod, dev, test)
  • 環境の切り分けはフロントコントローラ(index.php, frontend_dev.php)で行われる
  • 設定ファイルは沢山あってすべてを覚えるのは大変そうだから一つづいこう
  • 設定ファイルのパラメータはsfConfig::get()で設定でき、sfConfig::set()で書き換える事ができる
  • 設定ファイルの中で違う設定ファイルの内容を読み込む事もできるが、ファイルの読み込む順番があるから気をつける

ホーム > ORM

Search
Feeds
Meta

Return to page top