ホームページ  >  記事  >  バックエンド開発  >  Yii Frameworkのカテゴリ配下の全サブクラスを取得する方法について

Yii Frameworkのカテゴリ配下の全サブクラスを取得する方法について

不言
不言オリジナル
2018-06-15 11:02:271876ブラウズ

この記事では主に、分類の下にあるすべてのサブクラスを取得するための Yii Framework フレームワークの方法を紹介します。これを必要な友人に共有します。

Yii は、 a 大規模な Web アプリケーションを開発するためのコンポーネントベースの高性能 PHP フレームワーク。 Yii には、MVC、DAO/ActiveRecord、I18N/L10N、キャッシング、JQuery ベースの AJAX サポート、ユーザー認証とロールベースのアクセス制御、スキャフォールディング、入力検証、ウィジェット、イベント、テーマ設定、Web サービスなどを含むほぼすべての機能があります。 。

カテゴリの下のすべてのサブカテゴリを取得します:

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

上記の方法を使用するための前提条件は、カテゴリをキャッシュ ファイルに書き込むことです。キャッシュ ファイルの書き込み方法は次のとおりです。

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

以上がこの記事の全内容であり、皆さんの学習に役立つことを願っています。関連コンテンツはPHP中国語ネットにご注目ください!

関連する推奨事項:

マジック メソッドを使用して、Yii フレームワークを通じてファイル間呼び出し関数を実装する方法

##Yii2 rbac 権限制御メニューの使用法

以上がYii Frameworkのカテゴリ配下の全サブクラスを取得する方法についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。