Source for file DevHelper.php
Documentation is available at DevHelper.php
* Teeple2 - PHP5 Web Application Framework inspired by Seasar2
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
* @author Mitsutaka Sato <miztaka@gmail.com>
* @license http://www.php.net/license/3_0.txt PHP License 3.0
require_once SMARTY_DIR .
"Smarty.class.php";
* Actionクラスを自動生成するためのクラスです。
* @var Teeple_ActionChain
* @var Teeple_FilterChain
public function execute($actionName) {
// 作成モードであれば、Actionクラスと設定ファイルを作成
$this->createActionTemplate($actionName);
$this->confirmPage($actionName);
private function createActionTemplate($actionName) {
$this->log->debug("Actionクラスの雛形を作成します。");
list
($className, $classfile, $templatefile) =
$this->makeNames($actionName);
$renderer =
new Smarty();
$renderer->template_dir =
VIEW_TEMPLATE_DIR;
$renderer->compile_dir =
VIEW_COMPILE_DIR;
$renderer->assign('className', $className);
$renderer->assign('actionName', $actionName);
$renderer->assign('templatefile', $templatefile);
$result =
$renderer->fetch('devhelper/template/Action.class.php.txt');
print
"Actionクラスの自動生成に失敗しました。ファイルが作成できません。";
$result =
$renderer->fetch('devhelper/template/template.html');
print
"HTMLの自動生成に失敗しました。ファイルが作成できません。";
print
"Actionクラスを自動生成しました。{$classfile} <br/>";
private function confirmPage($actionName) {
list
($className, $classfile, $templatefile) =
$this->makeNames($actionName);
$isTemplatefile =
"新規作成";
$isTemplatefile =
"存在します";
$renderer->assign('actionName', $actionName);
$renderer->assign('classfile', $classfile);
$renderer->assign('templatefile', $templatefile);
$renderer->assign('isClassfile', $isClassfile);
$renderer->assign('isTemplatefile', $isTemplatefile);
$result =
$renderer->fetch('devhelper/confirm.html');
private function makeNames($actionName) {
$ar =
split('_',$actionName);
$basedir =
MODULE_DIR .
'/'.
implode('/', $ar) .
'/';
$classfile =
$basedir .
ucfirst($action) .
".php";
$templatefile =
$basedir .
$action .
".html";
$this->log->debug("classファイル: {$classfile}");
$this->log->debug("templateファイル: {$templatefile}");
return array($className, $classfile, $templatefile);