爆速フレームワークPhalconをMAMPに入れる方法
昨日、以下の記事がはてぶに載ってたので、さっそくMAMPに入れてみました。
http://www.rodeo.jp.net/tech/phalcon-php-framework/
PHPのエクステンションとして実装されているとの事で、フルPHPの他のフレームワークよりは早いでしょうね。ただ、ブコメでもあった通り、バグがあった場合の内部の修正が難しいのが難点でしょうか。
ま、ともあれ、まずは使って判断でしょうか。
という事でさっそくインストールと、チュートリアルを動かしてみます。
ダウンロード&インストール
$ git clone git://github.com/phalcon/cphalcon.git
$ cd cphalcon/build
$ ./install
意図的に最後をsudoにしていないので、最後に以下のエラーになるはずです。これは最初から入っているPHPのextensionディレクトリに入れないため(MAMPのPHPに入れるため)です。
Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20090626/ cp: /usr/lib/php/extensions/no-debug-non-zts-20090626/#INST@48693#: Permission denied make: *** [install-modules] Error 1
cphalcon/build/64bits/modulesにphalcon.soが出来ているので、これをMAMPのPHPのextensionが置いてあるディレクトリにコピーします。設置場所は以下のコマンドで確認できます。バージョン番号は自分のものに置き換えてください。
$ /Applications/MAMP/bin/php/php5.3.6/bin/php -i | grep extension_dir extension_dir => /Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/ => /Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/ sqlite3.extension_dir => no value => no value $ cp build/64bits/modules/phalcon.so /Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626 $ /Applications/MAMP/bin/php/php5.3.6/bin/php -i | grep phalcon phalcon
ではチュートリアルを動かす準備です。
チュートリアルのダウンロード
チュートリアル(英語)
適当なディレクトリにcloneします。私は~/Site下に起きました。
$ git clone https://github.com/phalcon/tutorial.git
Hostsの編集
<VirtualHost *:80> ServerAdmin phalcon@localhost DocumentRoot "/Users/*******/Sites/tutorial/" ServerName phalcon ErrorLog "logs/phalcon-error_log" CustomLog "logs/phalcon-access_log" common </VirtualHost>
DBとテーブルを作成
create database test_db; use test_db; CREATE TABLE `users` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(70) NOT NULL, `email` varchar(70) NOT NULL, PRIMARY KEY (`id`) );
MySQLの接続情報を修正
tutorial/public/index.phpを修正します。
<?php //Set the database service $di->set('db', function(){ return new \Phalcon\Db\Adapter\Pdo\Mysql(array( "host" => "localhost", "username" => "root", "password" => "root", "dbname" => "test_db" )); });
あとはHostsで設定したhttp://phalconにアクセスするだけです。
使ってみた後の事はまた別記事にて書きたいと思います。
[追記 2013/07/28]
続き書きました。
フレームワークPhalconのViewにVoltを使ってみる - ZeBeVogue別館