`
buliedian
  • 浏览: 1236923 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

CakePHP 编程笔记2

阅读更多

1. create ACL is quite easy, using croogo acl plugin, visit

http://localhost:8000/admin/acl/acl_permissions

then use 'generate actions' to generate all acl related model data

if your website is pretty big, then you might most likely meet the sql query timeout error.

change the default value from 30 to a proper one like: 120 (seconds) to make it works.

for example, if you are using zend server, change below variable in /Zend/ZendServer/etc/php.ini:

max_execution_time = 120 ; Maximum execution time of each script, in seconds

2.JQuery append method tricky, the following function doesn't work.

<script type="text/javascript">
$(function() {
var i = 2;
$('#addSmallImage').click(function() {
$('#deal-small-images').append('<div><input class="ui-corner-all" type="file" name=' + 'data[DealImage][simage' + i + ']>' + '<a href="#" class="del-small-image">Delete</a></div>');
i++;
});
$('.del-small-image').live('click',function(){
$(this).parent().remove();
i--;
});
});
</script>

because the var 'i' cann't be recognized in jquery append function, correct it by the below:
...

$sname = '<div><input class="ui-corner-all" type="file" name=' + 'data[DealImage][simage' + i + ']>' + '<a href="#" class="del-small-image">Delete</a></div>';
$('#deal-small-images').append($sname);

...

3.form including files

you must setenctype="multipart/form-data" method="post", this can be donein cakephp by below:

Specifying ‘file’ changes the form submission method to ‘post’, and includes an enctype of “multipart/form-data” on the form tag. This is to be used if there are any file elements inside the form. The absence of the proper enctype attribute will cause the file uploads not to function.

<?php echo $this->Form->create('User', array('type' => 'file')); ?>
 
//Output:
<form id="UserAddForm" enctype="multipart/form-data" method="post" action="/users/add">
  1. <?php echo $this->Form->create('User', array('type' => 'file')); ?>
  2. //Output:
  3. <form id="UserAddForm" enctype="multipart/form-data" method="post" action="/users/add">

Note: the element name should be the correct one lookslike: data[DealImage][simage1], ortherwise, the file will not be passed when submiting the data to controller.

4. cakephp url name tricky

if you input http://yourhost/faq inyourie/ff, you will be redirected to home controller rather than a visit error, this might be caused by your router which drived from cakephp dispatcher/router, typically the following code will made cakerouter reserved3 characters "[a-z]3" for localeusage.

Router::connect('/:locale' . $route, $default, array_merge(array('locale' => '[a-z]{3}'), $params));

so in your router.php,3 characters urlcan not be used for mapping.

5. cakephp saveAll tricky

saveAll will save the main table and associatedtable data,if youget save failure, please check:

*)all 'not null' fieldshavethe value filled

*) all value type are correct, don'tscrew up the 'int' and 'string' especiallywhen you dealing with an enum data

*)make surethe idof all tables are "autocrement"

if you still get errors, then use 'save' methodone by one.

分享到:
评论

相关推荐

    cakephp学习笔记

    CakePHP 的核心特性之一是它的CRUD操作,即创建(Create)、读取(Read)、更新(Update)和删除(Delete),这简化了数据库的交互。 代码生成器(Code Generation)是另一个亮点,它可以帮助开发者自动生成基础的...

    cakephp-2.2.4-0

    cakephp-2.2.4-0 稳定版框架

    PHP的框架之CakePHP-CakePHP教程

    打包下载,里面有CakePHP的框架源码,下载后可直接使用,版本是1.1的,稳定版;CakePHP的分页组件源码;CakePHP的中文及英文教程,CHM格式;CakePHP的中文打印版教程,WORD格式,下载后可直接打印,方便的;CakePHP...

    cakephp php-framework

    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 the latest major release of CakePHP. Visit the main ...

    cakephp 框架书籍 英文版

    ### CakePHP框架书籍知识点概述 #### 一、Getting Started(开始使用) - **博客教程**:本书籍通过一个博客项目的示例,引导读者逐步了解CakePHP框架的基本用法。这包括了如何设置环境、创建模型(Model)、控制器...

    CakePHP v2.3.0.zip

    **2. 框架核心功能**: - **路由(Routing)**:自动处理URL映射到控制器和动作,简化了URL设计。 - **自动验证(Validation)**:对用户输入进行验证,确保数据质量。 - **哈希(Hash)和安全(Security)**:...

    PHP框架高级编程-应用Symfony,CakePHP和Zend

    CakePHP的"Convention over Configuration"理念意味着开发者无需编写大量配置文件,只需遵循预定义的规范即可。 **Zend Framework** Zend Framework是一款轻量级且模块化的PHP框架,由Zend Technologies公司开发。...

    cakephp-1.2 manual

    2. **MVC架构**:MVC是软件设计的一个重要概念,它将业务逻辑(Model)、用户界面(View)和数据呈现(Controller)分离,使得开发更有序。手册会详细解释每个组件的职责以及它们如何协作。 3. **模型(Model)**:...

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

    打包下载,里面有CakePHP的框架源码,下载后可直接使用,版本是1.1的,稳定版;CakePHP的分页组件源码;CakePHP的中文及英文教程,CHM格式;CakePHP的中文打印版教程,WORD格式,下载后可直接打印,方便的;CakePHP...

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

    2. **控制器**:接着控制器接收到请求并处理,通常涉及到数据的加载或修改。 3. **模型**:控制器可能会调用模型来进行数据操作,例如查询数据库、验证数据等。 4. **视图**:最后,控制器将处理好的数据传递给视...

    CakePHP(PHP的框架)v3.7.8

    CakePHP是一个用PHP编写的开源Web应用框架,不过其模型是用Ruby ...在cakephp.org站点的Sites in the wild页面可以看到当前使用CakePHP框架的网站列表。 CakePHP 是一个运用了诸如ActiveRecord、Association Data Map

    CakePHP 1.2 API 中文文档

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

    cakephp 框架1.3.11版本

    2. **ActiveRecord**:CakePHP采用了ActiveRecord模式,允许开发者通过简单的对象操作来访问数据库。每个数据库表对应一个PHP类,类中的方法可以直接映射到SQL操作,简化了数据库交互。 3. **自动路由**:框架会...

    CakePHP PHP MVC框架

    1. **路由配置**:CakePHP的路由系统允许开发者自定义URL模式,使URL更友好,易于理解。 2. **自动验证**:对表单数据进行验证,确保输入符合预设规则。 3. **ORM(对象关系映射)**:通过ActiveRecord模式,提供了...

    cakephp手册完整打印版

    2. **MVC架构**:解释Model、View和Controller的角色和相互作用,以及它们在Web应用中的工作原理。 3. **路由系统**:介绍如何定义和管理URL路由,以实现灵活的URL结构和控制器映射。 4. **模型(Model)**:详细...

    cakephp-1.3.21.zip

    《CakePHP 1.3.21:框架详解与应用实践》 CakePHP是一个基于Model-View-Controller(MVC)架构模式的开源PHP框架,它致力于简化Web应用程序的开发,提供了一套强大的工具和约定,使开发者能够快速构建高质量的网站...

    CakePHP使用ajax传值

    2. 在Controller中设置数据处理:在CakePHP中,所有来自AJAX请求的数据将会被封装在$_POST或$_GET数组中。如果数据为中文并且在控制器中获取时出现了乱码,需要使用iconv函数进行转码。例如,如果请求中的数据编码为...

    最简单的方法来安装CakePHP

    CakePHP遵循DRY(Don't Repeat Yourself)原则,通过提供各种内置工具和库,减少了重复的编程任务。 要开始安装CakePHP,你需要一个运行PHP和MySQL的服务器环境,例如XAMPP或WAMP。确保你的PHP版本至少为7.2,因为...

Global site tag (gtag.js) - Google Analytics