簡単にできるって書いてたからやってみました。
ComposerからSilexをダウンロード
書いてあるコードはこちら。
composer require silex/silex:~2.0 twig/twig
composerというのがイマイチまだ理解しきれてないんですけど、こうやって書いてあるからにはダウンロードしてくれるマンなんでしょう。
あと最初、silexとtwigって書いてあるのに1行しかねえぞ!!
とか意味不明なこと思っててすみませんでした。文盲。
並べて書けるんですね。
ただ問題は次。
どこに?
詰まりました。
ダウンロード……するのは、プロジェクトを置く場所?的なところですよね、多分。
どこに作るの?
デスクトップ?
というわけではないはずなので、空気を読んでプロジェクト用のディレクトリを作成します。
考えてみればこの程度のことをわざわざ書く必要もなかった。
実行。
こんなになりました。
$ cd sample2
$ ls
composer.json composer.lock vendor
$ ls vendor/
autoload.php pimple silex twig
composer psr symfony
以降の手順でindexとかなんか色々作るんですが。
sample2に作るのか、vendorに作るのかがわかりません。
たぶんここ(sample2)だとは思うんですけど……書いてて悲しくなってきた……。
中身をつくる
index.php
公式ドキュメント通りで全く問題なしです。
公式ドキュメント is 何。
ああ、確かにここに書かれてるサンプルと同じですね。
なるほど。
viを最近ようやくおぼろげに覚えたのでサクッと作成しました。
- vi index.php
- [A](追加書き込み)
- コピペ。Command+vが問題なく使えて良かった
- [Esc](編集終了)
- [:x]から[Enter](上書き保存して終了)
こんな感じで。
PHP(5.4.0以上)のビルトインサーバーを起ち上げて、指定したホストにアクセスすれば「Hello, World!!」が表示されます。
なんて?
とりあえず、書いてあるコマンドを叩いてみます。
ルートディレクトリは自分でいいんだよね?
ってことでこんな感じで。
php -S localhost:8000 -t ./
起動は成功。
アクセスでエラー。
デバッグ
見てみるとindex.phpの2行目でエラーとのこと。
そんなんファイルパスしか書かれてないぞ。
つまりファイルパスがだめと。
該当部分はこんな感じ。
require_once __DIR__.'/../vendor/autoload.php';
えっと、現在のところから一個戻ってvendorにアクセスしてるから……。
sample2じゃなくてもう一つ深いところに作らないといけないんですね、これ。
じゃあ適当にwwwとかフォルダ作ってそこを指定してサーバーを立ち上げると……成功しました。
なるほどー。
twigでviewを作る
よくわかりませんが、layout.twigとindex.twigというものを作成するようです。
どこにだろう。
例によってぶちあたる疑問。
まあいいやとばかりに作成しました。
あとからmoveすることにします。
Twig表示のためにindex.phpを修正
次にindex.phpを修正するようです。
テキストの中に、ディレクトリを指定する場所があります。
なるほどここで指定するわけですか。
じゃあviewとか作ってそれに放り込めばいいのかな。
指定先はこんな感じに修正。
'twig.path' => '../view'
どこを置き換える?
あと、書いてあるphpって全部じゃないですよねたぶん。
適当に読み解いて、app->getが重複していたので『Routeがどうこう』ってコメント以下を全とっかえしました。
そして実行
できましたー!!
課題
これローカルだけどGCPにアップロードするにはどうするんだろう?
とりあえずステップで進んでいきます。
次はユーザ認証。
参考資料はこれ。