クイックスタート
Chandraをインストールして、基本動作を確認するまでの手順です。
前提条件
ChandraはPHPでWebアプリケーションを作成するためのフレームワークです。動作するには、Webサーバー、PHP、データベースが必要です。
- PHP 8.2 以上
- MySQL 8.0 以上
- Apache 2.4 以上
- Composer 2.6系以上
XAMPPのインストール
PHP開発環境が1度で構築できるXAMPPのインストールをおすすめします。
参照: https://www.apachefriends.org
インストール時はMySQLとphpMyAdminを含めるようにしてください。また、WindowsではProgram Files配下ではないパス(例:C:\xampp)となるようにしてください。
XAMPP Controll Panelから、ApacheとMySQLをStartさせてください。
ブラウザからhttp://localhostを表示し、XAMPPのウェルカム画面が表示されることを確認してください。
http://localhost/phpmyadmin/を表示し、phpMyAdminが表示されることを確認してください。
このあと動作確認として、hellochandraプロジェクトを作成しますが、その間はDBを使用しないので、MySqlはStopして構いません。
Composerのインストール
コマンドプロンプトで
composer --version
として確認してください。バージョンが表示されない場合、Composerのインストールが必要です。
参照: https://getcomposer.org/download/
Windowsの場合、上記サイトから、Composer-Setup.exe をダウンロードして実行してください。
インストール中にPHPの場所を聞かれたら、XAMPPの中のPHP(例:C:\xampp\php\php.exe)を指定してください。
プロジェクトの作成
動作確認として、hellochandraプロジェクトを作成します。C:\xampp\htdocs\(または、/Applications/XAMPP/xamppfiles/htdocs/)に、hellochandraディレクトリを作成してください。
Composerプロジェクトとして初期化します。hellochandraディレクトリに移動し、
composer init
とすると、対話モードでcomposer.jsonファイルほか最低限必要なファイルが作成されます。必須でない箇所はEnterで飛ばしてもかまいません。
Chandraのインストール
続けてChandraをインストールします。
composer require studiogau/chandra
これにより、 vendor/ディレクトリにChandraがインストールされ、プロジェクトにcomposer.lockが追加されます。
表示画面を作る
C:\xampp\htdocs\hellochandra\index.php(/Applications/XAMPP/xamppfiles/htdocs/hellochandra/index.php)を作成してください。UTF-8のテキストで、中身は以下の通りです。
<?php
declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
echo '<h1>Hello Chandra</h1>';
echo '<p>Chandra has been installed successfully.</p>';
ブラウザからhttp://localhost/hellochandra/を表示してください。Hello Chandraが表示されれば、composerが読み込めています。
動作確認1 HTML出力エスケープ
Chandraのクラスを1つ使ってみましょう。Utility::hはHTML 出力用のエスケープヘルパーです。
C:\xampp\htdocs\hellochandra\index.php(または/Applications/XAMPP/xamppfiles/htdocs/hellochandra/index.php)を以下の通り書き換えてください。
<?php
declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
use Studiogau\Chandra\Support\Utility;
echo '<h1>Hello Chandra</h1>';
echo '<p>Chandra has been installed successfully.</p>';
echo '<p>' . Utility::h('<script>alert("Chandraでセキュアなアプリ")</script>') . '</p>';
動作確認2 ロガー
Logger::createDefault() は、 log ディレクトリにログを出力します。
C:\xampp\htdocs\hellochandra\index.php(または/Applications/XAMPP/xamppfiles/htdocs/hellochandra/index.php)を以下の通り書き換えてください。
<?php
declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
use Studiogau\Chandra\Logging\Logger;
$logger = Logger::createDefault(__DIR__);
$logger->info('HelloChandra started.');
echo '<h1>Hello Chandra</h1>';
echo '<p>Chandra はinfoログを出力しました。</p>';
初回実行時に、プロジェクト直下に log ディレクトリとログファイルが自動生成されるので、確認します。
これでChandraが動作することを確認できました。ハンズオンでは、CMSサイトを作成します。