| 
<?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;
 }
 
 |