在哪里放置构建Zend_Forms的代码最好?
我曾经把这个逻辑放在我的控制器中,但在我需要在不同的地方使用相同的表格之后,我就离开了.这意味着我必须在不同的控制器中复制表单的创建.
所以我将表单创建代码移动到了我的模型中.这看起来是否合适,对我有用.或者有什么我想念的东西,他们实际上应该去别的地方?
我正在实现updatePasswordAction,它没有显示当前密码无效的错误.我无法使用Zend_Validate类来实现它与提供的记录 - >密码一起使用,所以我现在只在我的控制器操作中验证,如果失败,那么我将错误消息添加到表单元素.这是在我跑步之前$form->isValid.无论如何,它的工作.但是当验证失败时,它不会在元素上显示错误消息.任何帮助将不胜感激.
仅供参考:当我提交空白当前密码时,它会显示验证
class Admin_Form_UserPassword extends Katana_Form
{
public function init()
{
$element = $this->createElement('hidden', 'id');
$this->addElement($element);
$element = $this->createElement('password','password');
$element->setLabel('Current Password:');
$element->setRequired(true);
$this->addElement($element);
$element = $this->createElement('password','new_password');
$element->setLabel('New Password:');
$element->addValidator('StringLength', false, array(6,24));
$element->setRequired(true);
$element->addValidator('NotEmpty');
$this->addElement($element);
$element = $this->createElement('password','new_password_confirm');
$element->setLabel('Confirm:');
$element->addValidator('StringLength', false, array(6,24));
$element->addValidator('IdenticalField', false, array('new_password', 'Confirm Password'));
$element->setRequired(true);
$this->addElement($element);
$this->addElement('submit', 'submit', array('label' => 'Submit'));
}
Run Code Online (Sandbox Code Playgroud)
}
public function updatePasswordAction()
{
$resourceModel = new Core_Model_Resource_User();
$form = new Admin_Form_UserPassword();
$form->setMethod(Katana_Form::METHOD_POST);
$form->setAction($this->getActionUrl('update-password'));
if($this->getRequest()->isPost()){
$id = $this->getRequest()->getParam('id');
$record = $resourceModel->find($id)->current(); …Run Code Online (Sandbox Code Playgroud) 这是代码 -
if(empty($errors))
{
mysqli_select_db($connect,"users");
$i = "insert into people (serial,name,price,desc) values ('','$name','$price','$desc')";
$qs = mysqli_query($connect,$i);
if($qs)
{
echo "Awesome";
}
else
{
echo "geez";
}
}
Run Code Online (Sandbox Code Playgroud)
它总是显示geez.
我正在使用这个;
mysqldump -u userabc -pabc123 dbname |
gzip > /var/backups/archives/mysql/dbname_$(date +\%d-\%m-\%Y_\%T).sql.gz
Run Code Online (Sandbox Code Playgroud)
这有效,但如果密码包含^例如它失败,我如何转义这个字符并仍然可以mysqldump使用-p标志;
mysqldump -u userabc -pabc^123 dbname |
gzip > /var/backups/archives/mysql/dbname_$(date +\%d-\%m-\%Y_\%T).sql.gz
Run Code Online (Sandbox Code Playgroud) 我已使用AWS的本指南将NVM和NPM安装到EC2实例。
然后安装gulp和gulp-cli
npm install --global gulp
npm install --global gulp-cli
然后导航到我的项目并运行
吞咽我
我得到这个错误
/home/ec2-user/.nvm/versions/node/v4.4.5/lib/node_modules/gulp/bin/gulp.js:129 gulpInst.start.apply(gulpInst,toRun); ^
TypeError:无法在nextTickCallbackWith0Args(node.js)上的/home/ec2-user/.nvm/versions/node/v4.4.5/lib/node_modules/gulp/bin/gulp.js:129:19读取未定义的属性'apply' :420:9)在process._tickCallback(node.js:349:13)在Function.Module.runMain(module.js:443:11)在启动时(node.js:139:18)在node.js:968 :3
node -v 返回v4.4.5
npm -v 返回2.15.5
gulp -v 退货
[13:22:47] CLI版本3.9.1
[13:22:47]本地版本4.0.0-alpha.2
我现在陷入困境,不确定如何开始gulp i跑步
我有两个不同的服务器和这样的脚本:
echo "<div style=\"some style\">whatever</div>";
for($i=0;$i<150000;$i++)
{ ... }
Run Code Online (Sandbox Code Playgroud)
现在,我意识到在我的第一台服务器上,PHP脚本将直接向我显示任何内容然后开始通过for循环.第二个服务器虽然没有显示div,但它直接以循环开始.但我需要脚本首先显示HTML代码,然后执行脚本的其余部分.
有可能改变这个吗?
谢谢!
以下非常基本的脚本在Chrome和Safari中出现此错误 Cannot call method 'appendChild' of null
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript" src="raphael-min.js">
</script>
<script type="text/javascript">
var paper = Raphael("canvas", 320, 200);
</script>
</head>
<body>
<div id="canvas"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我不知道为什么 - 有人吗?
在CentOS7上使用它安装PHP7.1之后
https://webtatic.com/packages/php71/
运行
php -v
Run Code Online (Sandbox Code Playgroud)
结果是
-bash:php:找不到命令
安装工作但PHP不存在 - 我错过了一步吗?