cakedc/utils

该包已被废弃,不再维护。没有建议的替代包。

CakePHP 的 Utils 插件

安装次数: 602,418

依赖项: 5

建议者: 1

安全性: 0

星标: 304

关注者: 39

分支: 145

公开问题: 7

类型:cakephp-plugin

1.4.3 2014-03-30 21:42 UTC

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