PHP Classes

File: example.php

Recommend this page to a friend!
  Classes of Dave Smith   PHP Time Dilation   example.php   Download  
File: example.php
Role: Example script
Content type: text/plain
Description: Example Usage
Class: PHP Time Dilation
Calculate the time dilation between objects
Author: By
Last change:
Date: 9 years ago
Size: 6,352 bytes
 

Contents

Class file image Download
<?PHP
/*
In this example, we use $v to represent velocity and $t to represent time. Each value is converted to seconds
to be compared against the speed of light in seconds.
*/
include('time_dilation.class.php');
$tdil = new time_dilation;

if( !empty(
$_REQUEST['formSubmitted']) ){
   
   
$velocity = ( empty($_REQUEST['velocity']) ) ? 0 : $_REQUEST['velocity'];
   
$unit = $_REQUEST['unit'];
   
$timeFrame = $_REQUEST['timeFrame'];
   
$years = ( empty($_REQUEST['years']) ) ? 0 : $_REQUEST['years'];
   
$months = ( empty($_REQUEST['months']) ) ? 0 : $_REQUEST['months'];
   
$days = ( empty($_REQUEST['days']) ) ? 0 : $_REQUEST['days'];
   
$hours = ( empty($_REQUEST['hours']) ) ? 0 : $_REQUEST['hours'];
   
$minutes = ( empty($_REQUEST['minutes']) ) ? 0 : $_REQUEST['minutes'];
   
$seconds = ( empty($_REQUEST['seconds']) ) ? 0 : $_REQUEST['seconds'];
   
$percLight = ( empty($_REQUEST['percLight']) ) ? 0 : $_REQUEST['percLight'];
   
    if(
$unit == 'metric' ){
       
$tdil->setSpeedOfLight('metric');
    }elseif(
$unit == 'usa' ){
       
$tdil->setSpeedOfLight('usa');
    }
   
    switch(
$_REQUEST['timeSelect'] ){
        case
'veryNearLight':
           
$v = $tdil->speedOfLight*.999999999;
            break;
        case
'percLight':
           
$v = $tdil->speedOfLight*($percLight/100);
            break;
        default:
           
$v = $tdil->velocityToSec($velocity,$timeFrame);
    }
   
   
$t = $tdil->timeToSec($seconds,$minutes,$hours,$days,$months,$years);
   
    switch(
$_REQUEST['observer'] ){
        case
'stationary':
           
$astro = $tdil->secToTime($t);
           
$earth = $tdil->dilation($t,$v,'stationary');
            break;
        case
'moving':
           
$earth = $tdil->secToTime($t);
           
$astro = $tdil->dilation($t,$v);
            break;
    }
}else{
   
$_REQUEST['timeSelect'] = 'percLight';
   
$_REQUEST['observer'] = 'moving';
}
?>
<html>
    <head>
        <title>Time Dilation Example</title>
        <style>
            a {
                color: black;
                text-decoration: none;
            }
            a:hover {
                color: red;
            }
        </style>
    </head>
    <body>
        <p>This example uses the classic scenario where two twins are in the space program. One is an astronaut and takes off from earth in a spaceship while the other stays on earth to monitor his progress. The faster the astronaut travels, the larger the spread will be between their ages.</p>
        <form method="post">
            <h4>Velocity</h4>
            <div>
                Astronaut will be traveling...
                <div style="margin-top:10px;">
                    <input type="radio" name="timeSelect" value="percLight"<?PHP echo ( $_REQUEST['timeSelect'] == 'percLight' ) ? ' checked' : '';?>> at <input type="text" name="percLight" value="<?PHP echo ( !empty($_REQUEST['percLight']) ) ? $_REQUEST['percLight'] : '';?>" size="4"> precent of light speed
                </div>
                <div style="margin-top:10px;">
                    <input type="radio" name="timeSelect" value="veryNearLight"<?PHP echo ( $_REQUEST['timeSelect'] == 'veryNearLight' ) ? ' checked' : '';?>> very near light speed
                </div>
                <div style="margin-top:10px;">
                    <input type="radio" name="timeSelect" value="custom"<?PHP echo ( $_REQUEST['timeSelect'] == 'custom' ) ? ' checked' : '';?>> at a rate of <input type="text" name="velocity" value="<?PHP echo ( !empty($_REQUEST['velocity']) ) ? $_REQUEST['velocity'] : '';?>" size="6">&nbsp;
                    <select name="unit">
                        <option value="usa"<?PHP echo ( !empty($_REQUEST['unit']) AND $_REQUEST['unit'] == 'usa' ) ? ' selected' : '';?>>miles</option>
                        <option value="metric"<?PHP echo ( !empty($_REQUEST['unit']) AND $_REQUEST['unit'] == 'metric' ) ? ' selected' : '';?>>kilometres</option>
                    </select>
                    <select name="timeFrame">
                        <option value="second"<?PHP echo ( !empty($_REQUEST['timeFrame']) AND $_REQUEST['timeFrame'] == 'second' ) ? ' selected' : '';?>>per Second</option>
                        <option value="minute"<?PHP echo ( !empty($_REQUEST['timeFrame']) AND $_REQUEST['timeFrame'] == 'minute' ) ? ' selected' : '';?>>per Minute</option>
                        <option value="hour"<?PHP echo ( !empty($_REQUEST['timeFrame']) AND $_REQUEST['timeFrame'] == 'hour' ) ? ' selected' : '';?>>per Hour</option>
                    </select>
                <div>
            </div>
            <h4>Time</h4>
            <div>
                Astronaut will be traveling for...<br>
                <input type="text" name="years" size="4" value="<?PHP echo ( !empty($_REQUEST['years']) ) ? $_REQUEST['years'] : '';?>"> Year(s)<br>
                <input type="text" name="months" size="4" value="<?PHP echo ( !empty($_REQUEST['months']) ) ? $_REQUEST['months'] : '';?>"> Month(s)<br>
                <input type="text" name="days" size="4" value="<?PHP echo ( !empty($_REQUEST['days']) ) ? $_REQUEST['days'] : '';?>"> Day(s)<br>
                <input type="text" name="hours" size="4" value="<?PHP echo ( !empty($_REQUEST['hours']) ) ? $_REQUEST['hours'] : '';?>"> Hour(s)<br>
                <input type="text" name="minutes" size="4" value="<?PHP echo ( !empty($_REQUEST['minutes']) ) ? $_REQUEST['minutes'] : '';?>"> Minute(s)<br>
                <input type="text" name="seconds" size="4" value="<?PHP echo ( !empty($_REQUEST['seconds']) ) ? $_REQUEST['seconds'] : '';?>"> Second(s)<br>
            </div>
            <h4>Observer</h4>
            <div>
                As observed by the...<br>
                <input type="radio" name="observer" value="moving"<?PHP echo ( $_REQUEST['observer'] == 'moving' ) ? ' checked' : '';?>> Astronaut<br>
                <input type="radio" name="observer" value="stationary"<?PHP echo ( $_REQUEST['observer'] == 'stationary' ) ? ' checked' : '';?>> Earth<br>
            </div>
            <div style="margin-top:20px;">
                <input type="hidden" name="formSubmitted" value="1">
                <input type="submit" name="submitForm" value="Calculate">&nbsp;
                [<a href="example.php">start over</a>]
            </div>
        </form>
<?PHP
if( !empty($astro) ){
?>
<div style="margin-top:20px;">
            Astronaut traveled for <?PHP echo $earth['years'];?> years, <?PHP echo $earth['months'];?> months, <?PHP echo $earth['days'];?> days, <?PHP echo $earth['hours'];?> hours, <?PHP echo $earth['minutes'];?> minutes, <?PHP echo $earth['seconds'];?> seconds and <?PHP echo $earth['remainder'];?> of a second
        </div>
        <div style="margin-top:10px;">
            The time passed on earth is <?PHP echo $astro['years'];?> years, <?PHP echo $astro['months'];?> months, <?PHP echo $astro['days'];?> days, <?PHP echo $astro['hours'];?> hours, <?PHP echo $astro['minutes'];?> minutes, <?PHP echo $astro['seconds'];?> seconds and <?PHP echo $astro['remainder'];?> of a second
        </div>
<?PHP
}
?>
</body>
</html>