`
lesorb
  • 浏览: 123814 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CakePHP开发之helpers

阅读更多
helper顾名思义就是帮助类,主要运用于视图view层.

CakePHP在设计之初就充分考虑到了扩充性,在view中,常常会遇到需要处理的并且会多次重复使用到的框架,元素,部份数据...譬如:图表,编辑器等.

这个时候,就是helper大显身手的时候:

在CakePHP中,helper一般位于app/view/helper/目录下,当然这里指的是自己扩充的helper.

helper其实就是一个类库,他的命名也应该遵循CakePHP的相关{变形}法则.

像引入Tinymce编辑器的一个常用的helper帮助类如下:

class TinymceHelper extends Helper{
	// to do ...

	//在helpers中引入其它helper
	var $helpers = array('javascript');
	
	//变量,规定tiny_mce.js的存放相对路径
	var $tinymce_url = 'tiny_mce.js';

	var $options = array(
		'mode' => 'textareas',
		'elements' => "NodeBody",
		'theme' => 'advanced',
		'plugins' =>"..."
	);

	function init($options = false){
		$configs = '';

		if(isset($this->javascript))
			echo $this->javascript->link($this->tinymce_src);

		$this->options = ($options && is_array($options))?array_merge($this->$options, $options):$this->$options;

		foreach($this->options as $k=>$v)
			$configs .= "$k : \"$v\",\n";


		return $this->javascript->codeBlock("
			tinyMCE.init({
				$configs
			});
		");
	}

}



ok,这样定义好helper之后,我们还需要在相应的controller中引入它:

//定义helpers变量
var $helpers = array('Html','Tinymce');


有的时候并不希望它在每次controller初始化都被加载,则可以在想要使用的对应action中这样来引入:

$this->helpers[] = 'Tinymce';



好了,现在,你要做的就是在view中来使用它了:

//默认的加载
echo $tinymce->init();


这样,你就可以在view中看到textareas被加载上编辑器的效果了.

1
0
分享到:
评论

相关推荐

    cakephp-1.2 manual

    《CakePHP 1.2 手册》是针对该版本框架的重要参考资料,旨在帮助开发者深入理解和有效使用 CakePHP 进行Web开发。 CakePHP 是一个基于Model-View-Controller(MVC)架构模式的开源PHP框架,它简化了Web应用程序的...

    CakePHP 1.2 API 中文文档

    CakePHP 是一个基于MVC(Model-View-Controller)架构的开源PHP框架,它旨在简化Web应用程序的开发,并提高开发效率。 CakePHP 1.2 API 中文文档是针对这个版本的详细技术参考,为开发者提供了丰富的接口信息和使用...

    CakePHP框架指南

    10. 核心库、行为(Behaviors)、组件(Components)和辅助函数(Helpers):这些都是CakePHP提供的各种类库和服务,用于简化开发任务,如表单处理、数据验证、身份验证等。 11. 命令行界面(Console)和Shell:...

    cakephp 1.2版本API

    在实际开发中,结合API文档中的示例和说明,开发者可以快速上手并熟练掌握CakePHP 1.2的使用。尽管此版本已不再是最新的,但其稳定性和广泛的社区支持使其在许多项目中仍被广泛采用。了解和掌握这个版本的API,将对...

    cakephp

    ### CakePHP:新手入门指南 #### 一、引言与为何选择CakePHP ...通过阅读和实践《新手的CakePHP入门指南》,即使是完全没有经验的新手也能迅速掌握CakePHP的核心概念和开发技巧,从而开启自己的Web开发之旅。

    CakePHP视频教程(AVI格式)

    **蛋糕PHP(CakePHP)** 是一个基于**MVC(Model-View-Controller)*...通过这个全面的教程,无论是初学者还是有一定经验的开发者,都可以系统地学习和提升在CakePHP框架下的开发技能,为你的Web应用开发之路添砖加瓦。

    CakePHP-UIkit-Helpers:一些用于出色 HTML 输出的 CakePHP Helpers,为 UIkit 预先格式化

    CakePHP UIkit 助手 一些用于HTML 输出的助手,为预先格式化。 该项目目前正在开发中。 目前有以下助手可用,它们扩展了 CakePHP 的默认助手: UIKitFormHelper UIKitPaginatorHelper

    cakephp官方文档

    - **开发模式**:介绍在开发阶段如何配置CakePHP以提高调试效率。 - **生产模式**:讲解如何优化配置以适应生产环境的需求。 - **高级安装与URL重写**:提供关于自定义安装路径、配置URL重写规则等高级话题的信息...

    cakephp手册

    CakePHP拥有丰富的核心库,包括通用目的类、行为(Behaviors)、组件(Components)、助手(Helpers)和实用工具(Utilities),这些构成了框架的强大功能。同时,插件机制允许开发者扩展框架功能,手册详细介绍了...

    cakePHP中文翻译

    【蛋糕PHP】(CakePHP) 是一个基于PHP的开源快速开发框架,它的设计目标是让开发者能够更高效、更简洁地构建稳定且易于维护的Web应用程序。这份文档是 CakePHP 手册的中文翻译,虽然不完整,但包含了对 CakePHP 的...

    cakephp中文手册PDF版

    - **开发环境配置**:将整个CakePHP目录放置在Document Root下。这种方式适用于开发环境,但不够安全。 - **生产环境配置**:需要拥有修改Web服务器Document Root的权限,使整个域名看起来就像一个CakePHP应用。这...

    cakephp中文手册.pdf

    4. **设置CakePHP**:根据开发环境或生产环境选择合适的配置方案。 在开发环境中,可以直接将整个Cake目录放在DocumentRoot下,URL会包含“cake”路径。而在生产环境中,建议将`app/webroot`设置为DocumentRoot,以...

    cakephp中文手册

    这份手册深入浅出地介绍了如何使用CakePHP进行开发,以下将对其中的关键知识点进行详细阐述。 1. **安装与配置** 安装CakePHP通常涉及下载最新版本的框架,解压到服务器目录,并通过Composer进行依赖管理。手册会...

    CakePHP中PageHelper的分页应用

    PageHelper是CakePHP的内置组件之一,它专门用于处理分页相关的任务。通过使用这个助手类,开发者可以轻松地在视图层设置和显示分页链接,同时在控制器中处理分页逻辑。这极大地减少了代码的重复性,并提高了代码的...

    cakephp帮助文档

    视图负责呈现数据,可以使用PHP语法和各种助手(Helpers)来创建动态页面。 ### 8. **Component(组件)** 组件是可重用的代码块,可以增强控制器的功能,例如用户认证、会话管理等。 ### 9. **Helper** 助手提供...

    CakePHP-1.2-Cheatsheet

    ### CakePHP 1.2 快查表知识点详解 #### 一、自定义查询类型 ...以上内容涵盖了CakePHP 1.2中模型、控制器和视图的主要知识点,对于开发人员来说,熟悉这些方法和属性可以帮助更高效地进行Web应用开发。

    CakeFianl.zip

    通过这个"CakeFianl.zip"压缩包,你可以深入学习以上各项知识点,并通过实际项目练习来提升你的CakePHP开发技能。文件列表中没有具体文件名,但通常这样的资源包可能包含README文件、教程文档、示例代码、数据库脚本...

    Cakephp 执行主要流程

    它是一个开源框架,基于Ruby on Rails的代码约定优于配置的理念。CakePHP的执行主要流程是一个涉及多个步骤...通过理解这个流程,开发者可以更好地利用CakePHP开发复杂的Web应用,并能够更加高效地进行调试和性能优化。

Global site tag (gtag.js) - Google Analytics