我试图在yii中遍历我的模型文件的名称,所以我可以在我的管理部分自动填充链接系统.基本上,如果我转到Gii生成器并创建一个新的CRUD部分,我希望它获取模型名称并添加指向该特定CRUD主页的链接.
这是我到目前为止在我的管理主页上的内容:
<li><a href="<?php echo Yii::app()->request->baseUrl; ?>/index.php/admin/company">Edit Company Information</a></li>
<li><a href="<?php echo Yii::app()->request->baseUrl; ?>/index.php/admin/gallery">Edit Gallery</a></li>
所以我只是将“公司”和“画廊”名称改为一个变量来抓取模型的名称并循环通过这个,问题是我将如何去做呢?
解决方法:
您可以使用CFileHelper::findFiles()来获取模型文件夹的内容,
$filenames =CFileHelper::findFiles(Yii::getPathOfAlias("application.models"), array (
'fileTypes'=> array('.php'),
)
);
接下来,您可以对结果应用过滤器,因此您可以排除这些模型,这些模型可能与您设计的模型列表的目的无关.
$modelNames = array();
foreach ($filenames as $filename)
{
//remove off the path
$file = end( explode( '/', $filename ) );
// remove the extension, strlen('.php') = 4
$file = substr( $file, 0, strlen($file) - 4);
$modelNames[]=$file
}
//$modelNames holds all the names of the model files without paths or extensions.