PHP Classes

File: genDummyClass.php

Recommend this page to a friend!
  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: 17 years ago
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 == 0 || !($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());
}
?>