ページ目次
PHPのフレームワークSilex
小規模サイトなら充分
PHPのフレームワークとは言えば、CakePHP、Symfony。とくにCakePHPは多くのレンタルサーバーで簡単にインストールできるようになっていたりします。
近年のトレンドでは、圧倒的にSymfonyの方が注目されているようです。
しかしながら、(CakePHPにも言えることですが)大~中規模サイトならまだしも、小規模サイトの場合、ちょっとオーバースペック気味です。
その点Symfonyから派生したミニフレームワークとも言えるSilexは、学習コストも低く、導入も簡単なのでオススメです。
ComposerからSilexをダウンロード
SilexとTwigはセットだと思ってる
PHPのパッケージ管理ツールであるComposerをつかってインストールします。
ついでにHTMLテンプレートエンジンのTwigも使いますので、一緒に落としておきましょう。SilexとTwigは、まあセットみたいなものです。(自分の中では)
# Silexはバージョン2をダウンロード
$ composer require silex/silex:~2.0 twig/twig
単純なサイトならコマンド側の操作はこれでほぼ終わりです。あとは、indexファイルやviewファイル(.twig)を作成するのみです。
中身をつくる
index.php
公式ドキュメント通りで全く問題なしです。
<?php
require_once __DIR__.'/../vendor/autoload.php';
$app = new Silex\Application;
// Routingなど
$app->get('/', function() use ($app) {
return 'Hello, World!!';
});
// Silexアプリケーションの実行
$app->run();
?>
PHP(5.4.0以上)のビルトインサーバーを起ち上げて、指定したホストにアクセスすれば「Hello, World!!」が表示されます。
# php -S でビルトインサーバーの起動
# ctrl + c で終了
$ php -S localhost:8000 -t [ルートディレクトリ]
TwigでViewをつくる
view用のファイルをtwigを使ってつくります。
{# layout.twig #}
{# ← twigでは、この間がコメントアウトされ、htmlにレンダリングされない → #}
<!DOCTYPE html>
<html lang="ja">
<head>
<!-- head情報を記述 -->
</head>
<body>
{% block body %}{% endblock %}
</body>
</html>
{# index.twig #}
{% extends 'layout.twig' %}
{% block body %}
<h1>こんにちは、{{ name }}さん!</h1>
<p>indexファイルが表示されています。</p>
{% endblock %}
Twigファイルを表示するためindex.phpを書き換える
index.phpにtwigを読み込ませます。
$app->register(new Silex\Provider\TwigServiceProvider(), array(
'twig.path' => 'viewファイルの保存ディレクトリ'
));
$app->get('/', function() use ($app) {
return $app['twig']->render('index.twig', array(
'name' => 'たろう'
));
});
$app->run();
サーバーをたちあげてアクセスすると、
「こんにちは、たろうさん!」
と、表示されます。
シンプルなWebサイトなら、このように簡単に作成できます。
また、データベースを利用して動的なページを表示したり、ログインフォームを作ったりなどもSilexに元から組み込まれている機能を使うことで作成可能です。
過去記事: PHPミニフレームワークSilex(2.0)でログイン機能をつくる
↑ ちょっと順番が前後してしまいましたが。汗
“PHPマイクロフレームワークSilexでつくるシンプルWebサイト” への1件の返信
コメントは受け付けていません。