2011-01-01から1年間の記事一覧

Lithium完全ガイド

しばらくご無沙汰していたら、Lithiumもマニュアルが充実してきましたので、本格的に読んでみようと思います。以下翻訳記事です。最新のRAD技術でタイトなアプリを書くことに興味があるのでしたら、PHPで最もRADなフレームワークであるLithiumは歓迎します。…

FAQ

テンプレートにPHPショートタグを使ってますか?非推奨なのではないですか? LithiumのテンプレートはPHPのショートタグ(つまりに変換しています。自動的にコンテンツをエスケープすることができるので、XSS攻撃に関して心配する必要がありません。また、コ…

外部アプリケーションでLithiumを使う

参照元:appendices/using_in_external_applications.wikiLithiumは非常に柔軟ですので、コアフレームワークをいくつかのアプリケーションの環境で起動することができます。そして必要な機能だけを使うことができます。まず、Lithiumが正しくインストールさ…

Zend Frameworkと連携する

今日は、appendicesの2つを読みました。あと残りはFAQだけです。参照元:appendices/integrating_zend_framework.wikiLithiumアプリケーション内でZendフレームワークを使う為には、まずapp/config/bootstrap.phpにいくつかの設定を追加する必要があります。…

グローバル化チュートリアル

今日で、公式のdraftsはappendices以外は終わりです。ドキュメントが少ないとはいえ、英語にはかなり苦労しましたのでこのぐらいのボリュームがかえって僕にはよかったのかもしれません。 ここまでくれば、APIドキュメントを読んだりソースを読んだりして実…

Lithiumのユニットテスティングフレームワーク

今日は、国際化をとばしてテストを読みました。 テストというのはかなり重要で個人的な経験ですが書かなくてえらい苦労しました。CakePHPでもテストはもちろん書けますが個人的にsimpletestは(あまり保守されていませんし)好きじゃないのでこのテスティング…

英語の勉強

ドキュメントを全て読むまでは毎日投稿しようと思っていましたが、しばらくBlogの投稿をおやすみしてしまいました。仕事が忙しかったことと、だんだん自分の英語の読解力に自信が無くなってきたことが原因です。いちおう英語は(あまり熱心ではありませんでし…

簡単な認証

simple-authentication.wiki

簡単なユーザ認証

今日は、認証です。ログイン画面等を作るのに必要ですね。参照元:06_auth/simple-auth-user.wiki MVCでユーザを作成する まず、少なくともプライマリーキー(id)とユーザ名(username)とパスワード(password)のフィールドを持ったユーザのデータを作成します…

モデルに機能を追加する

今日はモデルです。個人的に多くの情報が欲しいのはヘルパーとモデルなんですが、ドキュメントではそれらの内容が充実していません(下記の内容だけでモデルは終わってしまいます)。 個人的にMongoDBの知識がないのでドキュメントデータベースとのやりとりな…

ヘルパー

今日はヘルパーです。現在(2011.04.10)の時点ではヘルパーのドキュメントが崩れてソースコードがよく分からないでなんとかして欲しいですが、タイムライン等から把握するとstableリリースへ向けてバグを取ったりしているようで(mongodbのバグ報告等をよく見…

ビュー

参照元:03_request_response/02_views.wikiMVCデザインパターンの3つの柱の一つとして、ビュークラス(他のサポートしているクラスと一緒に)はリクエストもしくはコントローラから渡されたデータを受け取り、リクエストされたテンプレート/レイアウトにデー…

コントローラ

今日は、Lithiumのコントローラのドキュメントを読みました。 昨日は、ソースコードが無かったので概念を理解するだけに努めましたが、今日は手を動かして調べれましたので時間は掛かりましたが楽しかったです。参照元:03_request_response/01_controllers.…

Litiumのリクエスト

今日はLithiumのリクエストのドキュメントを読みました。 フレームワークを使い始めたばかりの時にサンプル等や書籍を読んだりするのも良いことですが、フロントコントローラからざっくりと(分からなくてもいいですので)処理をまず追ってみることはフレーム…

Lithiumフィルターガイド

ようやくフィルターまで辿りつけました。Lithiumではこのフィルター機能が主要な機能になっているようですので、ここを理解しないとLithium使っている意味はないと思われます。 しかし今回は難しかったです。概念だけでなく英語も僕にとっては非常に難しくfi…

LithiumとPHP5.3

このドキュメントはPHP5.3の概要を俯瞰でき、それらがLithiumとどう関係しているかが把握できるよいドキュメントだと思います。参照元: 02_lithium_basics/01_new_in_php_5.3.wiki LithiumとPHP5.3 LithiumはPHP5.3の新機能を活用した最初のPHPフレームワー…

Lithiumのディレクトリ構造

参照元:02_lithium_basics/00_architecture.wiki読んだ後に思いました。Blogチュートリアルの前にまずここを読めばよかったと。 個人的に予備知識の無いままディレクトリ構造や規模等あれこれ調べるのは嫌いではないですが、このドキュメントを読んでいれば…

LithiumをApacheで動かす

参照元:01_getting_started/web_servers/apache.wiki かんたんなセットアップ クリーンなURLでLithiumアプリケーションを提供するために、LithiumはApacheでURL書き換えを行う.htaccessファイルのセットを搭載しています。 デフォルトでは、これらのファイ…

MongoDBのセットアップ

Blogチュートリアルをする前にすでに読みましたが一応、訳を記載しておきます。参照元:01_getting_started/data_sources/mongodb-setup.wiki MongoDBはドキュメント指向のNoSQLデータベースです。ドキュメント指向データベースは典型的なリレーショナルデー…

Lithiumインストールのトラブルシューティング

今回はほぼ全て意訳になります。僕は英語が分かってませんので、なんとなくそれらしいことが書いてあるぐらいにしか掴んでません。正確な情報をお知りになりたい方は参照元を直接読んで頂けたら間違いないと思います。参照元:01_getting_started/02_trouble…

Lithiumのインストール

Lithiumのインストールは終わっていますが、より便利なやり方や複数のアプリの管理等が記述されていましたのでドキュメントを読んで実践してみました。 今回はすごく勉強になりました。Lithiumは開発が急速に進んでいますのでGitからcloneして常に最新にして…

Lithiumの要件

今日から公式のドキュメントを読んでいきます。僕は英語はわかりませんからなんとなくこんな感じのニュアンスで理解しました。参照元:01_getting_started/00_requirements.wiki 必須要件 Web Server PHP 5.3+ Lithiumで必要なのはWebサーバとPHP5.3だけです…

Blogチュートリアル

公式のドキュメントを見ながらLithiumで最初に作るアプリケーションとしてBlogチュートリアルをやってみます。参照元:00_quickstart/blog.wikiまずエラーを表示する為に、bootstrapに下記の記述をします。 vi app/config/bootstrap.php ini_set('display_er…

Lithium調査

Lithiumの規模を調べてみる。 ステップ数をカウントして規模を調べてみました。 $ find libraries -name "*.php" | xargs -l wc |awk '{ sum += $1} END {print sum}' 61512コアだけで61512行。テストケースを除いてみます。 $ find libraries ! -path 'libr…

Hello Lithium

今日からLithiumを試してみます。Lithiumというのは、PHPでRadな開発が出来る次世代フレームワークです。Nirvanaの曲ではないです(そちらの方が有名だとは思いますが)。 とはいっても個人的にはまったく無関係という気もしなく、僕はクラッシックはまったく…