[TASK] Change visibility of PageRepository->init 43/58343/10
authorBenni Mack <benni@typo3.org>
Thu, 20 Sep 2018 06:37:36 +0000 (08:37 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Fri, 21 Sep 2018 09:38:35 +0000 (11:38 +0200)
The init() method is now called implicitly within the constructor,
so the last part is to mark the method protected.

Resolves: #86338
Related: #85450
Releases: master
Change-Id: Ic4c49f1dfbc3d9cda2f9c2bfbbdf4de333d836c0
Reviewed-on: https://review.typo3.org/58343
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86338-ChangeVisibilityOfPageRepository-init.rst [new file with mode: 0644]
typo3/sysext/frontend/Classes/Page/PageRepository.php
typo3/sysext/frontend/Tests/Functional/Controller/TypoScriptFrontendControllerTest.php
typo3/sysext/seo/Classes/Canonical/CanonicalGenerator.php

diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86338-ChangeVisibilityOfPageRepository-init.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86338-ChangeVisibilityOfPageRepository-init.rst
new file mode 100644 (file)
index 0000000..8b12a32
--- /dev/null
@@ -0,0 +1,32 @@
+.. include:: ../../Includes.txt
+
+===============================================================
+Deprecation: #86338 - Change visibility of PageRepository->init
+===============================================================
+
+See :issue:`86338`
+
+Description
+===========
+
+The :php:`PageRepository::init()` method is now called implicitly within the constructor.
+
+
+Impact
+======
+
+Calling the method will trigger a deprecation warning.
+
+
+Affected Installations
+======================
+
+Any TYPO3 installation with extensions directly calling the :php:`PageRepository::init()` method.
+
+
+Migration
+=========
+
+Remove the call to the :php:`PageRepository::init()` function. The constructor is taking care of calling the method.
+
+.. index:: NotScanned, ext:frontend
index 4d9dcd0..75ad6c7 100644 (file)
@@ -68,6 +68,7 @@ class PageRepository implements LoggerAwareInterface
      * @var array
      */
     protected $deprecatedPublicMethods = [
+        'init' => 'init() is now called implicitly on object creation, and is not necessary anymore to be called explicitly. Calling init() will throw an error in TYPO3 v10.',
         'movePlhOL' => 'Using movePlhOL is deprecated and will not be possible anymore in TYPO3 v10.',
         'getMovePlaceholder' => 'Using getMovePlaceholder is deprecated and will not be possible anymore in TYPO3 v10.'
     ];
@@ -229,9 +230,9 @@ class PageRepository implements LoggerAwareInterface
      * into account
      *
      * @param bool $show_hidden If $show_hidden is TRUE, the hidden-field is ignored!! Normally this should be FALSE. Is used for previewing.
-     * @see \TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::fetch_the_id(), \TYPO3\CMS\Tstemplate\Controller\TemplateAnalyzerModuleFunctionController::initialize_editor()
+     * @internal
      */
-    public function init($show_hidden)
+    protected function init($show_hidden)
     {
         $this->where_groupAccess = '';
 
index 2570129..98566f4 100644 (file)
@@ -15,6 +15,7 @@ namespace TYPO3\CMS\Frontend\Tests\Functional\Controller;
  */
 
 use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController;
+use TYPO3\CMS\Frontend\Page\PageRepository;
 use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
 
 /**
@@ -40,8 +41,7 @@ class TypoScriptFrontendControllerTest extends FunctionalTestCase
             false
         );
 
-        $pageContextMock = $this->getMockBuilder(\TYPO3\CMS\Frontend\Page\PageRepository::class)->getMock();
-        $this->tsFrontendController->_set('sys_page', $pageContextMock);
+        $this->tsFrontendController->_set('sys_page', new PageRepository());
     }
 
     /**
index 1a11702..540b9f4 100644 (file)
@@ -60,7 +60,6 @@ class CanonicalGenerator
         $this->typoScriptFrontendController = $typoScriptFrontendController;
         $this->signalSlotDispatcher = $signalSlotDispatcher;
         $this->pageRepository = GeneralUtility::makeInstance(PageRepository::class);
-        $this->pageRepository->init(false);
     }
 
     /**