クイックスタート

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サイトを作成します。

ハンズオン

ハンズオンを見る
ハンズオン

リファレンス

リファレンスを見る
リファレンス