首页 > 解决方案 > 我正面临这个错误“致命错误:未捕获的错误:找不到类'Zend\Uri\Uri'”

问题描述

我在这里分享我正在做的一些代码行。我的其他验证器当前正在工作,但是当我转到此路径“ http://localhost/applications/add ”时,URI 验证器会给出此错误“致命错误:未捕获的错误:找不到类'Zend\Uri\Uri' ”。我已经在“vendor\zendframework\zend-validator\src\Uri.php”中添加了 Zend URI 验证器(为此我也在分享屏幕截图)。

<?php
use Zend\Filter;
use Zend\InputFilter\Input;
use Zend\InputFilter\InputFilter;
use Zend\Validator;

class ApplicationsController extends Zend_Controller_Action
{
    public function addAction() {

        $inputFilter = new InputFilter();

        $inputFilter->add(
            [
                'name' => 'web_uri',
                'required' => true,
                'filters' => [
                    ['name' => 'StringTrim'],
                    ['name' => 'HtmlEntities']
                ],
                'validators' => [
                    [
                        'name' => 'NotEmpty'
                    ],
                    [
                        'name' => 'Uri'
                    ],
                ],
            ]
        );
)
}
?>

这是“zendframework\zend-validator\src\Uri.php”的代码

<?php
namespace Zend\Validator;

use Traversable;
use Zend\Uri\Exception\ExceptionInterface as UriException;
use Zend\Uri\Uri as UriHandler;
use Zend\Validator\Exception\InvalidArgumentException;

class Uri extends AbstractValidator
{
}
?>

这是我存在 Uri.php 的文件夹结构

我得到的错误屏幕截图

标签: phpzend-framework2fatal-errorzend-framework3

解决方案


类是验证器建议Zend/Uri/Uri的另一个包的一部分。zendframework/zend-uri看看zend-uri composer.json 的第 44 行

...
    "suggest": {
...
        "zendframework/zend-uri": "Zend\\Uri component, required by the Uri and Sitemap\\Loc validators"
    },
...

要解决此问题,请从项目的根文件夹中执行以下命令:

composer require zendframework/zend-uri

推荐阅读