代码之家  ›  专栏  ›  技术社区  ›  ifusion

升级到Silverstripe 4.1.0时出现致命错误:在ErrorPageController中找不到类“PageController”。php?

  •  3
  • ifusion  · 技术社区  · 7 年前

    我正在将一个Silverstripe 3.6.5站点升级到4.1.0,只是在经历升级过程。我遇到了一个障碍。我收到以下错误:

    Fatal error: Class 'PageController' not found in /Users/username/Sites/chch-builder-v2-ss4/vendor/silverstripe/errorpage/src/ErrorPageController.php on line 11

    这是 ErrorPageController.php 文件:

    <?php
    namespace SilverStripe\ErrorPage;
    
    use PageController;
    use SilverStripe\Control\HTTPRequest;
    use SilverStripe\Control\HTTPResponse;
    
    /**
     * Controller for ErrorPages.
     */
    class ErrorPageController extends PageController
    {
        /**
         * Overload the provided {@link Controller::handleRequest()} to append the
         * correct status code post request since otherwise permission related error
         * pages such as 401 and 403 pages won't be rendered due to
         * {@link HTTPResponse::isFinished() ignoring the response body.
         *
         * @param HTTPRequest $request
         * @return HTTPResponse
         */
        public function handleRequest(HTTPRequest $request)
        {
            /** @var ErrorPage $page */
            $page = $this->data();
            $response = parent::handleRequest($request);
            $response->setStatusCode($page->ErrorCode);
            return $response;
        }
    }
    

    我错过了什么/做错了什么?

    1 回复  |  直到 7 年前
        1
  •  2
  •   3dgoo    7 年前

    升级到SilverStripe 4时,我们需要重命名 Page_Controller 分类至 PageController

    推荐文章