PhalconというPHPのフレームワーク

最近、仕事で使っているので、LaravelというPHPのフレームワークがとても使いやすいため気に入っていた。そんな中、Phalconというフレームワークを教わった。なんでも、PHPのextensionとして実装されているそうな。そのため、とても高速であると・・・。早速、インストールして使ってみた。良い!仲々に良い感じ!!これは、少し使ってみるかな。

公式サイト

http://phalconphp.com/

インストール方法

とても簡単である。あとは、php.iniに

とするだけ。

このままでは補完がされない

このフレームワークはC言語で実装されているため、このままだと、フレームワーク側のメソッドの補完が効かない。これは、IDEを利用しているユーザーにとっては致命的だ。そこで出番なのが、phalcon-devtoolsだ。こちらもgithubから入手できる。

https://github.com/phalcon/phalcon-devtools

debtools/ide以下に各バージョンのフォルダーがある、自分がダウンロードしたバージョンのフォルダーをプロジェクトのインクルードパスに指定すれば、補完ができるようになる。

devtoolsで簡単に雛形作成

このdevtoolsを使うと、CakePHPやEthnaみたいに簡単にプロジェクトを作成してくれる。そのコマンドはphalconコマンドだ。フレームワークと同じ名前だから覚えやすい。このコマンドはプロジェクトを作成する以外にも、コントローラーやモデル等の作成する場合にも利用する。

プロジェクトを作成したいディレクトリーで

とすれば、簡単に作成できる。phalcon projectで実行すると、このコマンドのヘルプが表示されるため便利である。
なお、phalcon commandsでサブコマンドが一覧表示されるため、分からなくなったら、これで確認をしよう。

1点プロジェクトを作成する場合の注意点だが、phalconは、3つの形式のプロジェクトを作成できる。micro,simple,modulesだ。それぞれの詳細は割愛するが、作成するシステムの規模や形態に応じて選択する。先ほどのphalcon projectで新しいプロジェクトが作成できるが、その時にtypeでこれらを指定できる。コマンドのマニュアルを見る限りだと、typeに指定できるのは、micro,simple,multi-moduleと記載されているが、実際には、multi-moduleではなく、modulesと指定することになる。これで、multi-moduleなプロジェクトが作成される。

MySQLが文字化けした

初期状態では、MySQLにUTF8の日本語を書きこもうとすると文字化けが発生する。以下の対策で回避する。
これは、multi-moduleプロジェクトの場合だが、/frontend/Module.phpを修正する。

これで、文字化けが解消される。

http://forum.phalconphp.com/discussion/10/mysql-utf8-encoding