小编edi*_*igu的帖子

正则表达式用于多个数字变体+字母数字后缀

我如何编写一个正则表达式模式来匹配浮点数和整数的所有变体(用点或逗号分隔)与长文本中的两个字符的字母数字后缀(带空格或不带空格),如下所示:

34MB
34 MB
34.3MB
34,3MB
34.30MB
34,30MB
34,30 MB
5MB
5 MB
1.024MB
1.024 MB
1,024MB
10,67MB
10.67MB
Run Code Online (Sandbox Code Playgroud)

可能吗?我尝试过类似的东西,但没有工作

/(\d+(.|,\d+)?\s\MB|KB|GB|TB)/
Run Code Online (Sandbox Code Playgroud)

regex

3
推荐指数
1
解决办法
917
查看次数

Doctrine2 fetch Count 更优化更快的方式 或者 Zf2 库

我正在使用Doctrine2 and Zf2,现在当我需要获取count行时,我有以下两种获取它的方法。但我担心的是哪种方式会更优化和更快,因为将来行数将超过 50k。任何建议或任何其他方式来获取计数?是否有任何函数可以用于获取计数findBy

或者我应该使用普通的 Zf2 数据库库来获取计数。我刚刚发现当数据很大时,ORM 不适合获取结果。请任何帮助将不胜感激

$members = $this->getEntityManager()->getRepository('User\Entity\Members')->findBy(array('id' => $id, 'status' => '1'));
$membersCnt = sizeof($members);
Run Code Online (Sandbox Code Playgroud)

或者

$qb = $this->getEntityManager()->createQueryBuilder();
$qb->select('count(p)')
   ->from('User\Entity\Members', 'p')
   ->where('p.id = '.$id)
   ->andWhere('p.status = 1');

$membersCnt = $qb->getQuery()->getSingleScalarResult();
Run Code Online (Sandbox Code Playgroud)

orm doctrine doctrine-query doctrine-orm zend-framework2

3
推荐指数
1
解决办法
2871
查看次数

ZF2:如何使用InArray验证器验证Multiselect表单元素?

我有一个ZF2表单,我必须禁用本机验证器,具体原因.

然后,当以编程方式向表单添加元素时,我还添加了验证器.

其中一个元素是Multiselect数组.

