統計
| ブランチ: | リビジョン:

pictcode / lib / Cake / Console / Command / Task / BakeTask.php @ 635eef61

履歴 | 表示 | アノテート | ダウンロード (2.003 KB)

1
<?php
2
/**
3
 * Base class for Bake Tasks.
4
 *
5
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
6
 * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
7
 *
8
 * Licensed under The MIT License
9
 * For full copyright and license information, please see the LICENSE.txt
10
 * Redistributions of files must retain the above copyright notice.
11
 *
12
 * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
13
 * @link          http://cakephp.org CakePHP(tm) Project
14
 * @since         CakePHP(tm) v 1.3
15
 * @license       http://www.opensource.org/licenses/mit-license.php MIT License
16
 */
17

    
18
App::uses('AppShell', 'Console/Command');
19

    
20
/**
21
 * Base class for Bake Tasks.
22
 *
23
 * @package       Cake.Console.Command.Task
24
 */
25
class BakeTask extends AppShell {
26

    
27
/**
28
 * Name of plugin
29
 *
30
 * @var string
31
 */
32
        public $plugin = null;
33

    
34
/**
35
 * The db connection being used for baking
36
 *
37
 * @var string
38
 */
39
        public $connection = null;
40

    
41
/**
42
 * Flag for interactive mode
43
 *
44
 * @var bool
45
 */
46
        public $interactive = false;
47

    
48
/**
49
 * Disable caching and enable debug for baking.
50
 * This forces the most current database schema to be used.
51
 *
52
 * @return void
53
 */
54
        public function startup() {
55
                Configure::write('debug', 2);
56
                Configure::write('Cache.disable', 1);
57
                parent::startup();
58
        }
59

    
60
/**
61
 * Gets the path for output. Checks the plugin property
62
 * and returns the correct path.
63
 *
64
 * @return string Path to output.
65
 */
66
        public function getPath() {
67
                $path = $this->path;
68
                if (isset($this->plugin)) {
69
                        $path = $this->_pluginPath($this->plugin) . $this->name . DS;
70
                }
71
                return $path;
72
        }
73

    
74
/**
75
 * Base execute method parses some parameters and sets some properties on the bake tasks.
76
 * call when overriding execute()
77
 *
78
 * @return void
79
 */
80
        public function execute() {
81
                foreach ($this->args as $i => $arg) {
82
                        if (strpos($arg, '.')) {
83
                                list($this->params['plugin'], $this->args[$i]) = pluginSplit($arg);
84
                                break;
85
                        }
86
                }
87
                if (isset($this->params['plugin'])) {
88
                        $this->plugin = $this->params['plugin'];
89
                }
90
        }
91

    
92
}