Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

generate php classes in bash

Tags:

bash

php

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

like image 748
Derek Avatar asked Nov 18 '11 17:11

Derek


1 Answers

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

like image 55
ata Avatar answered Oct 10 '22 23:10

ata