cakedc / utils
CakePHP 的 Utils 插件
Requires
This package is auto-updated.
Last update: 2023-11-12 01:33:35 UTC
README
针对 cake 2.x
utils 插件包含大量可重用的组件、行为和辅助函数。以下将列出并详细说明每个组件。
行为
- Btree -
- CsvImport - 为模型添加导入 csv 数据的能力。
- Inheritable -
- Keyvalue - 允许以键/值表示法获取和保存设置组。
- List - 提供使集合有序的方法
- Lookupable - 根据给定的字段及其值查找相关记录
- Pingbackable -
- Publishable -
- Serializable - 允许将数组数据序列化/反序列化为大型文本字段。
- Sluggable - 为模型实现别名。
- SoftDelete - 模型软删除。
- TinySluggable - 创建类似于 bit.ly 等已知网址缩短器的短别名。
- Toggleable - 切换字段值
库
- 语言 - 可用于选择的语言列表
组件
- Archive - 创建用于生成“存档”日期范围的“存档”数据,例如“2010 年 5 月”、“2010 年 3 月”等链接。
- FormPreserver - 允许在登录重定向和登录后返回之间保留表单数据。
- Pingbacks -
- Referer - 允许在添加/编辑表单中保留 referer URL,以便在成功 POST 或提交时重用它进行重定向。
- Utils -
辅助函数
- Cleaner - 允许从输入标记中删除标签
- Gravatar - Gravatar 辅助函数
- Tree - 生成层次数据嵌套表示
- Place - 允许显示图像和文本占位符
CsvImport 行为
您可以使用以下选项配置可导入行为
- delimiter - 值的分隔符,默认为 ;
- enclosure - 封装,默认为 "
- hasHeader - 如果有,则解析 CSV 文件的标题,默认为 true
此行为的主要方法是
<?php $this->Model->importCSV('myFile.csv');
它将读取 CSV 文件并尝试将记录保存到模型中。如果出错,您可以通过调用
<?php $this->Model->getImportErrors();
Keyvalue 行为
您可以使用以下选项配置可导入行为
- foreignKey - 外键字段,默认为 user_id
- scope - 定义作用域的查找条件数组
List 行为
列表行为允许您让记录表现得像一个列表,例如曲目列表,并在该列表中移动记录。
- positionColumn - 用于存储位置的表中的列,默认为 'position'。
- scope - 定义作用域的查找条件数组,默认为空字符串 ''。
- validate - 在行为保存更改时验证数据,默认为 false。
- callbacks - 在行为保存数据时使用回调,默认为 false。
SoftDelete 行为
SoftDelete 行为允许您在数据库中保留记录,但不显示具有“已删除”标记的用户。默认情况下,您应该在数据库表上具有“已删除”和“已删除日期”字段。
由于“exists”方法在模型中禁用回调,您可能在使用它时遇到问题。为了避免这些问题,您可以使用行为中的“existsAndNotDeleted”方法,并提供以下代码将其放入 AppModel 以使其透明
<?php public function exists($id = null) { if ($this->Behaviors->loaded('SoftDelete')) { return $this->existsAndNotDeleted($id); } else { return parent::exists($id); } }
它将为使用软删除行为的模型调用 SoftDelete::existsAndNotDeleted(),并为不使用该行为的模型调用 Model:exists。
删除项目时,软删除行为将覆盖 delete()
并更新记录。这意味着对 delete()
的响应将是 false。为了覆盖此行为并返回 true,您需要在您的 AppModel.php
文件中包含以下内容。
<?php public function delete($id = null, $cascade = true) { $result = parent::delete($id, $cascade); if ($result === false && $this->Behaviors->enabled('SoftDelete')) { return (bool)$this->field('deleted', array('deleted' => 1)); } return $result; }
语言库
语言库基本上是一个辅助库,它扩展了 I10n 来获取三位语言代码 > 国家名称数组。
<?php App::import('Lib', 'Utils.Languages'); $Languages = new Languages(); $languageList = $Languages->lists();
$languageList
将包含映射到国家的三位代码。此列表可以用作语言选择等。
归档组件
引用组件
允许在添加/编辑表单中保留引用 URL,以便在成功 POST 或提交时重用它。
要求
- PHP 版本:PHP 5.2+
- CakePHP 版本:1.3 稳定版
支持
要报告错误或请求功能,请访问 CakeDC/Utils 问题跟踪器。
有关我们专业 CakePHP 服务的更多信息,请访问 Cake Development Corporation 网站。
分支策略
master 分支包含插件的稳定最新版本。开发分支是不稳定的,用于在发布之前测试新功能。
之前的维护版本以 CakePHP 兼容的版本命名,例如,分支 1.3 是与 CakePHP 1.3 兼容的维护版本。所有版本都会更新安全补丁。
为此插件做出贡献
请随意为此插件贡献新问题、请求、单元测试和代码修复或新功能。如果您想贡献一些代码,请从 develop 创建一个功能分支,并发送您的拉取请求。新功能和发现的问题的单元测试是强制性的,以确保质量。
许可
版权所有 2009-2010,Cake Development Corporation
许可协议:MIT 许可协议
文件再分发必须保留上述版权声明。
版权
版权所有 2009-2011
Cake Development Corporation
1785 E. Sahara Avenue, Suite 490-423
内华达州拉斯维加斯 89104
http://cakedc.com