FPDFを使用してExpressionEngineからチャンネルファイルをPDFファイルにエクスポートしています。私が使用しているFPDFのものは以前に別のプロジェクトで使用していたコードなので、はになるはずです。できるだけ早く彼らは私が取得機能に包まれますように、通常FPDFオブジェクトの仕事の方法、しかし:PHP&FDPFエラーExpressionEngineの '致命的なエラー:非オブジェクトのメンバー関数を呼び出す'
Fatal error: Call to a member function MultiCell() on a non-object
だから、これは動作します:
include '../apps/assets/fpdf.php';
// setup the PDF object:
$pdf = new FPDF();
$pdf->SetMargins(0,0,0);
$pdf->SetAuthor("Author");
$pdf->addPage("P", "A4");
$pdf->SetTextColor(82,82,82);
// write something to the PDF:
$pdf->MultiCell(80, 6, "some text here", 0, "L");
しかし、これはしていません:
include '../apps/assets/fpdf.php';
// setup the PDF object:
$pdf = new FPDF();
$pdf->SetMargins(0,0,0);
$pdf->SetAuthor("Author");
$pdf->addPage("P", "A4");
$pdf->SetTextColor(82,82,82);
writeStuff("some stuff to write");
function writeStuff($stuff) {
global $pdf;
$pdf->MultiCell(80, 6, $stuff, 0, "L");
}
コードの最後のブロックは、上記のようにエラーをスローします。
まったく同じ設定が以前は機能していたので、変です。主な違いは、今回はPHPがExpressionEngineテンプレートでラップされていることです。テンプレートにはPHP解析が有効になっていますが、同じアプリケーションで複数のテンプレートを使用しています。
ExpressionEngineの解析順序と関係がありますか? $ writeオブジェクトが作成される前にメソッド 'writeStuff'が呼び出されていますか?
アイデア?
本当にありがとうございます。私自身でそれを決めることはできなかったでしょうか?) – Rein