phalconのプロジェクト作成
1. 以下の構造でディレクトリを作成
base
|--- app
|--- controllers
|--- models
|--- views
|---public
|--- css
|--- img
|--- js
※ 以下のコマンドで作成できる
mkdir -p app/controllers app/models app/views public/css public/img public/js
2. public/.htaccessを用意
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
</IfModule>
3. public/index.phpを用意
<?php
try {
// オートローダの設定
$loader = new \Phalcon\Loader();
$loader->registerDirs(array(
'../app/controllers/',
'../app/models/'
))->register();
// DIコンテナの準備
$di = new Phalcon\DI\FactoryDefault();
// Viewの設定
$di->set('view', function(){
$view = new \Phalcon\Mvc\View();
$view->setViewsDir('../app/views/');
return $view;
});
// URLの設定(setBaseUri( )の引数を指定すればサブディレクトリでも使える)
$di->set('url', function(){
$url = new \Phalcon\Mvc\Url();
$url->setBaseUri('/');
return $url;
});
// リクエストの処理
$application = new \Phalcon\Mvc\Application($di);
echo $application->handle()->getContent();
} catch(\Phalcon\Exception $e) {
echo "PhalconException: ", $e->getMessage();
}
4. サンプルプログラム
コントローラ: app/controllers/IndexController.php
<?php
class IndexController extends \Phalcon\Mvc\Controller
{
public function indexAction()
{
}
}
ビュー: app/views/index/index.phtml
<?php
echo "<h1>Hello World</h1>";
ブラウザからアクセスしてHello Worldが表示されればOK