Phalcon - PHP最速フレームワーク

Phalconとは?

高速フレームワーク

Phalconとは、PHPの中では一番高速なフレームワークです。
C言語で作られており、PHP Moduleとして動作するため、その他のフレームワークに比べて断然速いです。

しかし、ファイルをincludeして使用するフレームワークの場合はプログラムを直接見ることが出来るため、確認やカスタマイズが可能ですが、Phalconはコンパイル済のモジュールを使用するためこれが出来ません。
そのためドキュメント等を見るしかありません。

比較

公式サイトを見るとこのようなグラフがあります。
グラフ

1秒当たりのリクエストの量が表示されていますが、これを見ると圧倒的にPhalconがトップです。
よく使われているZendと比較すると、約5倍も差があります。
スピード重視でいくならPhalconで決まりでしょう。

使用方法

ダウンロード

Download Phalcon for Linux/Unix/Macにダウンロード方法が記載されています。
Phalconをインストールする前に、いくつかパッケージをインストールする必要があります。


#Ubuntu
sudo apt-get install php5-dev php5-mysql gcc

#Fedora
sudo yum install php-devel php-mysqlnd gcc libtool

#RHEL
sudo yum install php-devel php-mysql gcc libtool

#Suse
yast2 -i php5-pear php5-devel php5-mysql gcc

次にcloneします。


git clone git://github.com/phalcon/cphalcon.git

移動してインストールします。


cd cphalcon/build
sudo ./install

php.iniを編集して、PHPで読み込まれるよう設定します。


extension=phalcon.so

設定後はapacheを再起動しましょう。


apachectl graceful

こんなに簡単に(普通のModuleと同様に)インストールすることが出来ます。

チュートリアル

ディレクトリ構成は自由に決めることができます。
決めるのが面倒な人は、チュートリアルが用意されているのでそれを使うと楽になります。

Developer Toolsを使う方法もありますが、今回は直接公式チュートリアルをとってきます。


git clone https://github.com/phalcon/tutorial.git

取得したチュートリアルのディレクトリ構成はこのようになります。


tutorial-master/
	app/
		controllers/
		models/
		views/
	public/
		css/
		img/
		js/
		index.php
		.htaccess
	.htaccess

初めてPhalconで開発を行う人は、このようにチュートリアルを元にして作り込む方法が良いと思います。

Related

Vagrant+Docker+PHP環境で「session.save_path」指定時に、セッションファイルが空になるエラー

ファイル共有でのフォルダの所有者を設定 結論 PHP5.4.28 からセッションファイルのownerはrootもしくはWebサーバのユーザに限るという制限が...

LINEと連携したテイクアウト事前注文システム徹底比較!

目次 テイクアウト予約・注文受付システムのトレンド LINEと連携したテイクアウト事前注文システムの価格表 L.B.B.Cloud テイクイーツ ...

PHPで動画の撮影日を取得

PHPで動画の撮影日を取得 概要 PHPからffprobeコマンドを実行し、動画の撮影日時を取得します。 コード $posted_at = ...

FullCalendarでGoogleカレンダーのようなUIを実装

jQueryプラグインFullCalendarのサンプル 概要 FullCalendarを使用して、GoogleカレンダーのようなUIを実装する使用例を...

PHP Laravel5.2でmulti-auth(複数テーブルでの認証)を実装

Laravel5.2でマルチ認証 概要 LaravelとはPHPの中で今最も伸びているフレームワークです。 処理速度が遅いなどありますが、かなり使い安く拡...

PHP 正規表現でIPアドレス形式の文字列か判定

正規表現でIPアドレスの入力チェック 概要 フォームで入力されたIPアドレスが正当な文字列か判定するためのバリデーション処理を実装します。 基本的...
トップへ戻る