PHP Classes

File: examples.php

Recommend this page to a friend!
  Classes of Corey Sewell   GDM Types   examples.php   Download  
File: examples.php
Role: Example script
Content type: text/plain
Description: Main examples
Class: GDM Types
Manipulate scalar data types as objects
Author: By
Last change: Update of examples.php
Date: 4 months ago
Size: 3,822 bytes
 

Contents

Class file image Download
<?php
require './vendor/autoload.php';

function
stringExample()
{
   
$string = "Here is a string that we will use for some examples ";

// Implements __toString, so object instances can be used as plain old strings
   
$echoMe = GDM\Framework\Types\String::create($string);
    echo
$echoMe; // Outputs "Here is a string that we will use for some examples"
   
echo "<br/>";

// Simple example
   
$truncateMe = GDM\Framework\Types\String::create($string);
    echo
$truncateMe->neatTruncate(10); // Outputs "Here is...";
   
echo "<br/>";

// Most methods are Chainable
   
$chainMe = GDM\Framework\Types\String::create($string);
    echo
$chainMe->leftTrim("H")->upperCaseWords()->replace('/String/', 'Sentence'); // Outputs "Ere Is A Sentence That We Will Use For Some Examples "
   
echo "<br/>";
}

function
dateExample()
{
   
$date = "01/01/2014 14:35";

// Set global defaults
   
\GDM\Framework\Types\Settings\DefaultDateSettings::$defaultTimeZone = 'Pacific/Auckland';
    \
GDM\Framework\Types\Settings\DefaultDateSettings::$defaultDateFromat = 'd/m/Y';
    \
GDM\Framework\Types\Settings\DefaultDateSettings::$defaultDateTimeFromat = 'd/m/Y H:i';
    \
GDM\Framework\Types\Settings\DefaultDateSettings::$defaultLongDateFormat = 'l jS \of F Y';
    \
GDM\Framework\Types\Settings\DefaultDateSettings::$defaultLongDateTimeFormat = 'l jS \of F Y h:i:s A';
   
// Or pass a settings object in
   
$settings = GDM\Framework\Types\Settings\DateSettings::create('Pacific/Auckland',
                                                                                                                                     
'd/m/Y', 'd/m/Y H:i',
                                                                                                                                     
'l jS \of F Y',
                                                                                                                                     
'l jS \of F Y',
                                                                                                                                     
'l jS \of F Y h:i:s A');

   
// Implements __toString, so object instances can be used as plain old strings
   
$echoMe = GDM\Framework\Types\Date::create($date, $settings);
    echo
$echoMe; // Outputs "01/01/2014 14:35"
   
echo "<br/>";

   
// Long fromat
   
echo $echoMe->toLongDateTime(); // Outputs "Wednesday 1st of January 2014";
   
echo "<br/>";

   
// Helpers
   
echo GDM\Framework\Types\Date::getDaysDiff("01/01/2014", "21/01/2014"); // Outputs "20"
   
echo "<br/>";

    foreach (
GDM\Framework\Types\Date::daysOfTheWeek() as $day) {
        echo
$day."<br/>";
    }
// Outputs Monday
    // Tuesday
    // Wednesday
    // Thursday
    // Friday
    // Saturday
    // Sunday
}

function
urlExample()
{
   
$urlString = "http://www.example.com/path/to/file?foo=bar";

   
// Implements __toString, so object instances can be used as plain old strings
   
$echoMe = GDM\Framework\Types\Url::create($urlString);
    echo
$echoMe; // Outputs "http://www.example.com/path/to/file?bar=foo"
   
echo "<br/>";

   
// Url parameters are readable as propertie
   
echo $echoMe->foo; // Outputs "bar";
   
echo "<br/>";
   
// You can also set properties
   
$echoMe->bar = "some-new-value";
    echo
$echoMe; // Outputs "http://www.example.com/path/to/file?foo=bar&bar=some-new-value";
   
echo "<br/>";

   
// Path segements are array accessable
   
echo $echoMe[1]; // Outputs "to"
   
echo "<br/>";
   
$echoMe[3] = "somewhere";
    echo
$echoMe; // Outputs "http://www.example.com/path/to/file/somewhere?foo=bar&bar=some-new-value";
   
echo "<br/>";
}
stringExample();
dateExample();
urlExample();