りゅうごうの開発めも

りゅうごうが調べたこととか試したこととかをメモってます

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

 

 

Getting Started with Phalcon

Getting Started with Phalcon