Related Links : Search Engine Optimization | | Search Engine Marketing | Online Marketing | Freelance Programmer| SEO Thailand | SEO Expert | SEO services | PHP Programmer Thailand | SEO Tutorial | What is SEO |

  Home Our SEO Services SEO Expert Consultant Php Programmer Scripts| Email : sachin {at} jainsachin {dot} com

PHP | Patterns | Manual | Tutorial | Help

SEO Services



Website Programming in PHP / MYSQL



Friends


    Patterns

    Patterns

    Patterns are ways to describe best practices and good designs. They show a flexible solution to common programming problems.

    Factory

    The Factory pattern allows for the instantiation of objects at runtime. It is called a Factory Pattern since it is responsible for "manufacturing" an object. A Parameterized Factory receives the name of the class to instantiate as argument.

    Example #1 Parameterized Factory Method

    <?php
    class Example
    {
        
    // The parameterized factory method
        
    public static function factory($type)
        {
            if (include_once 
    'Drivers/' $type '.php') {
                
    $classname 'Driver_' $type;
                return new 
    $classname;
            } else {
                throw new 
    Exception ('Driver not found');
            }
        }
    }
    ?>

    Defining this method in a class allows drivers to be loaded on the fly. If the Example class was a database abstraction class, loading a MySQL and SQLite driver could be done as follows:

    <?php
    // Load a MySQL Driver
    $mysql Example::factory('MySQL');

    // Load a SQLite Driver
    $sqlite Example::factory('SQLite');
    ?>

    Singleton

    The Singleton pattern applies to situations in which there needs to be a single instance of a class. The most common example of this is a database connection. Implementing this pattern allows a programmer to make this single instance easily accessible by many other objects.

    Example #2 Singleton Function

    <?php
    class Example
    {
        
    // Hold an instance of the class
        
    private static $instance;
        
        
    // A private constructor; prevents direct creation of object
        
    private function __construct() 
        {
            echo 
    'I am constructed';
        }

        
    // The singleton method
        
    public static function singleton() 
        {
            if (!isset(
    self::$instance)) {
                
    $c __CLASS__;
                
    self::$instance = new $c;
            }

            return 
    self::$instance;
        }
        
        
    // Example method
        
    public function bark()
        {
            echo 
    'Woof!';
        }

        
    // Prevent users to clone the instance
        
    public function __clone()
        {
            
    trigger_error('Clone is not allowed.'E_USER_ERROR);
        }

    }

    ?>

    This allows a single instance of the Example class to be retrieved.

    <?php
    // This would fail because the constructor is private
    $test = new Example;

    // This will always retrieve a single instance of the class
    $test Example::singleton();
    $test->bark();

    // This will issue an E_USER_ERROR.
    $test_clone = clone $test;

    ?>

    SEO Tutorial / Articles





    Php / Mysql Tutorial



    Articles



      Portfolio


      SEO by Jainsachin