CakePHP 编程笔记

1. Notice (8) : Undefined variable: layout

原因可能是component的命名不符合规范:JigoCity对应的文件名应该jigo_city.php

如果这个没错,而你的app_controller里面包含了acl组件,那么可能是plugin目录下缺失ACL的实现

2. 进入localhost:8000/admin时未要求登录验证,直接进入了后台页面

原因是app_controller.php中有如下语句:

function beforeFilter() {
$this->Auth->allow('*');
}

去掉才可以进入CakePHP默认的验证界面(auth组件)

3. CakePHP程序调用堆栈:

v1.5 [PHP Web Page]
PHP Application
http://localhost:8000//index.php (suspended at line breakpoint )
beforeFilter(): /jigocity_v1_5/app/controllers/app_controller.php at line 84
beforeFilter(): /jigocity_v1_5/app/controllers/app_controller.php at line 83
startupProcess(): /jigocity_v1_5/cake/libs/controller/controller.php at line 526
startupProcess(): /jigocity_v1_5/cake/libs/controller/controller.php at line 524
_invoke(): /jigocity_v1_5/cake/dispatcher.php at line 187
_invoke(): /jigocity_v1_5/cake/dispatcher.php at line 185
dispatch(): /jigocity_v1_5/cake/dispatcher.php at line 171
dispatch(): /jigocity_v1_5/cake/dispatcher.php at line 97
/jigocity_v1_5/index.php at line 83
http://localhost:8000//index.php

4. 登陆后未显示用户名密码错误,但是页面未正常跳转

可能是你设置了如下语句:

$this->Auth->autoRedirect = false;

uncomment it if so.

5. security component 加载后, 会在form表单提交时添加token隐性参数以防止跨站脚本攻击和表单伪造。但是也会导致未授权表单提交动作返回404页面链接不存在的错误。

6. 更改datetime格式:

http://www.mikebernat.com/blog/CakePHP_-_Changing_the_Default_Value_of_a_Date-Time_Input

7. 设置默认的按列排序

$tableHeaders = $html->tableHeaders(array(
$paginator->sort('id'),
__('Role', true),
$paginator->sort('username'),
$paginator->sort('firstname'),
$paginator->sort('email'),
__('Actions', true),
));

8. 关联保存

<div id="deal-main">
<?php
echo $form->input('Deal.slug', array('class' => 'slug'));
echo $form->input('Deal.min_buyers');
echo $form->input('Deal.max_buyers');
?>
</div>
<div id="deal-details">
<?php
echo $form->input('DealDetail.0.lang_id',array('label'=>__('Language', true)));
echo $form->input('DealDetail.0.currency_id');
echo $form->input('DealDetail.0.title');
echo $form->input('DealDetail.0.subject');
echo $form->input('DealDetail.0.brief');
echo $form->input('DealDetail.0.description');
?>
</div>

9. tinymce usage:

*) put it under plugin directory

*) change tinymce_hook.php:

/**
* Actions
*
* Format: ControllerName/action_name => settings
*
* @var array
*/
public $actions = array(
'Deals/admin_add' => array(
'elements' => 'DealDetail0Description',
),
'Deals/admin_edit' => array(
'elements' => 'DealDetail0Description',
),
);

10. cakephp的命名规范

比如读取外键关联的表数据时,如果失败,则需要检查外键名称,表名称,字段名称是否符合命名规范。

例如: 外键为lang_id, 那么这在视图是个下拉列表选择框。

view中应该是:

echo $form->input('DealDetail.0.lang_id',array('label'=>__('Language', true)));

controller中:

$langs = $this->Language->find('list', array(
'fields' => array('name_en')
));

model中:

var $belongsTo = array(
'Language' => array(
'className' => 'Language',
'foreignKey' => 'lang_id'
),

)

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值