CakePHP的FormHelper是在制作CakePHP应用程序时生成表单的方式.可以假设,这包括生成输入元素,如下所示:
$this->Form->input('abc');
Run Code Online (Sandbox Code Playgroud)
哪个会产生这样的HTML:
<div class="input text">
<label for="ModelAbc">Abc</label>
<input name="data[Model][Abc]" class="" maxlength="250" type="text" id="ModelAbc">
</div>
Run Code Online (Sandbox Code Playgroud)
现在,遗憾的是,Bootstrap需要以下内容:
<div class="control-group">
<label for="ModelAbc" class="control-label">Abc</label>
<div class="controls">
<input name="data[Model][Abc]" class="" maxlength="250" type="text" id="ModelAbc">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
如何让CakePHP产生这个输出?
我有一个页面,我想重定向到需要URL中的参数:http://www.example.com/myController/myAction/param1 : val1 / param2: val2
我知道有一个用于重定向的CakePHP重定向函数,其工作方式如下:
$this->redirect(array("controller" => "myController",
"action" => "myAction",
$data_can_be_passed_here),
$status, $exit);
Run Code Online (Sandbox Code Playgroud)
如何使用上述功能添加我想要的参数作为网址的一部分?
我认为可能有另外一个元素,我可以添加到数组,以便我可以传递param1:val1和param2:val2.
任何帮助将不胜感激!
我是CakePhp程序员.我决定试用Yii框架.我想知道CakePhp与Yii有什么相似之处.另外,Yii比CakePhp快得多吗?
尝试注销CakePHP应用程序时出现以下错误:
Notice (8): Undefined property: UsersController::$Session [APP/controllers/users_controller.php, line 75]
Fatal error: Call to a member function setFlash() on a non-object in /Users/cameron/Sites/cakeapp/app/controllers/users_controller.php on line 75
Run Code Online (Sandbox Code Playgroud)
这是第74,75和76行的代码:
function logout() {
$this->Session->setFlash('Good-Bye');
$this->redirect($this->Auth->logout());
}
Run Code Online (Sandbox Code Playgroud) 我过去在几个项目中使用过CakePHP,并且最近开始使用Ruby on Rails,但是有一个新项目我即将开始需要PHP.在CakePHP上刷新自己的同时,我了解到有一个名为Lithium的新框架,它本质上就是CakePHP 3.它由一群前核心CakePHP开发人员开发.
我还没有找到关于它的大量信息,因为它仍然处于开发状态,但我想知道是否有人知道(或有一个链接)一些关于它提供给CakePHP的好处的信息.希望有点超出官方网站上显示的快速概述.我正在尝试决定是否将CakePHP用于我即将推出的PHP项目,或者等待Lithium发布非开发版本并尝试一下.
这是与PHP中的XDebug分析类似的问题- 无法获得输出但我的是在Windows上,我有指定的完整路径(这解决了他的问题)
即使我启用了探查器,我也没有得到任何输出.下面是xdebug设置的副本(我已经缩进了所有未被注释的选项.) - 请注意xdebug工作正常,因为我已经获得了标准的xdebug错误.如果它有任何区别我使用xampp,cakephp,php 5.3
任何帮助将不胜感激.
[XDebug]
zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
;xdebug.auto_trace = 0
;xdebug.collect_includes = 1
;xdebug.collect_params = 0
;xdebug.collect_return = 0
;xdebug.collect_vars = "Off"
;xdebug.default_enable = "On"
;xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD
;xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD
;xdebug.dump.COOKIE = ""
;xdebug.dump.FILES = ""
;xdebug.dump.GET = ""
;xdebug.dump.POST = ""
;xdebug.dump.REQUEST = ""
;xdebug.dump.SERVER = ""
;xdebug.dump.SESSION = ""
;xdebug.dump_globals = 1
;xdebug.dump_once = 1
;xdebug.dump_undefined = 0
;xdebug.extended_info = 1
;xdebug.file_link_format = ""
;xdebug.idekey = "" …Run Code Online (Sandbox Code Playgroud) 在控制器中,调用另一个控制器的操作并将数组作为参数传递的最合适方法是什么?
我知道您可以使用requestAction来调用其他控制器中的操作.但是可以使用请求操作将数组作为参数传递吗?
不,我不想把动作放在App Controller中.所以这对我来说不是解决方案.
我知道的另一种方法是加载另一个控制器,如下所述:http: //book.cakephp.org/1.3/en/The-Manual/Developing-with-CakePHP/Configuration.html#importing-controllers-models-组件-行为-视图-和佣工
但是,在将数组作为参数传递时,是否有更简单的方法来调用其他控制器操作?
我是cakePHP的新手,所以任何建议都表示赞赏.谢谢.
我想知道,你们怎么在CakePHP进行单元测试?你如何在项目中加入测试?你测试的项目的哪些部分?您如何确定哪些部件可以进行单元测试?你们还能在截止日期前完成工作吗?
我正在制作一个需要相当安全的CakePHP系统,因为我们处理的是钱,客户账户等.到目前为止,一切都很好,直到我必须与我需要的支付平台集成重定向到他们的网站,他们重定向回我的网站.
这在我的开发机器(debug = 2)中工作正常,但在生产中,当客户被重定向回来时,他得到登录提示而不是回到他的"登录区域".经过多次挖掘后我发现这是因为CakePHP设置了session.referer_check,如果HTTP_REFERER来自另一个主机而不是我的,则会使会话无效.
现在,通常情况下,我会毫不犹豫地禁用它,但在这个系统中我更关注安全性而不是正常情况.
我的问题是session.referer_check究竟应该保护我什么?
如果我将其关闭,我的网站可以进行什么样的攻击/利用/坏事?
我猜这里存在一些原因,但是我无法想象它会保护我什么.
你能给我任何想法吗?
安全禁用吗?
谢谢
Daniel
这是我的cakephp生成的HTML 单选框和文本框脚本:
<input type="radio" id="need_staff_on_site" name="data[CaterRequest][need_staff_on_site]" value="yes" class="staff_on_site"><span>Yes</span>
<input type="radio" id="need_staff_on_site" name="data[CaterRequest][need_staff_on_site]" class="staff_on_site" value="no"><span>No</span>
How many staff?<input type="text" maxlength="3" id="no_of_staff" name="data[CaterRequest][staff_needed]" class="txtboxSml2" readonly="readonly">
Run Code Online (Sandbox Code Playgroud)
jquery脚本:
$(document).ready(function(){
$('.staff_on_site').click(function(){
$arr=$(this).val();
if($arr == "yes"){ $("#no_of_staff").removeAttr("readonly"); }
if($arr == "no"){ $("#no_of_staff").attr("readonly", "readonly"); }
});
});
Run Code Online (Sandbox Code Playgroud)
cakephp ×10
php ×6
parameters ×2
arrays ×1
cakephp-1.3 ×1
jquery ×1
lithium ×1
profiling ×1
redirect ×1
security ×1
unit-testing ×1
url ×1
xdebug ×1
yii ×1