`
lesorb
  • 浏览: 121408 次
  • 性别: 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开发框架

    CakePHP是一个快速开发PHP的开发框架,其中使用了一些常见的设计模式如ActiveRecord,Association Data Mapping,Front Controller以及MVC。其主要目标在于提供一个令任意水平的PHP开发人员都能够快速开发web应用的...

    CakePHP 3.4 开发手册文档 CakePHP Cookbook Documentation Release 3.4

    CakePHP 3.4 开发手册文档 CakePHP Cookbook Documentation Release 3.4

    CakePHP 3.5 开发手册文档 CakePHP Cookbook Documentation Release 3.5/共900页 PDF

    CakePHP 3.5 开发手册文档 CakePHP Cookbook Documentation Release 3.5/共900页 PDF

    PHP的框架之CakePHP-CakePHP教程

    打包下载,里面有CakePHP的框架源码,下载后可直接使用,版本是1.1的,稳定版;CakePHP的分页组件源码;...CakePHP开发的网站源码参考;CakePHP的中文资料很少,大部分是英文的,希望对大家有用,谢谢!

    Cactus-CMS:Cactus CMS是基于cakephp 2框架的php内容管理系统

    -框架扩展的存储库-提示,教程和文章对Cake类的引用事件和视频教程的屏幕截图促进与CakePHP相关的开发得到支持! 网上论坛-社区邮件列表和论坛irc.freenode.net上的与我们聊天,我们有蛋糕。 -在这里提问,欢迎所有...

    PHP的框架之CakePHP-CakePHP教程终极教程

    打包下载,里面有CakePHP的框架源码,下载后可直接使用,版本是1.1的,稳定版;CakePHP的分页组件源码;...CakePHP开发的网站源码参考;CakePHP的中文资料很少,大部分是英文的,希望对大家有用,谢谢!

    一个利用cakephp开发的实例附带数据库

    主要功能有: 1. 小组成员可以查看,发布message 2. 小组成员可以发布新的idea,修改自己发布的idea。 2.1修改不会删除原来的idea,只是将原idea变成oldidea,这样可以看到一个idea是如何从不清晰的意向慢慢演变过来...

    cakephp的CMS教程

    是cakephp框架的内容,用cakephp开发了一个的简单的CMS系统教程。

    cakephp最新开发文档

    欢迎共同学习?你的关注是我最大的动力???谢谢???

    CakePHP php框架 v3.7.0 beta1.zip

    CakePHP 是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而 又...

    cakephp php-framework

    There are two main ways to get a fresh copy of CakePHP. You can either download an archive copy (zip/tar.gz/tar.bz2) from the main website, or check out the code from the git repository. To download ...

    CakePHP PHP MVC框架

    CakePHP 一个开源PHP web 开发框架,PHPMVC结构框架,易与开发,是PHP技术人员的开发好的选择之一!

    CakePHP php框架 v3.8.5

    CakePHP 是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而 又...

    CakePHP php框架 v3.7.8.zip

    CakePHP 是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而 又...

    cakephp3-bootstrap-helpers:Bootstrap 3和4的CakePHP 3.x帮助器

    composer require holt59/cakephp3-bootstrap-helpers:dev-master // Or the following if you want to use the Bootstrap 4 version (alpha) composer require holt59/cakephp3-bootstrap-helpers:dev-4.0.1-alpha...

    cakephp 框架

    cakephp 框架 cakephp 框架 cakephp 框架 cakephp 框架 cakephp 框架

    cakePHP完整实例

    cakePHP是国内外都比较流行的一个开源的PHP框架,本篇文章是本人经过多个网站整理出来的一篇完整的cakePHP开发实例,对于初学cake的同学有着很大的帮助……

    CakePHP:PHP快速开发框架-开源

    CakePHP 4.0.0 具有更新的应用程序骨架设计,带有简化的 API,使您的开发和应用程序更快。 虽然 4.0 包含许多重大更改,但我们准备了详尽的迁移指南,涵盖所有已弃用和删除的功能以及突出显示闪亮的新功能。 CakeDC...

    Beginning CakePHP:From Novice to Professional

    Lead you from a basic setup of CakePHP to building a couple applications that will highlight CakePHPs functionality and capabilities without delving too deeply into the PHP language, but rather ...

Global site tag (gtag.js) - Google Analytics