0

FPDF と Codeigniter フレームワークで作成している PDF のヘッダーとフッターを設定するのに少し問題があります。このコードでは、ヘッダーに $user 変数をエコーできません。その変数を取得するにはどうすればよいですか?..クラスのコードは次のとおりです。

<?php
date_default_timezone_set('Asia/Jakarta');
$user=$this->session->userdata('name');

class printFPDF extends FPDF{
    var $user;
    function userdata($user){
        $this->user=$user;
    }
    // Page header
    function Header(){
        global $user;
        // Arial bold 15
        $this->SetFont('Arial','I',8);
        // Move to the right
        $this->Cell(1);
        // Title
        $this->Cell(30,10,"Created by ".$this->user,0,0,'L');
        // Move to the right        
        $this->Cell(190);
        // Line break
        $this->Ln(15);
    }
}

どんな助けでも大歓迎です。

4

2 に答える 2

0

@Damien Pirsy: CodeIgniter 内にある必要はありません。プロジェクトのどこでも CodeIgniter インスタンスをいつでも参照できます。

$CI変数でCodeIgniter をインスタンス化すると、コントローラー、モデル、ライブラリなどにあるすべてのものにアクセスできます。これを行った後は、次のように、 $thisの代わりに$this->CIを使用することを忘れないでください。

<?php
date_default_timezone_set('Asia/Jakarta');

class printFPDF extends FPDF{

    var $CI;

    function __construct(){
        parent::__construct();
        $this->CI =& get_instance();
    }

    function userdata($user){
        $this->CI->session->set_userdata('name', $user);
    }

    // Page header
    function Header(){
        // Arial bold 15
        $this->SetFont('Arial','I',8);
        // Move to the right
        $this->Cell(1);
        // Title
        $this->Cell(30,10,"Created by ".$this->CI->session->userdata('name'),0,0,'L');
        // Move to the right        
        $this->Cell(190);
        // Line break
        $this->Ln(15);
    }
}
于 2013-06-28T06:31:02.273 に答える