詹姆斯·沃茨/cake-factory

Cake 是一个 Cake Toolkit (CTK) 的工厂,为 CakePHP 的核心辅助函数提供可配置的对象

dev-beta 2013-10-26 14:49 UTC

This package is not auto-updated.

Last update: 2024-09-23 15:25:43 UTC


README

Cake 是一个 CakePHP 插件,它为 Cake Toolkit (CTK) 提供了一个额外的工厂,为框架中可用的核心 HtmlForm 辅助函数添加了可配置的对象。

核心辅助函数的面向对象接口的引入,允许进行更复杂的操作,例如添加子节点和绑定事件,同时提高视图层的整体抽象级别和关注点分离。

要求

安装

要使用此插件,只需将其包含在您的应用程序的 "app/Plugin" 目录中,并在 "app/Config/bootstrap.php" 文件中加载它。

CakePlugin::load('CakeFactory');

如果您已经使用 CakePlugin::loadAll() 加载所有插件,则不需要上述代码。

实现

一旦插件可用,您就可以在您的 CTK 视图中使用它,或者使用与 Cake Toolkit 一起提供的 Factory 辅助函数。要在视图中包含 Cake 工厂,只需将工厂添加到您的 $factories 集合中,例如

public $factories = array('CakeFactory.Cake');

工厂现在可用,您可以在视图中调用它,并通过面向对象接口使用 HtmlForm 辅助函数构建您的应用程序。

以下是一个使用 Html 辅助函数创建 链接 的简单示例

$this->Cake->Link(array(
	'title' => __('Read more'),
	'url' => array(
		'controller' => 'Posts',
		'action' => 'view',
		$postId
	)
));	

另一个示例,使用 Form 辅助函数创建一个带有 输入表单,并额外将一个 事件 绑定到输入元素

// create a CakePHP form
$form = $this->Cake->Form(array(
	'model' => 'Example',
	'options' => array(
		'action' => 'add'
	)
));
	// create a CakePHP input
	$input = $this->Cake->Input(array(
		'field' => 'Example.column',
		'options' => array(
			'type' => 'text'
		)
	));
	// bind an event to the input
	$input->bind('keyup', $this->Js->Alert(array(
		'code' => $this->Js->Element(array('node' => $input))->getValue()
	)));
// add the input to the form
$form->add($input);
// add the form to the view
$this->add($form);

文档

Cake 工厂的设计旨在遵循 CakePHP 核心辅助函数中定义的现有方法和参数。这使得过渡到使用工厂变得容易,因为您已经熟悉预期的参数。每个辅助函数类的文档可以在此找到

与等效参数相比,参数名称有一些修改。这通常适用于由 2 个或更多单词组成的参数,例如 $fieldName 参数,它变为 field 参数。

支持

有关支持、错误和功能请求,请使用此存储库的 问题 部分。

贡献

如果您想向代码库贡献新功能、增强功能或错误修复,请按照以下步骤操作

  • 如果您还没有,请创建一个 GitHub 账户
  • 然后,将 Cake 工厂存储库 分支 到您的账户
  • 在您分叉的仓库中从 develop 分支创建一个新的 分支
  • 修改现有代码,或在您的分支中添加新代码,确保您遵循 CakePHP 编码规范
  • 修改或添加 单元测试 以确认您代码的正确功能(需要 PHPUnit 3.5+)
  • 考虑使用 CakePHP 代码检查器 来检查您代码的质量
  • 准备好后,向主仓库提交一个 拉取请求

在合并任何代码之前,您对仓库的贡献可能会引起一些讨论,所以请准备好在需要时提供您贡献的反馈。

可以在这里找到 Cake 工厂的贡献者列表 这里

许可证

版权所有 2013 James Watts(CakeDC)。保留所有权利。

在 MIT 许可证下授权。包含在此仓库中的源代码的再分发必须保留每个文件中的版权声明。

致谢

感谢 Larry Masters所有CakePHP 做出贡献的人,帮助使这个框架成为今天的模样。