PHP学习#Yii扩展的使用

本文详细介绍了如何在Yii框架中使用各种扩展,包括如何下载、导入配置、应用部件、动作、过滤器、控制器、校验器以及控制台命令等。通过实例展示了组件、动作、过滤器和控制器的使用方法,并提供了如何在views类中实现校验器和使用扩展的控制台命令的指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

扩展的使用

  1. Yii的扩展下载
  2. 解压到应用程序基目录的子目录 
  3. 导入配置和使用扩展(每个扩展都有唯一标识 不同扩展有着不同的导入配置)、

应用部件:添加一个新条目到应用配置(请求处理中的执行上下文)  的组件属性

   return array(

             'component'=>array(
                    ’xyz'=>array(
                       'calss'=>'aplication.extensions.xyz.XyzClass',
                        'property1'=>'value1',
                         'property2'=>'value2',
          ),
      ),
);

组件:主要在views里 ,假设组件类XyzClass 属于xyz扩展  我们可以这么用: 

// 组件不需要主体
<?php 
	$this->widget('application.extensions.xyz.XyzClass',array(
		'property1'=>'value1',
		'property2'=>'value2'
		));  
?>
// 组件可以包含主体内容
<?php 	$this->bgeinwidget(
	'application.extensions.xyz.XyzClass',
	array(		
		'property1'=>value1,		
		'property2'=>value2	
));
?>
......................组件的主体内容.......................
<?php 	$this->endWidget();?>

 

 动作: 动作被controller用于响应指定的用户请求

class TestController extends CController{
	public function actions(){
 		return array( 
			'xyz'=>array( 
'				class'=>'application.extensions.xyz.XyzClass', 
				'property1'=>value1, 
				'property2'=>value2 
			),
 		);
 	}
}


过滤器: 也是被controller使用, 过滤器主要用于被动作挂起是预处理用户请求,可以在控制器中重写filter

class TestController extends CController{
	public function filters(){
 		return array(     
				'xyz'=>array(
				'class'=>'application.extensions.xyz.XyzClass',
				'property1'=>value1,				
				'property2'=>value2
			),
		);
	}
/*可以在数组的第一个元素里使用加号或者减号操作符来限定过滤器只在哪些动作中生效*/		

控制器: 提供一套可以被用户请求的动作 ,注: 我们需要在应用配置里面设置CWebApplication::controllerMap属性,才能在控制器里面使用的扩展

return  array(

	 'controllerMap'=>array('
		'xyz'=>array(
			'class'=>'application,extension.xyz.XyzClass',
			'property1'=>'value1',
			'property2'=>'value2',
			),
		)
);

校验器: 主要在views类中

class MyMode extends CActiveRecord // OR CFormModel;{
	public function rules(){
		return  array(
				arry(
				'str1,str2'				
				'application,extension.xyz.XyzClass',
				'property1'=>'value1',
				'property2'=>'value2',
			),
		);
	}
}

控制台命令:控制台命令扩展常用一个额外命令来增强yiiC的功能

 return  array(
	'commandMap'=>array(
		'xyz'=>array(
			'class'=>'application,extension.xyz.XyzClass',
			'property1'=>'value1',
			'property2'=>'value2',
			),
	),
);


模块:通常由多个类文件组成。

通用部件:使用前先通过
Yii::import('application.extensions.xyz.XyzClass');
来包含它的类文件。然后可以创建他的实例配置属性等还可以调用方法等等。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值