`

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
分享到:
评论

相关推荐

    PhpStorm6 创建yii framework项目

    接下来,我们将探讨如何将创建好的Yii框架项目导入到PhpStorm6中进行进一步开发。 1. 打开PhpStorm6:启动PhpStorm IDE,创建或打开一个项目通常是在主界面上选择一个选项,比如“Open”来打开一个已存在的项目,...

    php YII框架数据库备份模块

    Yii框架并没有内置的数据库备份工具,但可以通过扩展或自定义脚本来实现。一种常见的方法是使用Gii(Yii的代码生成工具)创建一个控制器,该控制器包含一系列动作用于执行备份操作。这些动作可以调用系统的shell命令...

    PHP框架Yii商城源码,带数据库文件.rar

    Yii框架是PHP开发中的一个高性能、基于组件的MVC(模型-视图-控制器)框架,特别适合开发大型Web应用。...通过深入研究源码,开发者不仅可以提升Yii框架的掌握程度,还能学习到电子商务系统的设计和实现技巧。

    yii2命令行中使用migration备份和还原数据库

    本文将详细探讨如何在 Yii2 命令行环境中使用 migration 来实现数据库的备份与还原。 首先,我们需要了解什么是 `migration`。在软件开发过程中,随着应用需求的变化,数据库结构可能需要进行调整。Migration 就是...

    Yii框架中使用PHPExcel的方法分析

    Yii框架是一个基于组件的高性能PHP框架,用于开发Web2.0应用。在Yii中使用PHPExcel,需要理解两者的核心概念和加载机制。...通过这些步骤,你可以在Yii项目中顺利集成和使用PHPExcel,实现对Excel文件的读写操作。

    Yii扩展组件编写方法实例分析

    这在Yii中非常方便,因为一旦组件类在应用中被导入注册,它们的方法就会自动成为应用的一部分。这意味着我们不需要在每次调用时都手动导入类文件,这大大简化了代码的编写。 组件的实现需要遵循Yii框架的设计原则,...

    yii-search:用于Yii2的elasticsearch

    1. **模型集成**:通过简单的配置,可以让Yii2的模型与Elasticsearch索引关联,使得数据库中的数据能够自动同步到Elasticsearch中。 2. **搜索API**:提供了一套与Yii2相一致的查询构造器API,允许开发者使用熟悉的...

    基于PHP的WOC-YII 开源站群管理系统 php版.zip

    Yii还提供了Gii代码生成工具,可以自动生成常见的CRUD(创建、读取、更新、删除)操作的代码,大大提高了开发效率。 3. **站群管理系统**: 这样的系统允许用户集中管理多个独立的网站,包括但不限于内容发布、用户...

    yii框架通过控制台命令创建定时任务示例

    Yii框架是基于组件的高性能PHP框架,用于开发Web2.0应用。在Yii中,创建控制台命令可以方便地执行后台任务,如定时任务。...通过自定义命令和配置,可以轻松集成到现有的项目中,实现自动化操作,提高开发效率。

    Yii配置文件用法详解

    导入部分('import')用于自动加载类,它定义了需要自动加载的命名空间。在示例中,应用模型和组件的类被包含在内,确保应用可以正确加载所需的类。 默认控制器('defaultController')指定了当没有指定具体控制器...

    YII 数据库操作之 Active Record

    如果表有前缀,可以使用花括号包裹,例如`{{post}}`,Yii会自动处理表前缀。 在应用配置中,你需要导入包含AR类的目录,如下所示: ```php return array( 'import'=>array( 'application.models.*', // 导入所有...

    yii2-i18n-module

    这个模块专为帮助开发者在他们的 Yii2 应用程序中轻松实现多语言支持而设计。在本文中,我们将深入探讨 Yii2 框架的 i18n 功能以及该模块如何增强这些功能。 1. **Yii2 框架的 i18n 支持** Yii2 提供了内置的 i18n...

    Yii2框架中使用PHPExcel导出Excel文件的示例

    在Yii2中,我们经常需要处理数据的导入导出,特别是在企业级应用中,导出数据到Excel格式是常见的需求。PHPExcel是一个广泛使用的PHP库,允许开发者创建、读取和修改Excel文件。在Yii2框架中整合PHPExcel,我们可以...

    YII框架学习笔记之命名空间、操作响应与视图操作示例

    值得一提的是,YII框架中的控制器会自动处理这些常用操作,简化了Web开发的流程。 视图操作是YII框架中用于渲染和展示数据给用户的组件。在YII中,视图是MVC架构中的V,负责将数据展示给用户。在我们的示例中,...

    yii-hasoffers-client:HasOffers API的包装器

    接着,你需要将 yii-hasoffers-client 包导入到你的项目中,这通常通过 Composer 实现。Composer 是 PHP 的依赖管理工具,可以方便地管理和安装项目所需的库。 导入后,你需要配置客户端,提供 HasOffers API 的...

    php 重写分页器 CLinkPager的实例

    Yii框架为开发者提供了一个名为CLinkPager的分页组件,它能够快速实现分页功能。CLinkPager使用起来非常方便,开发者可以通过简单的配置即可实现个性化的分页样式。本文主要介绍如何通过重写CLinkPager来实现一个...

    PHP自适应手机版自动发卡平台系统源码_pass.zip

    4. **支付接口**:为了实现在线支付功能,系统可能集成了支付宝、微信支付等第三方支付接口。开发者需要按照这些支付平台提供的API文档进行集成,确保交易的安全性和合法性。 5. **安全措施**:源码中应包含防止SQL...

    基于PHP的考勤管理系统源码.zip

    2. 考勤记录:记录员工的上下班时间、迟到、早退、请假等信息,支持批量导入和导出数据。 3. 考勤统计:根据考勤记录生成报表,如月度、季度、年度考勤汇总,便于人力资源部门进行考勤分析。 4. 请假审批:员工提交...

    707y[BOSS全功能OA办公系统]PHP

    OA系统旨在提升企业内部工作效率,通过数字化流程管理,实现工作流程自动化,涵盖了审批、文档管理、任务协作等多个方面。 【标签】PHP(OA) PHP是这款OA系统的主要编程语言,PHP是一种广泛使用的开源脚本语言,...

    Classes_phpexcel公共方法类库_

    在IT行业中,处理数据时,Excel表格经常被用作数据交换和存储的工具。...在实际开发中,根据具体需求,可以灵活调用这些方法,实现数据的导入导出,格式转换,以及与数据库的交互,大大提升了工作效率。

Global site tag (gtag.js) - Google Analytics