Login   Register  
PHP Classes
elePHPant
Icontem

File: genDummyClass.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Diego Feitosa  >  GenDummyClass  >  genDummyClass.php  >  Download  
File: genDummyClass.php
Role: Example script
Content type: text/plain
Description: Example in command line mode
Class: GenDummyClass
Generate class skeletons from existing classes
Author: By
Last change:
Date: 2006-07-02 18:10
Size: 4,320 bytes
 

Contents

Class file image Download
#!/usr/bin/php
<?php
/**
 *+-----------------------------------------------------------------------+
 *| GenDummyClass - 02 Jul 2006                                           |
 *+-----------------------------------------------------------------------+
 *|  Diego do Nascimento Feitosa                                          |
 *|  diego@dnfeitosa.com                                                  |
 *|  www.dnfeitosa.com                                                    |
 *|  São Paulo/SP - Brasil                                               |
 *+-----------------------------------------------------------------------+
 *| GenDummyClass is free software; you can redistribute it and/or modify |
 *| it under the terms of the GNU General Public License as published by  |
 *| the Free Software Foundation; either version 2 of the License, or     |
 *| (at your option) any later version.                                   |
 *|                                                                       |
 *| GenDummyClass is distributed in the hope that it will be useful, but  |
 *| WITHOUT ANY WARRANTY; without even the implied warranty of            |
 *| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     |
 *| General Public License for more details.                              |
 *|                                                                       |
 *| You should have received a copy of the GNU General Public License     |
 *| along with GenDummyClass; if not, write to the Free Software          |
 *| Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA              |
 *| 02111-1307  USA                                                       |
 *+-----------------------------------------------------------------------+
**/

/*
Exemplo de uso:
# ./genDummyClass.php -c ArrayIterator -e php -r

Irá retornar aum arquivo da classe ArrayIterator e cada uma das interfaces 
    ArrayAccess
    ArrayIterator
    Countable
    Iterator
    SeekableIterator
    Traversable

Ou para usar a classe de teste:
# ./genDummyClass.php -c TestClass -e php -r

*/

class TestParent {
    private function 
parentMethod($param "aaaaa") {
        
// do something
    
}
}

interface 
TestInterface {
    function 
method($param1);
}

class 
TestClass extends TestParent implements TestInterface {

    const 
CONST_STRING "String";
    const 
CONST_INTEGER 1;
    const 
CONST_FLOAT 0.3;
    const 
CONST_BOOL true;

    static public 
$property2;
    private 
$property3;
    protected 
$property4;

    public function 
__construct($param1$param2 false) {
        if (
$param2) {
            
// do something
        
}
        
$this->method($param1);
    }

    public function 
method($param1) {
        
// do something
    
}

    static public function 
staticMethod($param) {
        
// do something
    
}

    protected function 
protectedMethod() {
        
// do something
    
}

}
require_once(
"GenDummyClassFile.inc");

$argv $_SERVER["argv"];

$output null;
$classname null;
$extension null;
$recursive null;
foreach (
$argv as $key => $value) {
    if (
$key == || !($key 2))
        continue;
    switch (
$value) {
        case 
"-o":
            
$value $argv[++$key];
            
$output $value;
            break;
        case 
"-c":
            
$value $argv[++$key];
            
$classname $value;
            break;
        case 
"-e":
            
$value $argv[++$key];
            
$extension $value;
            break;
        case 
"-r":
            
$recursive true;
            break;
        case 
"-h":
        case 
"-help":
        case 
"--help":
            echo 
"Usage: genDummyClass [options] -c className\n";
            echo 
" Options:\n";
            echo 
"  -o\tOutput Directory\n";
            echo 
"  -e\tOutput File Extension\n";
            echo 
"  -h,-H\tThis help message\n\n";
            exit;
        default:
            echo 
"Unknown option \"$value\" \n";
            echo 
"Usage: genDummyClass [options] -c className\n";
            echo 
" Options:\n";
            echo 
"  -o\tOutput Directory\n";
            echo 
"  -e\tOutput File Extension\n";
            echo 
"  -h,-H\tThis help message\n\n";
            exit;
    }
}

if (!
$classname) {
    echo 
"Usage: genDummyClass [options] -c className\n";
    echo 
" Options:\n";
    echo 
"  -o\tOutput Directory\n";
    echo 
"  -e\tOutput File Extension\n";
    echo 
"  -r\tRecursive (Generate all Classes and Interfaces)\n";
    echo 
"  -h,-H\tThis help message\n\n";
    exit;
}

if (
$output || $extension) {
    
$gen = new GenDummyClassFile($classname$extension$recursive);
    
$gen->generate($output);
} else {
    
$gen = new GenDummyClassRecursive($classname);
    
print_r($gen->generate());
}
?>