mapleコマンド(generator)の使い方
なんだかんだと、忙しい時期(秋1つ目の山)を乗り越えましたので、
また書いていきたいと思います。
さて、今までの説明では、せっせとファイルを作る形で説明してきました。
mapleには、generatorというファイル生成機能があります。それを説明したいと思います。
ver3.2より、generatorに成り代わって、mapleコマンドができました。
ここでは、mapleコマンドを使って説明していきます。
mapleコマンドを使って、お決まりのHello World!までを作ってみましょう。
アプリ用のベースディレクトリを作成します。
/home/foo/maple/ をベースディレクトリとして、作成しました。
ベースディレクトリ以下に、htdocsディレクトリと、webappディレクトリを作成します。
webappディレクトリは、mapleコマンドによって作成します。
$ mkdir htdocs $ maple webapp [create] /home/foo/maple/webapp [create] /home/foo/maple/webapp/modules [create] /home/foo/maple/webapp/logs [create] /home/foo/maple/webapp/components [create] /home/foo/maple/webapp/templates [create] /home/foo/maple/webapp/templates_c [create] /home/foo/maple/webapp/config [create] /home/foo/maple/webapp/config/maple.inc.php [create] /home/foo/maple/webapp/config/global-config.ini [create] /home/foo/maple/webapp/config/base.ini [create] /home/foo/maple/webapp/cache
自動的に必要なディレクトリを作成してくれます。
これでアプリケーションを作る準備は完了しました。
次は、実際に各アクション毎の設定をしていきます。
最初にアクション名を決定します。
今回の処理のアクション名は、「test_hello」とします。
$ maple action test_hello smarty test_hello test_hello [create] /home/foo/maple/webapp/modules/test/hello/Hello.class.php [create] /home/foo/maple/webapp/modules/test/hello/maple.ini [create] /home/foo/maple/webapp/templates/test/hello.html [create] /home/foo/maple/htdocs/test_hello.php
自動的に必要なファイルを作成してくれます。
それぞれの引数の説明です。
最初の引数に応じて何かを作ります(今回はaction)
actionの場合は、アクション名 テンプレートの種類 テンプレート名 エントリポイント
となります。もちろんエントリポイント以外の_は/に置き換えられます。
さて、それぞれのファイルがどうなっているかといいますと。
- htdocs/test_hello.php
<?php error_reporting(E_ALL); //error_reporting(0); /** * MapleのBaseディレクトリの設定 */ define('BASE_DIR', dirname(dirname(__FILE__))); /** * Debugフィルターを発動させるかどうかの設定 */ define('DEBUG_MODE', 0); /** * Mapleの設定ファイルの読込み */ require_once BASE_DIR . "/webapp/config/maple.inc.php"; /** * このアプリの独自設定 */ define('DEFAULT_ACTION', 'test_hello'); define('LOG_LEVEL', LEVEL_TRACE); /** * フレームワーク起動 */ $controller =& new Controller(); $controller->execute(); ?>
- webapp/modules/test/hello/Hello.class.php
<?php /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ /** * [[機能説明]] * * @package [[package名]] * @author Your Name <mail@example.com> * @access public */ class Test_Hello { /** * [[機能説明]] * * @access public */ function execute() { return 'success'; } } ?>
- webapp/modules/test/hello/maple.ini
;[Convert] ;*.trim = [View] success = "test/hello.html"
- webapp/templates/test/hello.html
<html> <head> <meta http-equiv="content-type" content="text/html; charset=EUC-JP"> <title>Hello, Maple!</title> </head> <body> <h1>Hello, Maple!</h1> </body> </html>
上記のように、Hello World(ここではMapleですが・・・)を表示するスケルトンを自動的に作ってくれます。
後は、これに必要なビジネスロジック部分を付け足していくだけですね。
これからは、このmapleコマンドを使った方法で説明していきます。