Page 1 of 1

Code optimisation assistance

Posted: Tue Sep 20, 2005 9:52 pm
by facets
Hello all,

Is there a less complicated way to code the following

Code: Select all

<?
include_once "../includes/functions.inc.php";
include "../includes/common_db.inc";
include("template.inc");

//global $_REQUEST[$action];

$link_id = db_connect($db_materials);

if (isset($_POST['viewRecord'])) {viewPaperSummary($_POST['summaryId']);}
if (isset($_POST['viewFaceStock'])) {view($_POST['stockId']);}
if (isset($_POST['viewAdhesive'])) {viewAdhesives($_POST['adhesiveId']);}
if (isset($_POST['viewLiner'])) {viewLiners($_POST['linerId']);}
if (isset($_POST['searchNow'])) {fnSearchResults();}
if (isset($_POST['editSASummary'])) {view($_POST['summaryId']);}
if (isset($_POST['deleteSummary'])) {deleteSum($_POST['summaryId']);}
if (isset($_POST['submit'])) {updateSummary(); viewSearch();}
if (isset($_POST['viewSearch'])) {viewSearch();}

// Set varibale for switch action 
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : ''; 

switch($action) {

    case "editStockSpec":		fnViewFaceStockSpec();  break;
    case "editAdhesiveSpec":    fnViewAdhesiveSpec();   break;
    case "editLinerSpec":       fnViewLinerSpec();      break; 
    case "editSASummary":       editSASummary();		break;
    case "viewStockSpec":       fnViewFaceStockSpec();  break;
    case "viewAdhesiveSpec":    fnViewAdhesiveSpec();   break;
    case "viewLinerSpec":       fnViewLinerSpec();      break;        
    case "viewAddFaceStock":    fnAddFaceStock();       break; 
    case "addAdhesive":         fnAddAdhesive();        break;
    case "addLiner":            fnAddLiner();         	break;
    case "addFs":				fnCreateFs();         	break;   
    case "addFaceStock":		viewAddFaceStock(); 	break;
    case "addSAStockSummary" :	addSAStockSummary();    break; 
    case "Update" :				updateSummary();    	break;        
    case "submit" :				updateSummary();    	break;  
    case "searchNow" : 			fnSearchResults(); 		break;
    case "viewPaperSummary": 	fnViewColloPaper(); 	break;
    case "delete_record": 		delete_record(); 		break;
    case "viewSearch" :			viewSearch(); 			break;
   	default:        			showMenu();				break;  
   } 

    $tmpl->set_block('page', 'footer');
    $tmpl->pparse('out', 'footer');
?>

Posted: Tue Sep 20, 2005 10:46 pm
by feyd
considering there are many many many paths, not really......

Posted: Tue Sep 20, 2005 10:53 pm
by facets
Hi, Does this make it a little easier to judge?
TIA, Wiil

Code: Select all

<?
include_once "../includes/functions.inc.php";
include "../includes/common_db.inc";
include("template.inc");

//global $_REQUEST[$action];

$link_id = db_connect($db_materials);

if (isset($_POST['viewRecord'])) {
	viewPaperSummary($_POST['summaryId']);
}

if (isset($_POST['submit'])) {
	updateSummary(); viewSearch();
}

if (isset($_POST['viewSearch'])) {
	viewSearch();
}

// Set varibale for switch action
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';

switch($action) {

    case "viewPaperSummary":
	fnViewColloPaper();
	break;
    
    case "Update" :
	updateSummary();
	break;  

    case "searchNow" :
	fnSearchResults();
	break;

    default:
	showMenu();
   }
?>

Posted: Tue Sep 20, 2005 11:04 pm
by feyd
still the same basic issue.. there are many paths for the code to take through execution...

Posted: Tue Sep 20, 2005 11:09 pm
by facets
OK.. thanks feyd.

Posted: Wed Sep 21, 2005 1:25 am
by s.dot
That code seems to be as optimized as it could get. Since the IFs aren't complex in any way, the code will still be executed (unless your functions are complex) very quickly since PHP is very fast. If you're worried about optimization for readability issues, a lot of extra comments wouldn't hurt anything. ;)