首页 文章

Zendframework 3 - 无法初始化Zend / http

提问于
浏览
0

根据主题,如何解决Zend / Http的启动器问题?

在我的控制器中:

use Zend\Http\Client;

class AuthController extends AbstractActionController 
{
    /**
     * Entity manager.
     * @var Doctrine\ORM\EntityManager 
     */
    public $entityManager;

    /**
     * Post manager.
     * @var Application\Service\PostManager 
     */
    private $postManager;

    private $sessionManager;

    /**
     * Constructor is used for injecting dependencies into the controller.
     */
    public function __construct($entityManager, $postManager, $sessionManager) 
    {
        $this->entityManager = $entityManager;
        $this->postManager = $postManager;
        $this->sessionManager = $sessionManager;
    }

    //LoginForm
    public function indexAction() 
    {     
        // Create the form.
        $form = new LoginForm();      
        if (!empty($this->sessionManager->username)) {
            return $this->redirect()->toRoute('plan', ['controller'=>'index', 'action'=>'index']);          
        }
        else {
            $this->layout('layout/layout_login');
            // Check whether this post is a POST request.
            $this->sessionManager->username = '';
            if ($this->getRequest()->isPost()) {

                // Get POST data.
                $data = $this->params()->fromPost();

                // Fill form with data.
                $form->setData($data);
                if ($form->isValid()) 
                {
                    // Get validated form data.
                    $data = $form->getData();
                    $this->sessionManager->username = $data['email'];

                    $postUrl = "http://example.com/jwt/auth/login/";

                    $config = array(
                        'adapter'   => 'Zend\Http\Client\Adapter\Curl',
                        'curloptions' => array(CURLOPT_FOLLOWLOCATION => true),
                    );
                    $client = new Zend\Http\Client($postUrl, $config);

                    $client = new Zend\Http\Client;
                    $client->getHeaders()->addHeaders([
                        'Content-Type' => 'application/x-www-form-urlencoded; charset=UTF-8'
                    ]);
                    $client->setUri($postUrl);
                    $client->setMethod('POST'); //uncomment this if the POST is used
                    $client->getPost()->set('username', $data['email']);
                    $client->getPost()->set('password', $data['password']);

                    $client = new Client;

                    //$client->setAdapter("Zend\Http\Client\Adapter\Curl");

                    $response = $client->dispatch($client);

                    // Redirect the user to "index" page.
                    return $this->redirect()->toRoute('application', ['controller'=>'index', 'action'=>'playground']);

                }
            }
        }

        // Render the view template.
        return new ViewModel([
            'form' => $form
        ]);
    }

在config \ modules.config.php中:

return [
    'DoctrineModule',
    'DoctrineORMModule',
    'Zend\Http',
    'Zend\Cache',
    'Zend\Paginator',
    'Zend\I18n',
    'Zend\InputFilter',
    'Zend\Filter',
    'Zend\Hydrator',
    'Zend\Session',
    'Zend\Mvc\Plugin\Prg',
    'Zend\Mvc\Plugin\Identity',
    'Zend\Mvc\Plugin\FlashMessenger',
    'Zend\Mvc\Plugin\FilePrg',
    'Zend\Form',
    'Zend\Router',
    'Zend\Validator',
    'Zend\Validator',
    'Application',
];

错误:

致命错误:未捕获异常'Zend \ ModuleManager \ Exception \ RuntimeException',消息'Module(Zend \ Http)无法初始化' . 在/var/www/html/zf3/blog/vendor/zendframework/zend-modulemanager/src/ModuleManager.php:203堆栈跟踪:0 / var / www / html / zf3 / blog / vendor / zendframework / zend-modulemanager / src / ModuleManager.php(175):Zend \ ModuleManager \ ModuleManager-> loadModuleByName(Object(Zend \ ModuleManager \ ModuleEvent))1 / var / www / html / zf3 / blog / vendor / zendframework / zend-modulemanager / src / ModuleManager .php(97):Zend \ ModuleManager \ ModuleManager-> loadModule('Zend \ Http')2 /var/www/html/zf3/blog/vendor/zendframework/zend-eventmanager/src/EventManager.php(271): Zend \ ModuleManager \ ModuleManager-> onLoadModules(Object(Zend \ ModuleManager \ ModuleEvent))3 /var/www/html/zf3/blog/vendor/zendframework/zend-eventmanager/src/EventManager.php(143):Zend \ EventManager \ EventManager-> triggerListeners(Object(Zend \ ModuleManager \ ModuleEvent))4 /var/www/html/zf3/blog/vendor/zendframework/zend-modulemanager/src/ModuleManager.php(120):in / var / www /第203行的html / zf3 / blog / vendor / zendframework / zend-modulemanager / src / ModuleManager.php

我错过了什么吗?

1 回答

  • 1

    尝试使用此命令通过composer下载包:

    composer require zendframework/zend-http
    

相关问题