/**
  * Calculate the Fibonacci number of the given integer.
  * @param int n If n <= 0 then 0 is assumed.
  * @return int Fibonacci number.
  */
 public static function fib($n)
 {
     if ($n <= 0) {
         return 0;
     } else {
         if ($n == 1) {
             return 1;
         } else {
             return Fibonacci::fib($n - 1) + Fibonacci::fib($n - 2);
         }
     }
 }
 * Copyright 2015 The University of Edinburgh.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 * implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
namespace Maths;

require "Fibonacci.php";
/**
 * Print usage information.
 */
function printUsage()
{
    print "Usage: php FibonacciProgram.php N\n";
    print "  where N >= 0\n";
}
if (count($argv) < 2) {
    printUsage();
} else {
    print Fibonacci::fib($argv[1]);
    print "\n";
}
 /** Test Fibonacci::fib(30). */
 public function testFib30()
 {
     $this->assertEquals(832040, Fibonacci::fib(30));
 }