これはサンプルアプリケーションの掲示板、Tinitterです。
- ニックネームとテキストを投稿できる
- 投稿をページ送りで見る事ができる
だけの単純なウェブアプリケーションです
- WAF: Slim Framework
- Template Engine: Twig
- ORM: Illuminate/Eloquent
- Varidator: Respect/Validation
- Test: phpunit, faker
- PHP 5.4以上
- sqlite3 サポート
- (DBセットアップのためにsqlite3のcli)
# プロジェクトトップディレクトリで
$ php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"
# プロジェクトトップディレクトリで
$ php composer.phar install
# サンプルコンフィグファイルをコピーして作成する
$ cp config.php.sample config.php
SQLiteを使う場合には、内容を変更する必要はありません。 Mysqlを利用する場合には、後述の設定を行ってください。
Apacheの場合、以下の設定をおこなってください
$ cp htdocs/.htaccess.sample htdocs/.htaccess
# プロジェクトトップディレクトリで
$ sqlite3 sqlite.db < schema.sqlite3.sql
データを初期化したい場合、上記を再度実行してください。
- DB名:tinitter
- ユーザー名:tinitter_user
- パスワード:tinitter_pass の場合
以下を実行してDBにテーブルを登録
$ mysql -u tinitter_user -p tinitter < schema.mysql.sql
# プロンプトがでたら、パスワードを入力
config.php
を修正し、既存の$db_settings〜
を以下のように書き換えます。
$db_settings = [
'driver' => 'mysql',
'host' => '127.0.0.1',
'port' => '3306',
'database' => 'tinitter',
'username' => 'tinitter_user',
'password' => 'tinitter_pass',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci'
];
上記設定をしても、テストはSQLiteで動作します。詳しくはテストの項目を参照ください。
# プロジェクトの`htdocs/`ディレクトリで
$ php -S 127.0.0.1:8080
http://localhost:8080/
にアクセス
プロジェクトのhtdocs/
をDocumentRootに設定してください。
DEBUG定数をtrue
/false
で切り換える。
# config.php
define('DEBUG', true);
true
時は、例外時にSlimがスタックトレースを出力します。本番ではfalse
にします。
test/README.md
を参照してください