<?php
/*
* ***************************************************************************************************
*
* File name: example2.php
*
* Copyright © 2015 Alessandro Quintiliani
*
* This file is part of LogDeltaTime.
*
* LogDeltaTime 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 3 of the License, or
* (at your option) any later version.
*
* LogDeltaTime 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 LogDeltaTime. If not, see <http://www.gnu.org/licenses/>.
*
* ***************************************************************************************************
*/
// DEBUG OF example2.php WITH THE LOG STATEMENTS WRITTEN IN THE SECOND FORMAT INTO THE LOG FILE (invoked methods: setDeltaLog, wlog, end)
const MYVAR_VALUE = 10;
const MAX_FACTORIAL = 14;
include ("Class.LogDeltaTime.php");
$LOGDIR = 'log';
$LOGFILE = 'logexample2.txt';
$log = new LogDeltaTime ( $LOGDIR, $LOGFILE, 1 ); // replace the value of the third parameter with 2 to append the statements to logexample1.txt after each run of example2.php
$log>setDeltaLog ( false ); // FROM THIS POINT ON, EACH LOG STATEMENT IS WRITTEN IN THE SECOND FORMAT TO THE LOG FILE
$log>wlog ( "first statement" );
$log>wlog ( "initializing myvar and c variables" );
$myvar = rand ( 7, MYVAR_VALUE );
$c = 0;
$log>wlog ( "check if myvar=" . MYVAR_VALUE . ": if so, a block code with an addition instruction is executed" );
$log>wlog ( "begin 'if' block having myvar as a control variable and executed only if myvar=" . MYVAR_VALUE );
$log>wlog ( "value of myvar: $myvar" );
if ($myvar == MYVAR_VALUE) {
$log>wlog ( "entered the block code having myvar=$myvar" );
$log>wlog ( "first message log in the 'if' block having myvar=$myvar" );
$log>wlog ( "set values of a and b" );
$a = rand ( 5, 9 );
$b = rand ( 5, 9 );
$log>wlog ( "executing simple addition between a=$a and b=$b and the sum is placed in c" );
$c = $a + $b;
$log>wlog ( " c (= a + b) equals $c" );
$log>wlog ( "last message log in the 'if' block having myvar=$myvar as a control variable" );
}
$log>wlog ( "end 'if' block having myvar as a control variable and executed only if myvar=" . MYVAR_VALUE );
$log>wlog ( "begin new if block code having c as a control variable used as input to calculate its factorial number (allowed values of c: [0" . MAX_FACTORIAL . "])" );
$log>wlog ( "value of c: $c" );
if ($c < 0) {
$log>wlog ( "first log message in the 'if' block having c as a control variable" );
$log>wlog ( " c=$c: cannot calculate the factorial of a negative number" );
$factorial = "undefined";
} elseif ($c > MAX_FACTORIAL) {
$log>wlog ( "first log message in the if block having c>" . MAX_FACTORIAL );
$log>wlog ( " c=$c: " . MAX_FACTORIAL . " is the maximum allowed value for c" );
} else {
$log>wlog ( "first log message in the if block having c>=0 and c<=" . MAX_FACTORIAL );
$log>wlog ( " c=$c (c > 1 and c <= " . MAX_FACTORIAL . "): its factorial value can be calculated" );
if ($c <= 1) {
$log>wlog ( "c=$c > c!=1 " );
$factorial = 1;
} else {
$factorial = $c;
$log>wlog ( "begin for loop to calculate $c! in an iterative way" );
for($i = $c; $i > 2; $i ) {
$stepfact = $c  $i + 1;
$log>wlog ( "execution factorial step $stepfact" );
$factorial *= ($i  1);
$log>wlog ( "intermediate factorial value: $factorial" );
}
$log>wlog ( "end for loop with factorial=$factorial" );
}
}
$log>wlog ( "end new if block code having c as a control variable used as input to calculate its factorial number (allowed values of c: [0" . MAX_FACTORIAL . "])" );
$log>wlog ( "at this point, c=$c, $c!=$factorial" );
$log>wlog ( "last statement" );
$log>end ();
unset ( $log );
?>
