-
Notifications
You must be signed in to change notification settings - Fork 9.4k
Fixes to launch Magento with PHP 8.1 #34506
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixes to launch Magento with PHP 8.1 #34506
Conversation
Hi @karyna-tsymbal-atwix. Thank you for your contribution
❗ Automated tests can be triggered manually with an appropriate comment:
You can find more information about the builds here ℹ️ Run only required test builds during development. Run all test builds before sending your pull request for review. For more details, review the Magento Contributor Guide documentation. 🕙 You can find the schedule on the Magento Community Calendar page. 📞 The triage of Pull Requests happens in the queue order. If you want to speed up the delivery of your contribution, join the Community Contributions Triage session to discuss the appropriate ticket. 🎥 You can find the recording of the previous Community Contributions Triage on the Magento Youtube Channel ✏️ Feel free to post questions/proposals/feedback related to the Community Contributions Triage process to the corresponding Slack Channel |
4f34fd4
to
64fc7fb
Compare
@@ -34,6 +34,7 @@ public function __construct( | |||
* | |||
* @return array | |||
*/ | |||
#[\ReturnTypeWillChange] | |||
public function current() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would recommend to specify a proper return type for this method instead
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @fascinosum , in PHP >= 8 the return type for this method is mixed (https://www.php.net/manual/en/class.iteratoriterator.php) , but in PHP 7.4 this return type is not specified yet.
@@ -82,6 +82,7 @@ public function getConfig() | |||
* @return mixed data which can be serialized by <b>json_encode</b>, | |||
* which is a value of any type other than a resource. | |||
*/ | |||
#[\ReturnTypeWillChange] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would recommend to specify a proper return type for this method instead
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @fascinosum , in PHP >= 8 the return type for this method is mixed (https://www.php.net/manual/en/jsonserializable.jsonserialize.php) , but in PHP 7.4 this return type is not specified yet.
@@ -24,7 +24,7 @@ class DefaultPath implements \Magento\Framework\App\DefaultPathInterface | |||
*/ | |||
public function __construct(\Magento\Backend\App\ConfigInterface $config) | |||
{ | |||
$pathParts = explode('/', $config->getValue('web/default/admin')); | |||
$pathParts = explode('/', $config->getValue('web/default/admin') ?? ''); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will if
statement be more elegant for this case?
@@ -19,7 +19,7 @@ use Magento\Framework\View\Helper\SecureHtmlRenderer; | |||
<?php foreach ($tabs as $_tab): ?> | |||
<?php $tabId = $block->getTabId($_tab) ?> | |||
<?php $_tabClass = 'tab-item-link ' . $block->getTabClass($_tab) . ' ' . | |||
(preg_match('/\s?ajax\s?/', $_tab->getClass()) ? 'notloaded' : '') ?> | |||
(preg_match('/\s?ajax\s?/', $_tab->getClass() ?? '') ? 'notloaded' : '') ?> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should it be fixed in \Magento\Backend\Block\Widget\Tabs::getTabClass
intead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fascinosum the problem is in a method 'getClass', and $_tab can be a DataObject
@@ -20,6 +20,7 @@ class Element extends \Magento\Framework\Simplexml\Element | |||
* @param string $namespace If specified, the namespace to which the attribute belongs. | |||
* @return void | |||
*/ | |||
#[\ReturnTypeWillChange] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is a non-API class, we can add appropriate return types
64fc7fb
to
4f3979b
Compare
@magento run all tests with env PHP 7.4 |
The requested builds are added to the queue. You should be able to see them here within a few minutes. Please re-request them if they don't show in a reasonable amount of time. |
02f938a
to
dfb295c
Compare
The requested builds are added to the queue. You should be able to see them here within a few minutes. Please re-request them if they don't show in a reasonable amount of time. |
Description (*)
Fixes for compatibility with PHP 8.1 (to be able to launch Magento)
Related Pull Requests
Fixed Issues
Contribution checklist (*)