Prestashop 1.7の動作方法を知り、Symfonyの経験があります。Prestashop LOG:オブジェクトとアレイのダンプを取得する
Symfony開発モードでは、[Symfony project url]/_profiler
は、とりわけ要求内の変数のdump($someVariable)
をチェックするのに便利です。 symfonyの_profiler
を表示し、管理者モードに関する要求で何が起こっているかを分析すること[Prestashop project url]/admin[some random chain of chars]/_profiler
を行うことが可能です管理者モードでPrestaShopの1.7
。
しかし、管理者モード外であれば(仮想店舗のデモモードで)
、[Prestashop project url]/_profiler
または[Prestashop project url]/[language value]/_profiler
はsymfony _profiler
は表示されません。
私はdefine('_PS_DEBUG_PROFILING_', true);
を[prestashop project]/config/defines.inc.php
にアクティブ化してPrestashop独自のプロファイラを試しました。 「仮想店のデモモード」の一番下にPrestashopプロファイラが表示されますが、dump($someVariable)
は含まれていません。これは開発のために、Prestashopの動作を理解するためにhookAction[action name]
にあります。 HTMLはなく、私が探していますものですhookAction[action name]
でを生成して
私はhookDisplay[display name]
でのSymfony dump($someVariable)
を得ることができました。私が見ることができるので、私はほとんど、symfonyは唯一の管理者側で使用されていることを感じているPrestaShopの1.7のコードを見てみると
UPDATE
:[Prestashop project url]/admin[some random chain of chars]/index.php
で$kernel = new AppKernel(_PS_MODE_DEV_?'dev':'prod', _PS_MODE_DEV_);
が、私は[Prestashop project url]/index.php
でそれを見ることはありません 。 [Prestashop project]/modules/[my module]/classes/CustomLogger.php
<?php
class CustomLogger {
const DEFAULT_LOG_FILE ="prestashop_system.log";
public static function log($message, $level = 'debug', $fileName = null){
$fileDir = _PS_ROOT_DIR_ . '/log/';
$fileName=self::DEFAULT_LOG_FILE;
if(is_array($message) || is_object($message)){$message = print_r($message, true);}
$formatted_message=$level." -- ".date('Y/m/d - H:i:s').": ".$message."\r\n";
return file_put_contents($fileDir . $fileName, $formatted_message, FILE_APPEND);
}
}
?>
[PrestaShopのプロジェクト]」で/モジュール/:私は今のところ見つけた