PHP Classes

File: fwphp/glomodul/z_examples/MVC_FW/02hopkins_2009_clickme/index.php

Recommend this page to a friend!
  Classes of Slavko Srakocic   B12 PHP FW   fwphp/glomodul/z_examples/MVC_FW/02hopkins_2009_clickme/index.php   Download  
File: fwphp/glomodul/z_examples/MVC_FW/02hopkins_2009_clickme/index.php
Role: Example script
Content type: text/plain
Description: Example script
Class: B12 PHP FW
Manage database records with a PDO CRUD interface
Author: By
Last change: Update of fwphp/glomodul/z_examples/MVC_FW/02hopkins_2009_clickme/index.php
Date: 1 year ago
Size: 2,263 bytes
 

Contents

Class file image Download
<?php
// J:\awww\www\fwphp\glomodul\z_examples\02_MVC\02hopkins_2009_clickme\index.php
// M-V DATA FLOW based on Callum Hopkins https://github.com/kenirwin/BasicMVC_PHP
// https://www.sitepoint.com/the-mvc-pattern-and-php-1/ and 2

namespace B12phpfw\clickmeModule ; //FUNCTIONAL NAME SPACING (not dir names ee positional)
// USE is not needed if all scripts have same name space !
//use B12phpfw\clickmeModule\Autoloader as Autoloader ;

require_once __DIR__ . "/Autoloader.php";
spl_autoload_register('B12phpfw\\clickmeModule\\Autoloader::autoload');

$m = new m();
$c = new c($m); //includes m
$v = new v($m); //$v = new v($c, $m); // $c is not needed in v ? (bad logic ?)

  /**
  * code flow STEP 2. R O U T E R
  * we added functionality (ee link) to C, thereby adding INTERACTIVITY to app.
  * ROUTING IS NOT NEEDED IF THERE IS NO USER INTERACTIONS (ee links) :
  */
 
$ctrakcmethod = 'clicked';
  if ( isset(
$_GET['action']) and !empty($_GET['action']) ) {
    
$c->{$_GET['action']}(); //call c.clicked()
    
$ctrakcmethod = '';
  }
 
// E N D code STEP 2.
 
echo $v->out($ctrakcmethod);


// J:\awww\apl\dev1\aplw\tests\L1hopkins_2009_clickme\index.php
// http://dev1:8083/aplw/tests/L1hopkins_2009_clickme/
                //if no spl_autoload_register : aplw\tests dir must be in composer.json !


/*
spl_autoload_register( function($class) {
  $ns_vendor_module = 'B12phpfw\\clickmeModule' ;

  //$cls_script_path_external_m = $_SERVER['DOCUMENT_ROOT'].'/vendor/autoload.php';

  $cls_script_path_module = __DIR__ .'/'
    . str_replace( [$ns_vendor_module,'\\'] //substrings to replace
                     , ['', '/'] //replacements
                     , $class //in string
      ).'.php'; //append cls script extension


  switch (true) {
    //case file_exists($cls_script_path_external_m):
    // include_once $cls_script_path_external_m ;
    // break;
    case file_exists($cls_script_path_module):
      include_once $cls_script_path_module ;
      break;
    default:
      echo '<pre>'; print_r('Namespaced class '. $class .' does not exist'); echo '</pre>';
      break;
  }


});
//require $_SERVER['DOCUMENT_ROOT'].'/vendor/autoload.php'; //for external modules
*/