はじめに
Slim3 Framework×slim-skeleton不使用×twigでプロジェクトを作成する
(1. プロジェクト作成~各種設定)の続きです。
前提
下記記事で構築した環境を前提とします。
-
私家版 Slim Framework チュートリアル (1、2、3、4、5、6)
@nunulkさんのチュートリアルを一通り。
ここで作成したDBを使いまわします。 -
Slim3 Framework×slim-skeleton不使用×twigでプロジェクトを作成する(1)
手順
1. 専用のユーザーを作成
2. プロジェクトディレクトリを作成・slim3インストール
3. 各種設定
4. DocumentRootを変更&表示確認
5. Twigを使ってみよう
6. Loggingしてみよう
7. Controllerを作成しよう
8. PDOを使用してデータベースに接続しよう
9. @nunulkさんのチュートリアルで作成したチケット管理システムをtwigを使って再現しよう
やってみよう
今回の記事では、手順4~5を行います。
4. DocumentRootを変更&表示確認
userをrootに切り替えて行います。
設定ファイル/etc/httpd/conf/httpd.conf
の該当部分を下記のように書き換えます。
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/home/slimuser/projects/slim/SampleApplication/public"
#
# Relax access to content within /var/www.
#
<Directory "/home/slimuser/projects/slim/SampleApplication/public">
##AllowOverride None
AllowOverride All
##Allow open access:
Require all granted
</Directory>
次に以下のコマンドでApacheを再起動します。
systemctl restart httpd
以下のコマンドでプロジェクトフォルダにパーミッション付与します。
chown apache:apache -R /home/slimuser/projects/SampleApplication/*
chmod 777 -R /home/slimuser/projects/SampleApplication/*
以下のURLを開いて、前回の記事で行った動作確認と同じ動作が確認出来たらOKです。
http://192.168.33.90/
http://192.168.33.90/hello/world
5. Twigを使ってみよう
Twigをインストール
以下のコマンドでtwigをインストールします。
composer require slim/twig-view 2.*
settings.phpに設定を追加
config/settings.php
に以下のように追記します。
$settings['twig'] = [
'path' => $settings['root'] . '/templates',
'cache_enabled' => true,
'cache_path' => $settings['temp'] . '/twig-cache'
];
container.phpに設定を追加
config/container.php
に以下のように追記します。
use ~;
部分はこれからも増えますので、$container = $app->getContainer();
の上にまとめて記述してください。
use Slim\Views\Twig;
$container[Twig::class] = function (Container $container) {
$settings = $container->get('settings');
$viewPath = $settings['twig']['path'];
$twig = new Twig($viewPath, [
'cache' => $settings['twig']['cache_enabled'] ? $settings['twig']['cache_path'] : false
]);
$loader = $twig->getLoader();
$loader->addPath($settings['public'], 'public');
$router = $container->get('router');
$uri = \Slim\Http\Uri::createFromEnvironment($container->get('environment'));
$twig->addExtension(new \Slim\Views\TwigExtension($router, $uri));
return $twig;
};
twigファイルを作成
templates/time.twig
を作成します。
現在時刻が表示されるだけの簡潔なものです。
<?DOCTYPE html>
<html>
<head>
<base href="{{ base_url() }}" />
</head>
<body>
Current time:{{ now }}
</body>
</html>
routes.phpにルートを追加
config/routes.php
に以下のように追記します。
use ~;
部分はこれからも増えますので、上のほうにまとめて記述してください。
use Slim\Http\Request;
use Slim\Http\Response;
use Slim\Views\Twig;
$app->get('/time', function (Request $request, Response $response) {
$viewData = [
'now' => date('Y-m-d H:i:s')
];
return $this->get(Twig::class)->render($response, 'time.twig', $viewData);
});
動作確認
以下のURLを開いてCurrent time:2020-07-09 05:32:24
のように現在時刻が表示されればOKです。
http://192.168.33.90/time
参考サイト
Creating your first Slim 3 Framework Application
関連ページ
Windows10にVagrantをを入れてCentOS7をインストールしよう
1. VagrantインストールからVagrantfileを設置まで
2. 仮想マシンの操作
3. WinSCP、Tera Termに秘密鍵でログイン
4. WinSCP、Tera Termにrootユーザーでパスワードログイン
5. zip/unzipをインストール
6. Vagrantにて仮想環境を配布
ローカルでLAMP環境を構築しよう
0. 事前準備
1. Apacheをインストール
2. MySQLをインストール
3. PHPをインストール
4. ファイアウォールとか停止する
Composerをインストール
PHP Slim3フレームワークのサンプルアプリを作ろう
2-1. First Application Walkthrough Getting Set Upまで
Apache
Slim3 Framework×slim-skeleton不使用×twigでプロジェクトを作成する
1. プロジェクト作成~各種設定
2. DocumentRoot変更~Twigを使用
3. LoggingとController
4.PDO使用
5. チケット管理システムを再現➀
6. チケット管理システムを再現➁