phalconとは
Phalcon は、ハイパフォーマンス で少ないリソース消費のC拡張として実装されたWebフレームワークを提供します
http://phalconphp.com/ja/
公式サイトを見ると、とにかく速そうな感じですね。
今日はちょっとphalconをeclipseで使えるようにするところまで書いてみます。
vagrant
phalconphpのサイトにvagrantの記述がありました。
http://phalconphp.com/ja/download/vagrant
これに沿った手順でvagrantに構築してみます。
vagrant init
vagrant init phalconbox https://s3-eu-west-1.amazonaws.com/phalcon/phalcon125-apache2-php54-mysql55.box
Vagrantfileの編集
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Every Vagrant virtual environment requires a box to build off of.
config.vm.box = "phalconbox"
# The url from where the 'config.vm.box' box will be fetched if it
# doesn't already exist on the user's system.
config.vm.box_url = "https://s3-eu-west-1.amazonaws.com/phalcon/phalcon125-apache2-php54-mysql55.box"
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network :private_network, ip: "192.168.100.20"
end
vagrantを起動
vagrant up
起動後、以下のURLで確認することが出来ます。
http://192.168.100.20/website
http://192.168.100.20/invo
デベロッパーツール
ディベロッパーツールが用意されているので、以下のURLの手順に従います。
http://phalconphp.com/ja/download/tools
作った環境にログインします。
vagrant up
composerのインストール
curl -s http://getcomposer.org/installer | php
composer.jsonの編集
{
"require": {
"phalcon/devtools": "dev-master"
}
}
composerでインストールを実行
php composer.phar install
phalcon.phpスクリプトへのシンボリックリンクを作成
sudo ln -s ~/phalcon-devtools/phalcon.php /usr/bin/phalcon
sudo chmod ugo+x /usr/bin/phalcon
vendor/phalcon/devtools/ が出来ている状態になっていると思います。
eclipseで利用する
phalconで開発をする際に、eclipseでphalconのClassとかのコメントがみたいことがあると思うので設定します。
PHP Include Pathを通す
vendor/phalcon/devtools/ideにバージョン毎のディレクトリがあるので、eclipseにpathを通します。
- PHPプロジェクトを選択し、『Properties』をクリック
- PHP Include Path > Libraries > Add External Source Folder をクリック
- ポップアップが表示されるので、vendor/phalcon/devtools/ide/1.3.1など最新のバージョンを選択
- OKをクリックしてPropertiesを閉じる
チュートリアルをこなしてみる
eclipseを利用してチュートリアルを試してみました。
http://docs.phalconphp.com/ja/latest/reference/tutorial.html
$application = new \Phalcon\Mvc\Application($di);
とか書いて、フォーカスを合わせると以下のような表示が出るので捗りますね。
Phalcon\Mvc\Application::__construct(\Phalcon\DI $dependencyInjector)
\Phalcon\Mvc\Application
Parameters:
\Phalcon\DI $dependencyInjector
--
とりあえず、今日はこんな感じで。