`

Yii实现自动导入

    博客分类:
  • php
 
阅读更多

在项目中需要自动导入Yii项目protected部分目录的文件,按照Yii文档,需要在main.php配置文件上逐个文件夹import. 由于项目采用DDD的开发思想, 多了一些自定义的文件夹,每次增加文件夹都要import一次,然后commit,然后所有成员都要update/checkout一次, 有些麻烦. 所以扩展了Yii的CWebApplication来自动import部分文件夹. 直接上代码:

 

//config/main.php文件的配置,这里的设置为自动导入protected下的utils,daos,和hybrid三个文件夹.

return array(
....
	// autoloading model and component classes
	'wkImport'=>array('utils','daos','hybrid'),
.....
}

 

 

class MyApplication extends CWebApplication {
	public function setWkImport($_import){
		$base = Yii::getPathOfAlias('application');
		if(substr($base, -1)!= PATH_SEPARATOR){
			$base.=DIRECTORY_SEPARATOR;
		} 
		foreach ($_import as $package){
			$this->importDirectory($base.$package);
		}
	}
	private function importDirectory($dir){
		$toImport = str_replace( Yii::getPathOfAlias('application'), 'application', $dir);
		Yii::import(str_replace(DIRECTORY_SEPARATOR,'.',$toImport.'.*'));
		
		$children = opendir($dir);
		while (($file=readdir($children))!=false){
			$child = $dir.DIRECTORY_SEPARATOR.$file;
			if($file == '.' || $file == '..'){
				continue;
			}
			if(is_dir($child)){
				$this->importDirectory($child);
			}
		}
	}
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1
3
分享到:
评论

相关推荐

    Yii实现自动加载类地图的方法

    主要介绍了Yii实现自动加载类地图的方法,涉及Yii加载类的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    yii2.0框架实现上传excel文件后导入到数据库的方法示例

    主要介绍了yii2.0框架实现上传excel文件后导入到数据库的方法,结合实例形式详细分析了yii2.0上传excel文件后导入到数据库的相关模型、视图、控制器实现技巧,需要的朋友可以参考下

    yii 实现魔兽世界排名网站源码

    yii 实现魔兽世界副本进度排名,包含工会进度,个人成就进度。装备查询

    yii框架yii框架yii框架yii框架yii框架

    很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架

    yii2框架实现验证码的添加以及验证

    yii2框架实现验证码的添加以及验证

    Yii实现简单分页的方法

    主要介绍了Yii实现简单分页的方法,涉及Yii模型调用读取数据及视图操作相关技巧,需要的朋友可以参考下

    YII2自动登录Cookie总是失效的解决方法

    主要给大家介绍了关于YII2自动登录Cookie总是失效的解决方法,文中给出了详细的解决方法,对遇到这个问题的朋友们具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

    Yii实现用户注册登录、ajax、图片上传、modules编程基础例程(内置完整工程及使用说明)

    使用Yii搭建工程,实现了用户注册登陆,图片上传,并使用ajax实现删除操作,使用Gii生成modules并实现模块编程,内含完整代码及工程使用操作以及sql文件

    深入理解Yii2.0

    通过本书,你将不仅仅了解到Yii怎么使用的实操技巧,还将掌握其实现的技术原理和内幕。 更为重要的是,接触当前Web开发中最为流行又相对成熟的设计模式和开发思路。 衷心希望读者朋友们通过本书能有所收获。

    yii2-shop, 使用 Yii 2.0实现简单商店的示例项目.zip

    yii2-shop, 使用 Yii 2.0实现简单商店的示例项目 Yii 2商店示例项目这是实现一个商店来帮助人们学习 Yii 2.0的例子项目。 它是在 workshop 在Ekaterinburg中执行 8小时时创建的。 这个想法是展示如何处理,网格,...

    PHP YII 发送邮件扩展

    PHP YII 发送邮件扩展 使用方法: $mail = new YiiMailer();...$mail->setTo(Yii::app()->params['adminEmail']); $mail->setSubject('Mail subject'); $mail->setBody('Simple message'); $mail->send();

    Yii2.0打造京东商城平台PHP电商实战Yii2.0视频教程

    Yii2.0级基于Yii1.X完全重写的,不仅是小版本升级的升级。所以想要系统学习Yii2.0这个框架这套教程可以从实战项目带你入手。不错的学习YII框架的基础课程,电商系统的结构完整、框架资源太大,传百度网盘了,链接在...

    Yii实现Command任务处理的方法详解

    主要介绍了Yii实现Command任务处理的方法,结合实例形式分析了Yii配置、加载及使用Command任务处理的步骤与相关技巧,需要的朋友可以参考下

    yii2swoole让yii2运行在swoole上

    yii2 swoole:让yii2运行在swoole上 , 运行在swoole上的yii2是运行在php-fpm上yii2的5倍以上

    yii framework(Yii)框架window版

    Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从 MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主题化,I18N和L10N,Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。事实上...

    YII实现分页的方法

    本文以实例代码简述了yii实现分页的方法,供学习yii的朋友参考,具体代码如下: 1.控制器部分代码:  public function actionTest() { $criteria=new CDbCriteria; $criteria->order='id DESC'; $count=User::...

    PHP yii实现model添加默认值的方法(两种方法)

    yii实现model添加默认值的方法(2种方法) 这篇文章主要介绍了yii实现model添加默认值的方法,结合实例分析了在rules()方法及在beforeSave()方法中设定两种实现技巧,对大家也许有帮助, 本文实例讲述了yii实现model...

    详解yii2实现分库分表的方案与思路

    主要介绍了利用yii2实现分库分表的方案与思路,在研究yii2如何分库分表之前,我先对yii2的核心概念和框架结构做了一个初步的探索,从而找到分库分表的思路。有需要的朋友可以参考借鉴,下面来一起看看吧。

Global site tag (gtag.js) - Google Analytics