Skip to content

Instantly share code, notes, and snippets.

@kandran
Last active August 29, 2015 14:21

Revisions

  1. kandran revised this gist May 14, 2015. 4 changed files with 4 additions and 0 deletions.
    1 change: 1 addition & 0 deletions ApplicationA.php
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,5 @@
    <?php

    require_once("ApplicationInterface.php");

    class ApplicationA implements ApplicationInterface{
    1 change: 1 addition & 0 deletions ApplicationB.php
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,5 @@
    <?php

    require_once("ApplicationInterface.php");

    class ApplicationB implements ApplicationInterface{
    1 change: 1 addition & 0 deletions ApplicationStarter.php
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,5 @@
    <?php

    require_once("ApplicationInterface.php");

    class ApplicationStarter{
    1 change: 1 addition & 0 deletions index.php
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,5 @@
    <?php

    require_once("ApplicationA.php");
    require_once("ApplicationB.php");
    require_once("ApplicationStarter.php");
  2. kandran created this gist May 14, 2015.
    11 changes: 11 additions & 0 deletions ApplicationA.php
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,11 @@
    <?php
    require_once("ApplicationInterface.php");

    class ApplicationA implements ApplicationInterface{
    public function run()
    {
    echo "<br/> Application A start running";
    //some computation
    echo "<br/> Application A finished";
    }
    }
    11 changes: 11 additions & 0 deletions ApplicationB.php
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,11 @@
    <?php
    require_once("ApplicationInterface.php");

    class ApplicationB implements ApplicationInterface{
    public function run()
    {
    echo "<br/> Application B start running";
    //some other computation
    echo "<br/> Application B finished";
    }
    }
    6 changes: 6 additions & 0 deletions ApplicationInterface.php
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,6 @@
    <?php

    interface ApplicationInterface
    {
    public function run();
    }
    9 changes: 9 additions & 0 deletions ApplicationStarter.php
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,9 @@
    <?php
    require_once("ApplicationInterface.php");

    class ApplicationStarter{
    public function startApplication(ApplicationInterface $application)
    {
    $application->run(); //here we don't know the class name of application
    }
    }
    15 changes: 15 additions & 0 deletions index.php
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,15 @@
    <?php
    require_once("ApplicationA.php");
    require_once("ApplicationB.php");
    require_once("ApplicationStarter.php");

    $applicationStarterObject = new ApplicationStarter();
    $application1 = new ApplicationA();
    $application2 = new ApplicationB();
    $application3 = new ApplicationA();

    $applicationsToRun = array($application1, $application2 , $application3);

    foreach($applicationsToRun as $application){
    $applicationStarterObject->startApplication($application);
    }