Home > Backend Development > PHP Tutorial > Yii Framework framework obtains all subclass methods under the classification_PHP tutorial

Yii Framework framework obtains all subclass methods under the classification_PHP tutorial

WBOY
Release: 2016-07-13 10:24:31
Original
879 people have browsed it

Get all subclass methods under the category:

static function getMenuTree($arrCat, $parent_id = 0, $level = 0,$all=True)
 {
  static $arrTree; //使用static代替global
  if(!$all) $arrTree ='';
  if( empty($arrCat)) return FALSE;
  $level++;
  if($level == 1) $arrTree[] = $parent_id;
  foreach($arrCat as $key => $value)
  {
   if($value['parent_cid' ] == $parent_id)
   {
    //$value[ 'level'] = $level;
    $arrTree[] = $value['cid'];
    unset($arrCat[$key]); //注销当前节点数据,减少已无用的遍历
    self::getMenuTree($arrCat, $value[ 'cid'], $level);
   }
  }
  return $arrTree;
 }
Copy after login

The prerequisite for using the above method is to write the categories into the cache file. The cache file writing method is as follows:

public function actionIndex2()
 {
 $filepath = Yii::getPathOfAlias('application').'/data/';
 $arr = array();
 $db = Yii::app()->db;
 $listinfo = $db->createCommand("select name,cid,parent_cid,root_cid from item_cat_info")->queryAll();
 foreach($listinfo as $val)
 {
   $arr[$val['cid']] = array('cid'=>$val['cid'],'name'=>$val['name'],'parent_cid'=>$val['parent_cid'],'root_cid'=>$val['root_cid']);
 }

 $applist = "<&#63;php\nreturn ".var_export($arr, true).";\n&#63;>";
 file_put_contents($filepath.'itemcat.php', $applist);
  }
Copy after login

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/825424.htmlTechArticleGet all subclass methods under the category: static function getMenuTree($arrCat, $parent_id = 0, $level = 0,$all=True) { static $arrTree; //Use static instead of global if(!$all) $arrTr...
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template