ハマログ

株式会社イーツー・インフォの社員ブログ

爆速PHPフレームワーク「Phalcon」をお試し

浅春の候、皆様におかれましては益々ご健勝のこととお慶び申し上げます。

Shinが現在関わっている開発の多くはPHPが多いです。実はPHPはあまり好きではありません。でもWebアプリケーションをつくるとしたら、PHPでフレームワークを使って開発をするほうが生産性が高いですね。PerlでCGIの仕事だと過去に他人が書いたソースを読むのに四苦八苦だったりしますし。

e2infoでは、リーダーかねこがごり押し一押しのPHPフレームワーク「Laravel4」を使った開発に携わっておりますが、ここはあえて他のPHPフレームワークをつまみ食いしてみます。

今回ためしてみるのは爆速フレームワークと評判の「Phalcon」です。

phalcon

http://phalconphp.com/ja

上記サイトによれば、開発で必要なすべてがそろっているフレームワークのようです。それにもまして興味深いのがその速度。やはり上記サイトのトップにあるグラフによれば、リーダーかねこごり押し一押しのLaravelはおろか軽いという噂のCodeIngiterよりも高速という性能をもっているようです。

なぜこんなに高速なのか?それはこのフレームワークのコア部分がC言語でPHPの拡張として実装されているという反則ものだからです。

というわけでお試しです。

リーダーかねこがMacを買ってくれないので今回もWindowsでXAMPPという軟弱環境で試してみます。でもXAMPPはお手軽です。別に開発中困った経験もそれほどないですし。

まず、フレームワークを以下のサイトからダウンロードしてきます。

http://phalconphp.com/en/download/windows

PHPの拡張という手前、自分の使用しているPHPのバージョンにあわせたものをダウンロードします。ShinはPHP5.4.xを使用しているので、Phalcon 1.3.0 – Windows x86 for PHP 5.4.0 (VC9)をダウンロードしました。

ダウンロードしたzipファイルを解凍すると、.dllファイル(!!)があります。

phalcon_dll_1

これを「(XAMPPのインストールフォルダ)/php/ext」内に配置します。

phalcon_dll_2

次にPHPの設定ファイル(php.ini)の設定を行います。「(XAMPPのインストールフォルダ)/php/php.ini」の末尾に以下を追記します。

extension=php_phalcon.dll

phpinfo()により以下のような表示が出ればインストールされています。

phalcon_phpinfo

プロジェクトの雛形を作成してくれるDeveloper Toolsもインストールします。

ダウンロードして.batファイルを編集して、環境変数Pathに追記して、といろいろ手順があり、量が多いので下記のサイトを参考にしてください。

http://docs.phalconphp.com/en/latest/reference/wintools.html

ツールのインストールも終わったら、XAMPPインストール先のhtdocsフォルダに移動して、以下のコマンドを実行します。

phalcon project (プロジェクト名)

そうしますと

(プロジェクト名のディレクトリ)
 L .phalcon/
 L app/
  L views/
   L layouts/
   L index/
    L index.volt
   L index.volt
  L config/
   L config.php
   L loader.php
   L services.php
  L controllers/
   L ControllerBase.php
   L IndexController.php
  L cache/
  L models/
 L public/
 L css/
 L js/
 L img/
 L temp/
 L files/
 L .htaccess
 L index.php
 L .htaccess
 L index.html

上記のようにプロジェクトの雛形が作成されます。よくあるMVCのフレームワーク構造ですね。

Apacheを起動して、”http://localhost/(プロジェクト名)”にブラウザでつなぎ、以下のように表示されれば構築成功です。

phalcon_success

字数がたりませんので、今回は導入までとします。

その特質上FTP等でアップロードするだけで動かせるようなものでもないので、共有のレンタルサーバやマネージドサーバで簡単に使えるようなフレームワークではなく、使用状況はかなり限られそうですが、どうしても速度が必要という場合には選択肢の一つとしてもよいかもしれません。

Phalcon

  Shin.A   2014年3月28日


関連記事

FAQサイト構築ツールのご紹介

少し前になりますがイーツー・インフォのオープンソースソリューションでFAQサイト…

ヘッドレス Chromeを使ってみる

スクリーンショットを機械的に取得する方法を探していたところ、Googleのヘッド…

LaravelのObserverでモデルの変更を検知する

はじめに Laravel Novaで記事を管理していて、パフォーマンス対策のため…


← 前の投稿

次の投稿 →