Show
Ignore:
Timestamp:
02/23/06 20:09:13 (6 years ago)
Author:
john
Message:

added in phpDoc commenting tests docs - Walt

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/trax/vendor/trax/trax_generator.php

    r124 r138  
    11<?php 
    2 # $Id$ 
    3 # 
    4 # Copyright (c) 2005 John Peterson 
    5 # 
    6 # Permission is hereby granted, free of charge, to any person obtaining 
    7 # a copy of this software and associated documentation files (the 
    8 # "Software"), to deal in the Software without restriction, including 
    9 # without limitation the rights to use, copy, modify, merge, publish, 
    10 # distribute, sublicense, and/or sell copies of the Software, and to 
    11 # permit persons to whom the Software is furnished to do so, subject to 
    12 # the following conditions: 
    13 # 
    14 # The above copyright notice and this permission notice shall be 
    15 # included in all copies or substantial portions of the Software. 
    16 # 
    17 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
    18 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
    19 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
    20 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 
    21 # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 
    22 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 
    23 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 
    24  
    25  
     2/** 
     3 *  File containing the TraxGenerator class 
     4 * 
     5 *  (PHP 5) 
     6 * 
     7 *  @package PHPonTrax 
     8 *  @version $Id$ 
     9 *  @copyright (c) 2005 John Peterson 
     10 * 
     11 *  Permission is hereby granted, free of charge, to any person obtaining 
     12 *  a copy of this software and associated documentation files (the 
     13 *  "Software"), to deal in the Software without restriction, including 
     14 *  without limitation the rights to use, copy, modify, merge, publish, 
     15 *  distribute, sublicense, and/or sell copies of the Software, and to 
     16 *  permit persons to whom the Software is furnished to do so, subject to 
     17 *  the following conditions: 
     18 * 
     19 *  The above copyright notice and this permission notice shall be 
     20 *  included in all copies or substantial portions of the Software. 
     21 * 
     22 *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
     23 *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
     24 *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
     25 *  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 
     26 *  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 
     27 *  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 
     28 *  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 
     29 */ 
     30 
     31/** 
     32 *  Implement the commands of {@link generate.php script/generate.php} 
     33 * 
     34 *  <p>Legal commands:</p> 
     35 *  <ul> 
     36 *    <li>{@link generate_controller() controller}</li> 
     37 *    <li>{@link generate_model() model}</li> 
     38 *    <li>{@link generate_scaffold() scaffold}</li> 
     39 *  </ul> 
     40 * 
     41 *  @package PHPonTrax 
     42 */ 
    2643class TraxGenerator { 
    2744 
     
    4259        $view_file_extention = TRAX_VIEWS_EXTENTION; 
    4360 
     61    /** 
     62     *  Constructor for the TraxGenerator object 
     63     * 
     64     *  @uses $GLOBALS['TRAX_INCLUDES'] 
     65     *  @global string[] $GLOBALS['TRAX_INCLUDES'] Array of paths to 
     66     *                                             various Trax directories 
     67     */ 
    4468    function __construct() { 
    4569        $this->view_path = TRAX_ROOT . $GLOBALS['TRAX_INCLUDES']['views']; 
     
    6286    } 
    6387 
     88    /** 
     89     *  Parse command line and carry out the command 
     90     *  @todo Document this method 
     91     */ 
    6492    function run() { 
    6593        $command = strtolower($_SERVER["argv"][1]); 
     
    107135    } 
    108136 
     137    /** 
     138     *  Implement "generate controller" command 
     139     * 
     140     *  <p>Example:<br><samp>php script/generate.php controller</samp> 
     141     *  <i>SomeName</i><br> 
     142     *  will generate:</p> 
     143     *  <ul> 
     144     *    <li>a file 
     145     *  <samp>app/controllers/</samp><i>some_name</i><samp>_controller.php</samp><br> 
     146     *  containing the class definition<br> 
     147     *  <samp>class</samp> <i>SomeName</i><samp>Controller extends 
     148     *  ApplicationController {}</samp></li> 
     149     *     <li>a file 
     150     *  <samp>app/helpers/</samp><i>some_name</i><samp>_helper.php</samp></li> 
     151     *     <li>a directory 
     152     *  <samp>app/views/</samp><i>some_name</i></li> 
     153     *  </ul> 
     154     * 
     155     *  <p>Optionally, one or more views can be appended to the command:<br> 
     156     *  <samp>php script/generate.php controller</samp> 
     157     *  <i>SomeName view1 view2</i><br> 
     158     *  which will additionally generate files:<br> 
     159     *  <samp>app/views/</samp><i>some_name/view1</i><samp>.phtml</samp><br> 
     160     *  <samp>app/views/</samp><i>some_name/view2</i><samp>.phtml</samp></p> 
     161     * 
     162     *  @param string $name Name of the controller to generate in camel case 
     163     *  @param string $views  Optional list of views to generate 
     164     *  @param boolean $scaffolding 
     165     */ 
    109166    function generate_controller($name, $views="", $scaffolding = false) { 
    110167 
     
    158215    } 
    159216 
     217    /** 
     218     *  Implement the "generate model" command 
     219     * 
     220     *  <p>Example:<br><samp>php script/generate.php model</samp> 
     221     *  <i>SomeName</i><br> 
     222     *  will generate a file 
     223     *  <samp>app/models/</samp><i>some_name</i><samp>.php</samp><br> 
     224     *  containing the class definition<br> 
     225     *  <samp>class</samp> <i>SomeName</i> <samp>extends 
     226     *  ActiveRecord {}</samp> 
     227     *  @param string $name Name of the model 
     228     */ 
    160229    function generate_model($name) { 
    161230 
     
    188257    } 
    189258     
     259    /** 
     260     *  Implement the "generate scaffold" command 
     261     * 
     262     *  @param string $model_name 
     263     *  @param string $controller_name 
     264     *  @param string $views 
     265     */ 
    190266    function generate_scaffold($model_name, $controller_name, $views="") { 
    191267        if(!$model_exists = $this->generate_model($model_name)) { 
     
    339415    }     
    340416 
     417    /** 
     418     *  @todo Document this method 
     419     * 
     420     */ 
    341421    function create_controller($controller,$views="") { 
    342422 
     
    369449    } 
    370450 
     451    /** 
     452     *  @todo Document this method 
     453     * 
     454     */ 
    371455    function create_helper($controller) { 
    372456 
     
    391475    } 
    392476 
     477    /** 
     478     *  @todo Document this method 
     479     * 
     480     */ 
    393481    function create_view($view, $controller) { 
    394482        $view_file = "$this->view_path/".$view.".".$this->view_file_extention; 
     
    412500    } 
    413501 
     502    /** 
     503     *  Execute an operating system command 
     504     * 
     505     *  @param string $cmd  Command to be executed 
     506     */ 
    414507    function exec($cmd) { 
    415508        if (substr(PHP_OS, 0, 3) == 'WIN') { 
     
    420513    } 
    421514     
     515    /** 
     516     *  Replace "< ?php ... ? >" with "<?php ... ?>" 
     517     * 
     518     *  @param string $string  String to be edited 
     519     *  @return string Edited input string 
     520     */ 
    422521    function fix_php_brackets($string) { 
    423522        return str_replace("? >", "?>", str_replace("< ?php", "<?php", $string));             
    424523    } 
    425524 
     525    /** 
     526     *  Output console help message for "generate controller" 
     527     */ 
    426528    function controller_help() { 
    427529        echo "Usage: ./generate.php controller ControllerName [view1 view2 ...]\n\n"; 
     
    448550    } 
    449551 
     552    /** 
     553     *  Output console help message for "generate model" 
     554     */ 
    450555    function model_help() { 
    451556        echo "Usage: ./generate.php model ModelName\n"; 
     
    461566    } 
    462567     
     568    /** 
     569     *  Output console help message for "generate scaffold" 
     570     */ 
    463571    function scaffold_help() { 
    464572        echo "Usage: ./generate scaffold ModelName [ControllerName] [view1 view2 ...]\n\n"; 
     
    487595    } 
    488596 
     597    /** 
     598     *  Output console help message for unrecognized command 
     599     */ 
    489600    function generator_help() { 
    490601        echo "Usage:\n";