Thursday, April 19, 2012

generate php classes in bash


i have this script:




#!/bin/bash

if [[ -z "$1" ]] ; then
echo "Class is required"
exit 1;
fi

if [[ -z "$2" ]] ; then
package="Default"
else
package=$2;
fi

echo "<?php
/**
* $1.class.php
*
* Vcard class file.
* @name Project
* @author Author
* @link http://www.domain.com
* @copyright Copyright © 2011
* @package $package
* @version 1.0
*/

/**
* The main $1 class
* @package $package
*/
class $1 {

/**
* Constructor setup.
*/
public function __construct() {
}

/**
* Destructor setup.
*/
public function __destruct() {
}
}
" > $1.class.php

php -l $1.class.php
echo "Done";



if i do:



./generate.sh my_class it creates everything with my_class . how can i modify this to: MyClass?



i need to use MyClass for the filename, and the class name etc... later in the code i use the argument (in this case my_class) for some other purposes.



thanks


Source: Tips4all

2 comments:

  1. If you want to ensure it's called MyClass you can add this somewhere after the validations:

    fname=$( IFS='_'; for i in ${1,,}; do echo -n ${i^}; done )


    And use $fname.class.php

    ReplyDelete
  2. It looks like it is already set up for that. Just execute ./generate.sh MyClass

    ReplyDelete