MongoDBでPHPのセッション管理をする
MongoDBはNoSQLと言われるドキュメント指向データベースとして有名です。
以前個人的にsymfony1系でのセッション管理をMongoDBで行うsfMongoSessionStrageというのを書いたのですが、もっと汎用的にインクルードするだけで普通のPHPスクリプトでも使えるように書き直してみたので紹介したいと思います。
メールでお手軽デバッグ
PHPは必ずと言ってよいほど配列を多用することになります。なのでどのような配列になっているのかをちょっとデバッグしたいということは多々あります。このようなデバッグをしようとするとまず最初に思い浮かぶ関数がprint_rやvar_dumpです。
ブラウザやコンソールの画面に直接変数の内容を出力して確認できるのでお手軽なデバッグ方法です。
Wordpressのテンプレートでsymfonyを使う
symfonyで開発しつつ、ブログ部分についてはsymfonyでゼロから開発するのではなく、既に使い慣れたWordpressを使えたら便利ですよね。
このWordpressとsymfonyの連携方法について実際にやってみみたので紹介してみたいと思います。
具体的にはWordpressとsymofnyでテンプレートの共有し、ナビゲーションのHTMLを共通化するなどの処理やWordpressのテンプレートでsymfonyアプリでログインしているかどうかの情報で記事を出し分けるなどの処理の方法を見てみます。
960.gsでCSSが苦手な人でも簡単段組みデザイン
開発者にとって大変なこととは開発をすることよりも大変だと思うことがあります。それはデザインに関する部分です。
たとえば、私にとって3段組みのモックのHTMLを主要ブラウザできちんと表示されるCSSで奇麗に何の資料も見ずに作成することはとても至難です。
知識はありますが、全てを正しく記憶しているわけではないので時間が掛かります。
デザイナーさんに頼めば済むといえばそれまでですが、ちょっとしたアプリケーションを作ってみたいなど開発できる人がCSSを使えるメリットは大きいと思います。
というわけで、CSSを簡単に利用できるCSSフレームワークは数多くあるのですが、私が個人的に気に入っているCSSフレームワークである960
Grid System(960.gs)について紹介したいと思います。
Google Analytics APIを使ったアクセスランキング表示
Google Analyticsを導入するという選択肢はとても一般的なものになりました。
多くのサイトではGoogle Analyticsタグを記述し、管理画面に入り日々にらめっこしている管理者の方も多いと思います。
このように、ユーザーのアクセス数や動向を確認することができるのがGoogle Analyticsの一番の特徴ですが、それ以外にもAPIを使うと簡単に実装できることがあります。
その1つとして「Google Analytics APIを使ってアクセスランキング数を表示する」方法について紹介したいと思います。
PHPUnit と Selenium RCで機能テストをやってみる
PHPのテストライブラリとしては一番有名どころのPHPUnitと実際のブラウザをJavaScriptを使って画面遷移をテストすることができるSelenium RCを使って実際に結合テストを行ってみたので今回紹介したいと思います。
Doctrine2を試してみる(5) Timestampableを実装してみる
多くの機能が実装されているDoctrine2ですが、この4回のブログ記事で大体の扱い方は見えてきたように思います。
今回はDoctrine1であったビヘイビアの機能がどうなったのかを見てみたいと思います。
Doctrine2を試してみる(4) リポジトリ
1回目で触れましたがDoctrine2ではロジック処理をリポジトリクラスに集約しておくことができます。
1エンティティごとに1リポジトリを指定できるようになっているようです。
このリポジトリの中にDQLを閉じ込めてメソッドを定義しておくことで見通しのよいコードになります。
Symfony2のDoctrine2のドキュメントではDQLをアクションに書いている例なので「あれれ?」と思ったのですが、リポジトリを使えばちゃんと外だしできます。
Doctrine2を試してみる(3) リレーション
前回はDoctrine2のアノテーションについて簡単に触れてみました。
今回はそのアノテーションをフルに利用したDoctrine2のリレーション設定とその利用方法について見てみます。
Doctrine2を試してみる(2) アノテーション
前回はDoctrine2のインストールとエンティティマネージャを使ってみました。
今回はエンティティとアノテーションについて見ていきたいと思います。
