PHP Classes

File: php/php_tip_trick_more.php

Recommend this page to a friend!
  Classes of Kabir Hossain   PHP CodeIgniter Tips Tricks   php/php_tip_trick_more.php   Download  
File: php/php_tip_trick_more.php
Role: Auxiliary script
Content type: text/plain
Description: Configuration script
Class: PHP CodeIgniter Tips Tricks
Collection of tips and examples to use CodeIgniter
Author: By
Last change:
Date: 1 month ago
Size: 3,606 bytes
 

Contents

Class file image Download
<?php
/*+-----------------------------------------------------------------------------+*/
// You are actually saying assign $a by reference to $b.
$a = 42;
$b =& $a;
$array = array('apple', 'orange', 'banana');
// reference in foreach loop
foreach($array as &$d)
{
   
$d = 'fruit';
}
echo
implode(', ', $array); // output: fruit, fruit, fruit
/*+-----------------------------------------------------------------------------+*/

/*+-----------------------------------------------------------------------------+*/
// assignment in IF condition
$b = FALSE;
if (
$a = $b) {
    echo
'Hello world';
}
// output nothing because $a has value to FALSE
/*+-----------------------------------------------------------------------------+*/

$mynum = $mynum + $num;
// It should not be above, is equivalent to
$mynum += $num;

/*+-----------------------------------------------------------------------------+*/
$var = "my name is bob";
// It should be as above
$var = 'my name is bob';
// because php compile "" but not compile ''
/*+-----------------------------------------------------------------------------+*/


/* please make your code clean & easy to read */
//bad to read
if($someCondition==true){ doSomething();
        if(
$otherCondition==true){ doSomethingElse($someVariable); }else{ doSomethingElse($otherVariable); } }
// good to read
if( $someCondition == true ) {
       
doSomething();
        if(
$otherCondition == true ) {
           
doSomethingElse( $someVariable );
        } else {
           
doSomethingElse( $otherVariable );
        }
    }
// and better than above

if( $someCondition == true ) {
 
       
doSomething();
 
        if(
$otherCondition == true ) {
 
           
doSomethingElse( $someVariable );
           
doSomething( $someVariable );
 
        } else {
 
           
doSomethingElse( $otherVariable );
           
doSomething( $someVariable );
 
        }
 
    }

/* using some php keyword */

//using static keyword for singleton pattern
//or check data was loaded,
//
function get_data($data_key) {
    static
$dataset;
    if(!isset(
$dataset[$data_key])) {
       
//query database or something like that to get data
        //set data to static variable
   
}
    return
$dataset[$data_key];
}
//usage example
get_data('lastest_event');
//after that, somewhere has recall
//data was loaded, so we don't reload
get_data('lastest_event');

//static method for object instance
function drupal_container(Container $new_container = NULL) {
 
// We do not use drupal_static() here because we do not have a mechanism by
  // which to reinitialize the stored objects, so a drupal_static_reset() call
  // would leave Drupal in a nonfunctional state.
 
static $container;
  if (isset(
$new_container)) {
   
$container = $new_container;
  }
  return
$container;
}

// get file extension
function get_file_extension($file_name) {
  return
substr(strrchr($file_name,'.'),1);
}

$filename = substr($file_full_path, strrpos($file_full_path, '/') + 1);
// get file name without extension
$filename_without_extension = substr($filename, 0, strrpos($filename, '.'));
// get file extension
$fileext = substr($filename, strrpos($filename, '.') + 1);
// check http has ssl
$http = empty($_SERVER['HTTPS']) ? 'http://' : 'https://';

// from wordpress/wp-includes/functions.php
function is_ssl() {
   if ( isset(
$_SERVER['HTTPS']) ) {
       if (
'on' == strtolower($_SERVER['HTTPS']) )
           return
true;
       if (
'1' == $_SERVER['HTTPS'] )
           return
true;
   } elseif ( isset(
$_SERVER['SERVER_PORT']) && ( '443' ==
$_SERVER['SERVER_PORT'] ) ) {
       return
true;
   }
   return
false;
}