@nqounetです。
第2回がハローワールドというなんだかおかしなことになっていますが、気にしたら負けです。
第3回のネタを掘り返していて気づいたのですが、これらのサンプルは、Mojolicious::Lite
のドキュメントのコード部分を参考に作っていたものでした。
なので、順序もそれに倣っていきます。
というわけで、第3回はルーティングです。
ルーティング
ウェブサイトを作成するときは、例えばindex.html
が/
で表示される場合、index.html
と同じディレクトリにfoo.html
が置いてあると、/foo.html
にアクセスすればfoo.html
が表示されます。
ウェブアプリでも同じようなことができます。
それを実現するのがルーティングです。
サンプルコード全体
Mojolicious
のバージョンは5.75で確認しています。
ファイル名はなんでも良いですが、ひとまずmyapp.pl
と考えてください。
|
|
Line 1 - 6
|
|
ここまではハローワールドと同じですね。
morbo myapp.pl
でサーバーを起動した場合、http://localhost:3000
にアクセスすればHello World!
と表示されます。
Line 8 - 11
|
|
get
の定義がもうひとつ出てきました。
sub
の中身は、書き方は違いますが前回説明したとおり一旦変数に入れてあるだけで実質的には同じです。表示される文字列はわかりやすいように別の文字列を指定してあります。
get
の最初の引数が'/foo'
なので、この定義によってhttp://localhost:3000/foo
にアクセスした時にsub
の中身が実行されることになり、Foo!
と表示されます。
定義を増やしても、URLごとに記述がわかれているので、例えばエラーが発生した時には、どのURLにアクセスしていたのかを調べれば、どの部分に問題があるのかが簡単にわかるようになります。
とても便利ですね。
Line 13
|
|
もう説明は不要でしょう。
最後はこれで締めです。
Mojolicious 1.0
いつ頃書いたサンプルだったのかは覚えていないのですが、ブログを掘り返してみると、ほぼ4年前にMojolicious
を使って色々と作っていました。
先日1.0にバージョンアップしたMojolicious(::Lite)を本格的に触ってみようとアレコレやってみた。
引用元: Mojolicious::LiteでData::Modelを使ってみた | IT Office Nishimiyahara
Mojolicious
がバージョン1.0になったのは2010-12-26ですので、年末年始に結構頑張ってたみたいですね。
多機能だけど必要なところだけ使えばOK
ルーティングは、ウェブアプリを書く上でとても便利な仕組みということがわかりましたね。
ルーティングだけでも簡単なウェブアプリは書けてしまいます。
皆さんも美味しいところだけをうまく使ってサクッとウェブアプリを作ってみましょう。
2月28日(土)にPerl入学式の第6回としてウェブアプリを作成します。
大阪の講師は私が担当する予定です。
あなたの知らないPerlを一部お見せしますので、是非ご参加ください。
- Perl入学式 | Perl Entrance
- Perl入学式 in大阪 第6回 Webアプリ編 on Zusaar ← お申し込みはこちらから。参加費は無料です。