mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-01-19 02:56:15 +00:00
Refactoring code generation into controller.ctp
This commit is contained in:
parent
c0f06be65e
commit
d31c43d409
2 changed files with 77 additions and 48 deletions
|
@ -160,7 +160,10 @@ class ControllerTask extends Shell {
|
||||||
__("Would you like to use dynamic scaffolding?", true), array('y','n'), 'n'
|
__("Would you like to use dynamic scaffolding?", true), array('y','n'), 'n'
|
||||||
);
|
);
|
||||||
|
|
||||||
if (strtolower($useDynamicScaffold) == 'n') {
|
if (strtolower($useDynamicScaffold) == 'y') {
|
||||||
|
$wannaBakeCrud = 'n';
|
||||||
|
$actions = 'scaffold';
|
||||||
|
} else {
|
||||||
list($wannaBakeCrud, $wannaBakeCrud) = $this->_askAboutMethods();
|
list($wannaBakeCrud, $wannaBakeCrud) = $this->_askAboutMethods();
|
||||||
|
|
||||||
$helpers = $this->doHelpers();
|
$helpers = $this->doHelpers();
|
||||||
|
@ -170,8 +173,6 @@ class ControllerTask extends Shell {
|
||||||
$wannaUseSession = $this->in(
|
$wannaUseSession = $this->in(
|
||||||
__("Would you like to use Session flash messages?", true), array('y','n'), 'y'
|
__("Would you like to use Session flash messages?", true), array('y','n'), 'y'
|
||||||
);
|
);
|
||||||
} else {
|
|
||||||
$wannaBakeCrud = 'n';
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
list($wannaBakeCrud, $wannaBakeCrud) = $this->_askAboutMethods();
|
list($wannaBakeCrud, $wannaBakeCrud) = $this->_askAboutMethods();
|
||||||
|
@ -216,8 +217,7 @@ class ControllerTask extends Shell {
|
||||||
$this->out("Controller Name:\n\t$controllerName");
|
$this->out("Controller Name:\n\t$controllerName");
|
||||||
|
|
||||||
if (strtolower($useDynamicScaffold) == 'y') {
|
if (strtolower($useDynamicScaffold) == 'y') {
|
||||||
$this->out("\t\tvar \$scaffold;");
|
$this->out("var \$scaffold;");
|
||||||
$actions = 'scaffold';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$properties = array(
|
$properties = array(
|
||||||
|
@ -428,52 +428,17 @@ class ControllerTask extends Shell {
|
||||||
* @access private
|
* @access private
|
||||||
*/
|
*/
|
||||||
function bake($controllerName, $actions = '', $helpers = null, $components = null, $uses = null) {
|
function bake($controllerName, $actions = '', $helpers = null, $components = null, $uses = null) {
|
||||||
$out = "<?php\n";
|
$isScaffold = ($actions === 'scaffold') ? true : false;
|
||||||
$out .= "class $controllerName" . "Controller extends {$this->plugin}AppController {\n\n";
|
|
||||||
$out .= "\tvar \$name = '$controllerName';\n";
|
|
||||||
|
|
||||||
if (low($actions) == 'scaffold') {
|
$this->Template->set('plugin', $this->plugin);
|
||||||
$out .= "\tvar \$scaffold;\n";
|
$this->Template->set(compact('controllerName', 'actions', 'helpers', 'components', 'uses', 'isScaffold'));
|
||||||
} else {
|
$contents = $this->Template->generate('objects', 'controller');
|
||||||
if (count($uses)) {
|
|
||||||
$out .= "\tvar \$uses = array('" . $this->_modelName($controllerName) . "', ";
|
|
||||||
|
|
||||||
foreach ($uses as $use) {
|
|
||||||
if ($use != $uses[count($uses) - 1]) {
|
|
||||||
$out .= "'" . $this->_modelName($use) . "', ";
|
|
||||||
} else {
|
|
||||||
$out .= "'" . $this->_modelName($use) . "'";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$out .= ");\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
$out .= "\tvar \$helpers = array('Html', 'Form'";
|
|
||||||
if (count($helpers)) {
|
|
||||||
foreach ($helpers as $help) {
|
|
||||||
$out .= ", '" . Inflector::camelize($help) . "'";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$out .= ");\n";
|
|
||||||
|
|
||||||
if (count($components)) {
|
|
||||||
$out .= "\tvar \$components = array(";
|
|
||||||
|
|
||||||
foreach ($components as $comp) {
|
|
||||||
if ($comp != $components[count($components) - 1]) {
|
|
||||||
$out .= "'" . Inflector::camelize($comp) . "', ";
|
|
||||||
} else {
|
|
||||||
$out .= "'" . Inflector::camelize($comp) . "'";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$out .= ");\n";
|
|
||||||
}
|
|
||||||
$out .= $actions;
|
|
||||||
}
|
|
||||||
$out .= "}\n";
|
|
||||||
$out .= "?>";
|
|
||||||
$filename = $this->path . $this->_controllerPath($controllerName) . '_controller.php';
|
$filename = $this->path . $this->_controllerPath($controllerName) . '_controller.php';
|
||||||
return $this->createFile($filename, $out);
|
if ($this->createFile($filename, $contents)) {
|
||||||
|
return $contents;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Assembles and writes a unit test file
|
* Assembles and writes a unit test file
|
||||||
|
|
64
cake/console/libs/templates/objects/controller.ctp
Normal file
64
cake/console/libs/templates/objects/controller.ctp
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Controller bake template file
|
||||||
|
*
|
||||||
|
* Allows templating of Controllers generated from bake.
|
||||||
|
*
|
||||||
|
* PHP versions 4 and 5
|
||||||
|
*
|
||||||
|
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
|
||||||
|
* Copyright 2005-2009, Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||||
|
*
|
||||||
|
* Licensed under The MIT License
|
||||||
|
* Redistributions of files must retain the above copyright notice.
|
||||||
|
*
|
||||||
|
* @copyright Copyright 2005-2009, Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||||
|
* @link http://cakephp.org
|
||||||
|
* @package cake
|
||||||
|
* @subpackage cake.
|
||||||
|
* @since CakePHP(tm) v 1.3
|
||||||
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||||
|
*/
|
||||||
|
|
||||||
|
echo "<?php\n";
|
||||||
|
?>
|
||||||
|
class <?php echo $controllerName; ?>Controller extends <?php echo $plugin; ?>AppController {
|
||||||
|
|
||||||
|
var $name = '<?php echo $controllerName; ?>';
|
||||||
|
<?php if ($isScaffold): ?>
|
||||||
|
var $scaffold;
|
||||||
|
<?php else: ?>
|
||||||
|
<?php
|
||||||
|
if (count($uses)):
|
||||||
|
echo "\tvar \$uses = array('" . $this->_modelName($controllerName) . "'";
|
||||||
|
foreach ($uses as $use):
|
||||||
|
echo ", '" . $this->_modelName($use) . "'";
|
||||||
|
endforeach;
|
||||||
|
echo ");\n";
|
||||||
|
endif;
|
||||||
|
|
||||||
|
echo "\tvar \$helpers = array('Html', 'Form'";
|
||||||
|
if (count($helpers)):
|
||||||
|
foreach ($helpers as $help):
|
||||||
|
echo ", '" . Inflector::camelize($help) . "'";
|
||||||
|
endforeach;
|
||||||
|
endif;
|
||||||
|
echo ");\n";
|
||||||
|
|
||||||
|
if (count($components)):
|
||||||
|
echo "\tvar \$components = array(";
|
||||||
|
for ($i = 0, $len = count($components); $i < $len; $i++):
|
||||||
|
if ($i != $len - 1):
|
||||||
|
echo "'" . Inflector::camelize($components[$i]) . "', ";
|
||||||
|
else:
|
||||||
|
echo "'" . Inflector::camelize($components[$i]) . "'";
|
||||||
|
endif;
|
||||||
|
endfor;
|
||||||
|
echo ");\n";
|
||||||
|
endif;
|
||||||
|
|
||||||
|
echo $actions;
|
||||||
|
|
||||||
|
endif; ?>
|
||||||
|
}
|
||||||
|
<?php echo "?>"; ?>
|
Loading…
Add table
Reference in a new issue