日別アーカイブ: 2016年5月9日

今度はPHPixieを試してみる

フレームワーク行脚の旅、というか、PHPも初心者、フレームワークもそんなに使ったことない、という私が、どんなものがあるのだろうと探し回っている中、初心者にお勧めだというフレームワーク「PHPixie」を見つけたので試しにXAMPP環境でちょっと使ってみた。

データベースがMongoDBというオブジェクト指向DBというのが気になるけど、ま、最悪DB操作は直接PHPで書けばいいわけだし。あ、ユーザー認証どうしよう。

プロジェクトの作成と最初のページの表示まで

まずはLaravelと同様、XAMPPのhtdocsのディレクトリに行き、composerを使ってプロジェクトを作成する。

> composer create-project phpixie/project phpixie

とりあえずそれらしいファイル群はできたようだ。で、クイックスタートのページにあるように、まず、プロジェクトルートファイルに「.htaccess」を以下のように作っておく。

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !web/
RewriteRule (.*) /web/$1 [L

そして、ApacheのDocumentRootをプロジェクトルートに向ければ、「http://localhost/」でテストページが表示された。

Processor

次の節、Processorをページの内容そのままで進めて、「HTTPProcessors」フォルダ直下に「Quickstart.php」を作成してQuickstartクラスを定義したあと、「App」フォルダ直下の「HTTPProcessor.php」にbuildQuickstartProcessorメソッドを定義して、再実行してみたところ、ちゃんと「http://localhost/quickstart」で「Quickstart tutorial」という文字が表示された。

うまくいっているようだ。仕組みはあとで考えよう…

Routing

そんでもってRoutingをこれもまたページの内容そのままで進めてみる。QuickStart.phpにviewActionメソッドを追加するところまでは良かったが、「config」フォルダ内の「routeResolver.php」の追加が、どこに追加するのかよくわかんなかったので、結局以下のようにしてみた。

<?php

return array(
    'type'      => 'group',
    'resolvers' => array(
        
        'default' => array(
            'type'     => 'pattern',
            'path'     => '(<processor>(/<action>))',
            'defaults' => array(
                'processor' => 'greet',
                'action'    => 'default'
            )
        ),
        'view' => array(
            'type'  =>  'pattern',
            'path'  =>  'quickstart/view/<id>',
            'defaults'  => array(
                'processor' => 'quickstart',
                'action'    =>  'view'
            )
        )
        
    )
);

そうしたところ、うまく「http://localhost/quickstart/view/5」で「5」って表示されたから、大丈夫なのだろう。仕組みは後で考えよう。

とりあえず今日はここまで。