ドキュメント
リリースカレンダー
リンク
SourceForge.jp SourceForge.JPへ
php.net PHP公式サイトへ
TOP  >  ドキュメント  >  コマンドラインユーティリティ > 初期設定構築ツール

初期設定構築ツール

 SyLフレームワークを使用するためのアプリケーション環境一式を作成するツールです。実行後、必要なディレクトリやファイルが作成されます。 実行環境を作成する場合は、最初にプロジェクトディレクトリを作成することになります。

参考) プロジェクトディレクトリ
3.1 ディレクトリ構成 の「プロジェクトディレクトリ (SYL_PROJECT_DIR)」

1. コマンド仕様

実行ファイルは、解凍したアーカイブに対して SyL/bin/setup.php になります。

php setup.php -h

Usage:
  php setup.php -s project [or pro] -d <dir> -n <name> [-c]
  php setup.php -s application [or app] -d <dir> -n <name> [-c]
  php setup.php -s controller [or con] -d <dir> -n <name>
  php setup.php -s action [or act] -d <dir> -n <name> -a <name>
  php setup.php -s template [or tem] -d <dir> -n <name> -t <name>
  php setup.php [option]

Options:
  -s <name>   setup type
  -d <dir>    project directory
  -n <name>   application name
  -c          front controller file (create SYL_PROJECT_DIR/public/[app_name]/[app_name].php)
  -a <name>   action file (path from action directory)
  -t <name>   template file (path from template directory)
  -h          show this help, then exit
  -v          output version information, then exit

引数仕様

オプション 必須 内容
-s <name> 作成タイプ。下記の項目があります。
project (or pro) … SyLプロジェクトを作成します。
application (or app) … SyLアプリケーションを作成します。
controller (or con) … コントローラファイルを作成します。
action (or act) … アクションファイルを作成します。
template (or tem) … テンプレートファイルを作成します。
-d <dir> プロジェクトディレクトリ
-n <name> アプリケーション名
-c   コントローラファイル
-a <file>   アクションファイル
-t <file>   テンプレートファイル
-h   上記のような使用方法が表示されます。コマンド単体で使用します。
-v   バージョン情報が表示されます。コマンド単体で使用します。

2. コマンド実行

このユーティリティは、下記5つの作成ができます。

(1) プロジェクト
(2) アプリケーション
(3) フロントコントローラファイル
(4) アクションファイル
(5) テンプレートファイル

(1) プロジェクト

 プロジェクトを作成します。
setup.php の引数に project(または pro)を指定して、-d に「作成するプロジェクトディレクトリ」、-n に「作成するアプリケーション名」を指定します。

 また同時にコントローラファイルを作成する場合は、-c を指定します。

■ プロジェクト作成コマンド例

$ php setup.php project -d ~/sample_project -n sample -c
create project (.../sample_project/) [Y/n]: > Y
create application (.../sample_project/apps/sample/) [Y/n]: > Y
  -> creating directory .../sample_project/apps
  -> creating directory .../sample_project/config
...
  -> creating file ../htdocs/sample.php
  -> creating file .../sample_project/apps/sample/actions/Index.php
  -> copying file .../sample_project/apps/sample/templates/Index.html
$

プロジェクトを作成した後、コントローラファイルは下記の場所に作成されます。

■ コントローラファイルの生成場所

{$プロジェクトディレクトリ}/public/{$アプリケーション名}/{$アプリケーション名}.php

このコントローラファイルを、WEBから閲覧できるディレクトリに移動させ、 必要に応じて移動したディレクトリに合わせて一部内容を書き換えます。

下記の1つめの赤字の箇所が、SyLディレクトリになります。2つめの赤字の箇所が先ほど作成したプロジェクトディレクトリになります。

■ コントローラファイルの内容

$ cat sample.php
<?php
...
require_once '/home/foo/SyL/framework/../framework/SyL.php';

$config = array(
  'project_dir' => '/home/foo/sample_project',
...

この状態で、ブラウザでコントローラファイルにアクセスするとインストール後の初期画面が表示されます。

インストール後初期画面


(2) アプリケーション

 指定プロジェクト内に、アプリケーションを作成します。
setup.php の引数に application(または app)を指定して、-d に「既存のプロジェクトディレクトリ」、-n に「作成するアプリケーション名」を指定します。

 また同時にコントローラファイルを作成する場合は、-c を指定します。

■ アプリケーション作成コマンド例

$ php setup.php application -d ~/sample_project -n sample2
create application (.../sample_project/apps/sample2/) [Y/n]: > Y
  -> creating directory .../sample_project/apps/sample2/
  -> creating directory .../sample_project/apps/sample2/actions
...
  -> copying file .../sample_project/apps/sample2/lib/App/User.php
  -> creating file .../sample_project/apps/sample2/actions/Index.php
  -> copying file .../sample_project/apps/sample2/templates/Index.html
$


(3) フロントコントローラファイル

 指定プロジェクト内に、フロントコントローラファイルを作成します。
setup.php の引数に controller(または con)を指定して、-d に「既存のプロジェクトディレクトリ」、-n に「作成するアプリケーション名」を指定します。

$ php setup.php controller -d ~/sample_project -n sample2
  -> creating file ../htdocs/sample2.php
$


(4) アクション

 指定アプリケーション内に、アクションファイルを作成します。
setup.php の引数に action(または act)を指定して、-d に「既存のプロジェクトディレクトリ」、-n に「作成するアプリケーション名」、-a に「作成するアクション名」を指定します。

$ php setup.php action -d ~/sample_project -n sample2 -a test1
  -> creating file .../sample_project/apps/sample2/actions/Test1.php
$


(5) テンプレートファイル

 指定アプリケーション内に、テンプレートファイルを新規で作成します。
setup.php の引数に template(または tem)を指定して、-d に「既存のプロジェクトディレクトリ」、-n に「作成するアプリケーション名」、-t に「作成するテンプレート名」を指定します。

$ php setup.php template -d ~/sample_project -n sample2 -t test1
  -> copying file .../sample_project/apps/sample2/templates/Test1.html
$