magento2 debug排查方式汇总

magento2 debug排查方式汇总 :增加 Log 记录

使用该方法将在 [root]/var/log/support_report.log 文件中添加记录。

\Magento\Framework\App\ObjectManager::getInstance()
    ->get( '\Psr\Log\LoggerInterface' )->addCritical( print_r( 'xxx', true ) );

数据对象的数据输出

所有继承 DataObject 的类都可使用其 debug 方法将所有属性(属性若为 DataObject 对象则递归处理)转换成字符数组输出。比如 block、model、resource model 等。

print_r( $obj->debug() );

控制器路由查错

可到以下方法中加入代码片段进行 debug:

  • MagentoFrameworkAppRouterBase::matchAction

  • MagentoFrameworkConfigReaderFilesystem::_readFiles

查询所有加载了的 layout

在 MagentoFrameworkViewModelLayoutMerge::_loadFileLayoutUpdatesXml 中找到:

foreach ($updateFiles as $file) {

在其后添加如下代码:

echo $file->getFileIdentifier()."\n";

清空缓存后刷新页面。

获取所有打开的模块名

把 MagentoFrameworkModuleModuleList 的 getNames 方法改成

 
public function getNames()
{
    $this->loadConfigData();
    if (!$this->configData) {
        return [];
    }
    $result = array_keys(array_filter($this->configData));
    print_r( $result ); exit; // 添加这行
    return $result;
}

上一篇:2018年magento自建站10大潮流趋势,你的页面更新了吗? 下一篇:magento2的checkout totals添加产品属性
  • 版权声明:内容来自互联网不代表本站观点,2018-05-11发表于 magento教程栏目。
  • 转载请注明: magento2 debug排查方式汇总| magento教程 +复制链接