Maison  >  Article  >  développement back-end  >  À propos de la méthode de Yii Framework pour obtenir toutes les sous-classes de la catégorie

À propos de la méthode de Yii Framework pour obtenir toutes les sous-classes de la catégorie

不言
不言original
2018-06-15 11:02:271886parcourir

Cet article présente principalement la méthode de Yii Framework pour obtenir toutes les sous-classes de la classification. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

Yii est un A. Framework PHP hautes performances basé sur des composants pour le développement d'applications Web à grande échelle. Yii possède presque toutes les fonctionnalités, y compris MVC, DAO/ActiveRecord, I18N/L10N, la mise en cache, la prise en charge AJAX basée sur JQuery, l'authentification des utilisateurs et le contrôle d'accès basé sur les rôles, l'échafaudage, la validation des entrées, les widgets, les événements, les thèmes et les services Web, etc. .

Obtenez toutes les méthodes de sous-catégorie sous la catégorie :

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

La condition préalable pour utiliser la méthode ci-dessus est d'écrire la catégorie dans le cache file , la méthode d'écriture du fichier cache est la suivante :

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 = "<?php\nreturn ".var_export($arr, true).";\n?>";
 file_put_contents($filepath.&#39;itemcat.php&#39;, $applist);
  }

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à tout le monde étude, plus de contenu connexe Veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Comment utiliser des méthodes magiques pour implémenter des fonctions d'appel inter-fichiers via le framework Yii

Utiliser le menu de contrôle des autorisations Yii2 rbac

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn