2

增加 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";

清空缓存后刷新页面。

获取所有打开的模块名

MagentoFrameworkModuleModuleListgetNames 方法改成

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

猫之良品
2.5k 声望139 粉丝

资深Drupal, magento与Joomla


引用和评论

0 条评论