$form->add( array(
'type' => 'Zend\Form\Element\Select',
'options' => array(
    (
        'label' => 'few items',
        'value_options' => Array
            (
                'one' => 'one',
                'two' => 'two',
                'three' => 'three',
                'four' => 'four',
            )
    ),
'attributes' => array
    (
        'multiple' => 'multiple',
        'value' => array('two','three'),
        'required' => 1,
        'id' => 'few_items'
    ),
'name' => 'few_items'
));
Run Code Online (Sandbox Code Playgroud)

另外,我将添加一个InArray验证器:

if($f instanceof \Zend\Form\Element\Select){
    $inputFilter->add($factory->createInput(array(
        'name'     => $f->getName(),
        'required' => $f->getAttribute('required') == 1,
        'validators' => array(
            array(
                'name'    => 'InArray',
                'options' => array(
                    'haystack' => …
Run Code Online (Sandbox Code Playgroud)

php validation zend-framework2

3
推荐指数
1
解决办法
2266
查看次数

在win7上的不同目录中的wamp 2.5中创建vhost返回禁止错误

我在C:\ wamp中安装了wamp,我想在E:\ zf2中创建DocumentRoot文件夹作为虚拟域www.skeltonapplicaiton-zf2.local的虚拟主机.

在httpd.conf文件中未提交包含conf/extra/httpd-vhosts.conf的行.

httpd-vhosts.conf代码是

<VirtualHost *:80>
    ServerName www.skeltonapplicaiton-zf2.local
    ServerAlias skeltonapplicaiton-zf2.local
    DocumentRoot "E:\zf2"
    <directory "E:\zf2">
        Options Indexes FollowSymLinks
        AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from all
    </directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

在hosts文件中添加了条目

127.0.0.1 www.skeltonapplicaiton-zf2.local
127.0.0.1 skeltonapplicaiton-zf2.local
Run Code Online (Sandbox Code Playgroud)

然后重新启动wamp服务器.

在浏览器中打开www.skeltonapplicaiton-zf2.local后,我收到了错误消息

Forbidden

You don't have permission to access / on this server.
Run Code Online (Sandbox Code Playgroud)

Apache错误日志是

[Fri Aug 08 11:00:41.940054 2014] [authz_core:error] [pid 7256:tid 796] [client 127.0.0.1:59500] AH01630: client denied by server configuration: E:/zf2/
Run Code Online (Sandbox Code Playgroud)

wamp virtualhost zend-framework2

3
推荐指数
1
解决办法
2645
查看次数

在Doctrine结果上使用jsonModel返回JSON数据时得到空响应-特殊字符编码问题

我在获取ZF2 jsonModel从教义查询返回多结果时遇到问题。仅当我尝试返回数组结果时才出现此问题,而在返回单个项目时不出现此问题,代码如下:

public function mosquesAction() {

    $em = $this
            ->getServiceLocator()
            ->get('Doctrine\ORM\EntityManager');
    $dql = "select m.name from \Application\Entity\Mosque m ";
    $result = $em->createQuery($dql)->getResult();

    return new JsonModel($result);   
}
Run Code Online (Sandbox Code Playgroud)

清真寺实体是:

namespace Application\Entity;

use Doctrine\ORM\Mapping as ORM;

/** @ORM\Entity */
class Mosque {

/**
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 * @ORM\Column(type="integer")
 */
private $id;

/** @ORM\Column(type="string") */
private $name;

/** @ORM\Column(type="string") */
private $address;

/** @ORM\Column(type="string") */
private $email;

/** @ORM\Column(type="string") */
private $website;

/** @ORM\Column(type="string") */
private $phone;

/** @ORM\Column(type="string") */
private $mobile;

/** …
Run Code Online (Sandbox Code Playgroud)

php json doctrine-orm zend-framework2

3
推荐指数
1
解决办法
902
查看次数

PHP致命错误:未知:需要打开失败| index.php链接中的公共副本

我的项目使用Zend 3框架和php7.2.当我在Ubuntu 17.04上构建Web时,此Web无法正常工作.

> php -S 0.0.0.0:8080 -t public public/index.php
[Thu Dec  7 23:25:59 2017] PHP Warning:  Unknown: failed to open stream: No such file or directory in Unknown on line 0
[Thu Dec  7 23:25:59 2017] PHP Fatal error:  Unknown: Failed opening required '/home/isling/workspace/sp/shopping/public/public/index.php' (include_path='.:/usr/share/php') in Unknown on line 0
Run Code Online (Sandbox Code Playgroud)

'.../public/public/index.php' - >公共重复???

php fatal-error zend-framework3

3
推荐指数
1
解决办法
5167
查看次数

如何摆脱Zend Framework 3"入门"教程中的致命错误?

我一直试图通过Zend Framework 3的"入门"教程.它一直很顺利,但是一旦我进入"表单和操作",事情就会停止工作.

教程如下:https://docs.zendframework.com/tutorials/getting-started/forms-and-actions/

这是我不断得到的错误:

致命错误:Zend\Form\Form :: bindValues(array $ values = Array)的声明必须与Zend\Form\Fieldset :: bindValues(array $ values = Array,?array $ validationGroup = NULL)兼容...第24行\ zendtest\vendor\zendframework\zend-form\src\Form.php

我在创建了AlbumForm.php之后得到了这个,在Album.php中实现了InputFilterAwareInterface,创建了add.phtml视图脚本并在AlbumController.php中复制了所需的逻辑.从教程中复制了所有内容.

我无法通过谷歌找到任何有同样问题的人,所以我一定做错了什么,但我看不出它是什么.

有没有人知道我可能做错了什么?

php forms zend-framework3

3
推荐指数
1
解决办法
1130
查看次数

如何基于单向字符串或数组输入生成短哈希(又名alphaid)?

我正在尝试生成像我的应用程序中使用的youtube视频ID的短字符串哈希,但我无法弄清楚什么是最快和最简单的方法,同时使用数组或基于json的字符串提供最短的哈希.

我读了Kevin van Zonneveld 关于这个主题的优秀文章,他根据整数生成alphaID,它有两种方式.还有很好的答案,但我的情况有点不同:

  • 对于数据库中的每个唯一记录,有很多(超过100K)但很小的数据集(数组):

    $id = 1;
    $set[$id] = array(533 => array('a' => 78), 460 => array('a' => 89));
    $set[$id] = array(534 => array('b' => 79), 620 => array('a' => 908));
    $set[$id] = array(535 => array('a' => 80), 782 => array('c' => 901));
    
    $id = 2;
    $set[$id] = array(672 => array('a' => 12), 852 => array('a' => 122));
    $set[$id] = array(542 => array('a' => 67), 372 => array('a' => 831));
    $set[$id] = array(573 => array('a' => …
    Run Code Online (Sandbox Code Playgroud)

php arrays encryption algorithm hash

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

在Zend Framework 2应用程序中返回XML响应的正确方法是什么?

我正在开发一个小型ZF2应用程序,它为客户端提供了一些API端点.它通过JSON返回一些简单的数据.

它有一个FooController扩展BaseRestControllerAbstractRestfulController:

FooController extends BaseRestController
{
    // ....
    public function getList()
    {
        $data = array('foo' => 'bar');
        return $this->send($data);
    }
 }
Run Code Online (Sandbox Code Playgroud)

和:

BaseRestController extends AbstractRestfulController
{
    // ...
    public function send($data)
    {
        return new JsonModel($data);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想根据用户的选择通过XML返回相同的数据.我想我必须在我的send()方法中做这样的事情BaseRestController:

if ($format === 'json') {
    return new JsonModel($data);
} else {
    return new XmlModel($data);
}
Run Code Online (Sandbox Code Playgroud)

我查看了内置的JsonModel,它扩展Zend\View\Model\ViewModel并添加了serialize()将变量序列化为JSON的方法.

我想我必须写一个类似的XmlModel,但我无法弄清楚如何正确编写这个模型,以及告诉我的控制器这个新模型的正确方法是什么.

要实现这一目标需要哪些类/工厂/渲染器/策略?

我阅读了文档的创建和注册备用渲染和响应策略部分,但是所有现有解决方案都检查了Accept HTTP标头,我不需要与标头交互,客户端只需将所需格式作为路由参数传递到我的应用程序中,/rest/foo?format=json或者 …

xml api rest zend-framework2

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

如何在 ZF2 中使用自定义(非标准)HTTP 状态代码

我正在尝试498 - Token Invalid在 Zend Framework 2 应用程序中使用自定义 http 状态代码发送响应。这显然不起作用,因为标准 Zend Response 类不允许自定义 http 代码。

所以我创建了自己的响应类来处理这个 http 代码并在我的操作中返回它:

$response = new CustomResponse();
$response->setStatusCode(498); //basic zend response objects throws InvalidArgumentException

return $response;
Run Code Online (Sandbox Code Playgroud)

虽然没有抛出异常,但浏览器说它返回了 500 错误。

如何让这个工作?

http httpresponse zend-framework2

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