クイックスタート
インストールは composer で行います。
VENDOR=MyVendor PACKAGE=MyProject composer create-project bear/skeleton my-project
cd my-project
VENDORでベンダー名を、PACKAGEでパッケージ名を指定してインストールします。環境変数を指定しない場合は対話的にプロンプトされます。
次にPageリソースを作成します。PageリソースはWebページに対応したクラスです。src/Resource/Page/Hello.phpに作成します。
<?php
namespace MyVendor\MyProject\Resource\Page;
use BEAR\Resource\ResourceObject;
class Hello extends ResourceObject
{
public function onGet(string $name = 'BEAR.Sunday'): static
{
$this->body = [
'greeting' => 'Hello ' . $name
];
return $this;
}
}
GETメソッドでリクエストされると$nameに$_GET['name']が渡されるので、挨拶をgreetingにセットし$thisを返します。
作成したアプリケーションはコンソールでもWebサーバーでも動作します。
php bin/page.php get /hello
php bin/page.php get '/hello?name=World'
200 OK
Content-Type: application/hal+json
{
"greeting": "Hello World",
"_links": {
"self": {
"href": "/hello?name=World"
}
}
}
ビルトインウェブサーバーを起動し
php -S 127.0.0.1:8080 -t public
Webブラウザまたはcurlコマンドでhttp://127.0.0.1:8080/helloをリクエストします。
curl -i 127.0.0.1:8080/hello