初めての PRADO アプリケーション
ここでは、初めて PRADO アプリケーションを開発する人のために、定番の "Hello World" アプリケーションを解説します。
"Hello World" を作る事は、最もシンプルでインタラクティブな PRADO アプリケーションを作る事かもしれません。
このアプリケーションは、ページに Click Me と書いてある送信ボタンを配置してあります。
ユーザーがボタンをクリックすると、ボタン文字が Hello World に変わるというアプリケーションです。
このアプリケーションには、複雑なアプリケーションを作る上で重要なアプローチがいくつかあります。
ひとつは、ページからサーバーに変数を送信して、その変数を利用して新しいページ(新しいボタン)を生成していることです。
またもう一つは、Javascript の onclick を意識することなく利用し、ボタン文字を変更する事ができるということです。
PRADO ではコンポーネントベース、そしてイベントドリブンのウェブプログラミングを構築する事ができます。
ボタンは、TButton オブジェクトを使用します。
TButton では Text プロパティがボタン文字となり、ユーザーのクリック動作をサーバーサイドの OnClick イベントに対応付けます。
Text プロパティを変更する内容を定義したメソッドを OnClick に対応付けるだけで、ボタンクリックのアクションを設定することができます。
以下にアプリケーションのシーケンスを示します。
このアプリケーションは3つのファイル index.php, Home.page, Home.php から構成されています。
各ディレクトリ名は開発者によって変更する事が可能です。例えば protected ディレクトリはウェブサーバーにより公開されたディレクトリ以外の場所へ移動することができます。このチュートリアルを読む事で、その方法を修得する事ができます。
- assets - このディレクトリにはコンポーネントからファイルが展開されます。詳細は assets に書かれていますのでご覧下さい。このディレクトリはウェブサーバープロセスから書き込み可能である事が必要となります。
- protected - アプリケーションデータと開発したコードが保存されるディレクトリです。このディレクトリは閲覧者からのアクセスを禁止されているべきディレクトリです。
- runtime - アプリケーション状態などのアプリケーション情報がキャッシュとして保存されるディレクトリです。このディレクトリはウェブサーバープロセスからの書き込みが可能でなければなりません。
- pages - PRADO ページを保存するディレクトリです。
Tip:PRADO プロジェクトディレクトリを作成するのに
framework/prado-cli.php(
コマンドラインスクリプト)を使用することができます。
例えば、
helloworld プロジェクトを作りたいディレクトリへ移動し、
php path/to/prado-cli.php -c helloworld とコマンド入力する事で、
helloworld プロジェクトディレクトリを作成する事ができます。
アプリケーションの実行に必要な3つのファイルの内容は以下のとおりです。
- index.php - PRADO アプリケーションのエントリースクリプトです。このファイルは、PRADO アプリケーションでは必ず必要なファイルであり、唯一エンドユーザーが直接アクセスできるスクリプトファイルです。index.php の内容は主に以下の3つの項目からなっています。
require_once('path/to/prado.php'); // PRADO スクリプトの読み込み
$application=new TApplication; // PRADO アプリケーションインスタンスの作成
$application->run(); // アプリケーション実行
- Home.page - エンドユーザーが明示的にページを指定しない場合にこのページテンプレートが呼び出されます。テンプレートファイルでは、コンポーネントのレイアウトを定義します。この例では、TForm と TButton を使用しており、それぞれ<form> <input> のHTMLタグに対応しています。
<com:TForm>
<com:TButton Text="Click me" OnClick="buttonClicked" />
</com:TForm>
- Home.php - Home テンプレートファイルのクラス定義ファイルです。ここではボタンの OnClick イベント内容の定義を行っています。
class Home extends TPage
{
public function buttonClicked($sender,$param)
{
// $sender refers to the button component
$sender->Text="Hello World!";
}
}
アプリケーションファイルの準備ができたら、次のURLからアクセスすることができます。 http://Web-server-address/helloworld/index.php
この例ではドキュメントルート配下に helloworld というディレクトリを配置しています。Home.page テンプレートファイル内の TButton を TLinkButton へ変更してみてどのようになるかも試してみてください。
PRADO リリースアーカイブファイルにこのデモのソースを格納しています。また、オンラインデモにて動作を確認する事ができます。