小编jbl*_*lue的帖子

如何将控制器/操作设置为Page Not Found

我有一个控制器和操作,我通过自定义URL访问.尽管在默认位置仍可访问原始路线

zend.com/controller/action
Run Code Online (Sandbox Code Playgroud)

当用户尝试访问此URL时,如何更改此设置以模拟"找不到页面"?可能吗?

php zend-framework zend-route

9
推荐指数
2
解决办法
1903
查看次数

Zend_Auth setCredentialTreatment

我正在使用Zend_AuthsetCredentialTreatment来设置哈希方法和盐.我看到所有的例子都是这样的,其中salt似乎是作为文本插入的.

- > setCredentialTreatment('SHA1(CONCAT(盐))?

但我的盐存储在数据库中.我可以先检索它然后使用它setCredentialTreatment但是有没有办法可以直接将它定义为字段名称,所以setCredentialTreatment会知道从那个字段中获取它吗?有点像我们为用户名或密码定义字段名称的方式

->setCredentialColumn('password')
Run Code Online (Sandbox Code Playgroud)

我遇到的另一个问题是我想使用SHA512而不是SHA1.这可能还是不可用?我看到的所有示例都使用SHA1.

我应该说我是一个相当新的zend并且正在移植一个现有的应用程序,所以请轻松地告诉我答案.

php security hash zend-framework zend-auth

8
推荐指数
1
解决办法
5705
查看次数

ORM是全有还是全无?

如果我使用ORM,请与Zend或Symfony说.这是一个全有或全无的交易?

我想使用ORM,但也希望在某些情况下优化性能并自己编写查询以获得细节.因此,如果我开始使用ORM,一旦将其包含在我的项目中,是否难以以旧的方式进行操作?

php orm symfony1 zend-framework

8
推荐指数
2
解决办法
431
查看次数

逐步转换为zend项目的基于模块的文件夹结构

我在寻找如何从正常的文件夹结构继续在左侧一步一步的解释application文件夹包含models,views,controllers到基于模块的文件夹结构右侧,其中application包含modules其中包含与各个模块的文件夹拥有models,views,controllers.

我说"转换"是因为我不认为zend让我们从一开始就使用模块架构创建项目,但如果确实如此,那就会膨胀,并且无需手动更改这些文件夹结构.

http://img375.imageshack.us/img375/5582/foldersboth.jpg

这是我迄今为止的经历

  • 当我创建一个模块zf create module product,生成模块和文件夹的文件夹product在其内部产生并且views,controllers,models该模块还生成.

  • 但我还需要将main移动views,controllers,modelsmodules/default他们自己的文件夹中.如果我手动创建该文件夹并将其移动到views,models,controllers那里,我在尝试向该default模块添加新控制器时会遇到错误.该缺陷是,它重新产生的主要(现在下落不明)views,controllers,modelsapplication并插入,在新的控制器application/controllers/newcont,因为它不承认默认控制器文件夹已被手动移动到application/modules/default/controllers/.

  • 所以我的解决方案就是zf create module defaultviews,models,controllers那里复制主要内容.它最终看起来一样,但不知何故,这种zf create module方法有所不同.当我这样做的时候,新的控制器可以正确添加到application/modules/default/controllers其中application/controllers

问题的一半解决了.但是当我尝试查看应用程序时,我看不到任何index/index视图.我也没有任何错误,但我什么都没看到.我怀疑这是因为应用程序不知道index/index视图已移动.

  • 这曾经位于 application/views/scripts/index/index.phtml
  • 但现在位于 application/modules/default/views/scripts/index/index.phtml

我猜我需要对application.ini或bootstrap.php或其他位置进行更改.那么究竟是什么步骤让这件事顺利完成并让它发挥作用?我正在使用最新的ZF 1.10.8.请从创建一个新的zend项目开始,这样就不会对确切的步骤产生混淆.

php zend-framework zend-view

8
推荐指数
1
解决办法
3249
查看次数

以zend形式输入类似name ="person []"的数组

在普通的html中,我们可以有一个数组字段 person[]

<input name="person[]" type="text" />
<input name="person[]" type="text" />
<input name="person[]" type="text" />
Run Code Online (Sandbox Code Playgroud)

据我所知,Zend_Form没有那个.我读了另一个答案,建议可以使用装饰器来完成,它会[]在正确的位置添加.这是该特定问题的代码

$html = ''; // some code html
$i = 0;
foreach ($element->getMultiOptions() as $value => $label){
    $html .= '<input type="checkbox" '
          .         'name="'.$element->getName().'[]" '
          .         'id="'$element->getName()'-'.$i.'" '
          .         'value="'.$value.'" />';
    $i++;
}
return $html;
Run Code Online (Sandbox Code Playgroud)

这看起来是一个好的开始,但我想知道使用装饰器是否足够.返回的值必须正确读取并传递到服务器,然后在服务器端验证.装饰者的想法是错误的吗?自定义元素会更有意义吗?我还没有看到一个很好的例子来说明如何做到这一点.

php zend-framework zend-form

8
推荐指数
1
解决办法
7454
查看次数

盐渍SHA1与盐渍SHA512相比有多不安全

SHA512比SHA1更复杂,但是与使用512对哈希值进行散列相比,使用SHA1对盐渍密码进行哈希处理会损失多少安全性?就拥有数据库的人破解单个密码所需的时间而言.我使用的框架不能让我轻松访问SHA512,我必须覆盖一些东西以使其工作,所以我想只使用SHA1,虽然在过去我总是使用SHA512.

php security hash sha1 sha512

7
推荐指数
2
解决办法
1万
查看次数

如何在数据库世界中建立ORM(对象关系映射)

我不是数据库管理员或架构师,因此我必须要求那些全天候工作的人.在数据库管理和体系结构的世界中,ORM(对象关系映射)的概念是如何建立的?它是否仍在发生,被广泛认可但仍处于早期阶段,或者通常是否被批准?我正在学习这个领域,并希望了解这个领域的更广泛部分是否能够获得知识.

mysql database orm

7
推荐指数
3
解决办法
1042
查看次数

从application.ini中读取值

我有一个在application.ini中定义的值

conditions.time= 50
Run Code Online (Sandbox Code Playgroud)

我怎样才能以zend方式阅读它?

php zend-framework

6
推荐指数
3
解决办法
3614
查看次数

如何在此Validator之后运行此Filter

我有一个元素.我想为它添加自定义验证器和自定义过滤器.验证器确保输入是几个允许值之一,然后过滤器将一些自定义值添加到输入.这意味着我必须在运行过滤器之前先验证原始输入.我是按照这个顺序做的

$element = new Zend_Form_Element_Text('element');
$element->addValidator('PermittedValue', false);
$element->addFilter('TotalHyphen', false);
$this->addElement($element);
Run Code Online (Sandbox Code Playgroud)

但这个顺序没有得到尊重.过滤器首先运行并更改数据,然后验证器在过滤的数据上运行,这意味着即使对于有效输入它也总是失败.从文档中可以看出这是故意的

注意:验证在过滤值上运行Zend_Form_Element :: isValid()在验证之前通过提供的过滤器链过滤值.有关更多信息,请参阅过滤器部分.

如何指定验证器和过滤器的运行顺序?

php zend-framework zend-validate zend-filter

6
推荐指数
1
解决办法
2054
查看次数

Zend验证器和错误消息:addValidator和addErrorMessage

如果我有一个附加了多个验证器的表单元素(在本例中为3),addErrorMessage当每个唯一验证器失败时,如何使用它来创建自定义错误消息.有没有办法为每个验证器添加自定义消息?

$element = new Zend_Form_Element_Text()...
$element->....
        ->addValidator(...)
        ->addValidator(...)
        ->addValidator(...)
        ->addErrorMessage()
Run Code Online (Sandbox Code Playgroud)

php zend-framework zend-form zend-form-element

5
推荐指数
2
解决办法
1万
查看次数