PHP Classes

File: fwphp/glomodul/user/index.php

Recommend this page to a friend!
  Classes of Slavko Srakocic   B12 PHP FW   fwphp/glomodul/user/index.php   Download  
File: fwphp/glomodul/user/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/user/index.php
Date: 1 year ago
Size: 3,612 bytes
 

Contents

Class file image Download
<?php
declare(strict_types=1);
/**
 * or http://dev1:8083/fwphp/glomodul/user/ if called from ibrowser directly
 * http://dev1:8083 is web adress of one Apache site root, J:\awww\www is it`s Oper. Sys. adress
 * J:\awww\www\fwphp\glomodul\user\index.php
 * http://dev1:8083/fwphp/glomodul/blog/?i/admins/ if called from blog module
 * In Home_ ctr :
 * private function login(object $pp1) { utl_module::login($pp1, $pp1->dashboard) ; }
*/

// m o d u l e is processing (behavior) - optional as B12phpfw - named as we wish,
// only b12phpfw is r equired - see $shares_ path
// u s e r is cls dir (POSITIONAL part of NameSpace, CAREFULLY !)
namespace B12phpfw\module\user ;

use
B12phpfw\core\b12phpfw\Autoload ;

//use B12phpfw\core\b12phpfw\Interf_Tbl_crud ;
//use B12phpfw\core\b12phpfw\Db_allsites ; //DB MySQL

use B12phpfw\core\b12phpfw\Config_allsites ;
use
B12phpfw\dbadapter\user\Tbl_crud ;

use
B12phpfw\module\user\Home_ctr ;


if (
session_status() == PHP_SESSION_NONE) { session_start(); } // or if (!isset($_SESSION))
                                        //} else { if(session_id() == '') { session_start(); } }
                                        //$_SESSION = [] ; //unset($_SESSION) ;

//1. config - settings - properties - assign global variables to use them in any code part
$module_path = str_replace('\\','/', __DIR__) ; // .'/'
$dbicls = 'Db_allsites' ; //$dbicls = 'Db_allsites_ORA' ;
$dir_user = 'user' ;

$pp1 = (object) //=like Oracle Forms property palette (module level) but all sites level and dynamic
[
  
'pp1_group01' => '~~~~~ MODULE ELEMENTS IN PROPERTY PALLETE $pp1 : ~~~~~'
 
, 'module_version'=>'User ver. 11.0.1.0 Mart 2023' //, 'vendor_namesp_prefix'=>'B12phpfw'
 
, 'dbg'=>'1'
 
, 'dbicls' => $dbicls // for MySql DB or ...
 
, 'stack_trace'=>[[str_replace('\\','/', __FILE__ ).', lin='.__LINE__]]
 
//
 
, 'pp1_group02P' => '~~~~~ ADRESSES : PATHS ~~~~~'
 
, 'module_path' => $module_path
 
, 'dir_user' => $dir_user
] ;

require(
dirname(dirname(dirname($module_path))) .'/vendor/b12phpfw/bootstrap.php');

         
//echo '<pre>$pp1->module_path_arr='; print_r($pp1->module_path_arr) ; echo '</pre>';
//2. global cls loads (includes, bootstrap) classes scripts automatically
  //not Composer's autoload cls-es :
require($pp1->shares_path .'/Autoload.php'); //or Composer's autoload cls-es
$autoloader = new Autoload($pp1); //eliminates need to include class scripts
              //require('Autoload.php'); //module-local or Composer's autoload cls-es
              //$autoloader = new Autoload($pp1); //eliminates need to include class scripts

  //3. SAME MODULE DB ADAPTER FOR ANY (NOT HARD CODED) SHARED DBADAPTER
  //$pp1->dbicls = Db_allsites_ORA or Db_allsites for MySql :
 
$shared_dbadapter = 'B12phpfw\\core\\b12phpfw\\'. $pp1->dbicls ;
 
$pp1->shared_dbadapter_obj = new $shared_dbadapter() ;
 
//module DB adapter IS SAME for Db_allsites_ORA and Db_allsites for MySql !!
 
$module_dbadapter_obj = new Tbl_crud($pp1) ;

//4. process request from ibrowser & send response to ibrowser :
//Home_ ctr "inherits" index.php ee inherits $p p 1
$module = new Home_ctr($pp1) ; //also instatiates higher cls : Config_ allsites
       
if ('') {$module::jsmsg( [ str_replace('\\','/',__FILE__ ) //. __METHOD__
          
.', line '. __LINE__ .' SAYS'=>'where am I'
          
,'After Codeflow Step cs03 '=>'AFTER A u t o l o a d and $conf = new Home_ctr($pp1), cs01=bootstraping, cs02=INIT; config; routing, cs03=dispaching, cs04. PROCESSING (model or business logic - preCRUD onCRUD), cs05. OUTPUT (view)'
       
] ) ; }


exit(
0);