我在CodeIgniter中有以下类声明:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
if (session_status()==PHP_SESSION_NONE){
session_start();
}
require_once(APPPATH.'libraries/fpdf/fpdf17/fpdf.php');
class Fpdf {
var $ci;
var $pdf;
public function __construct(){
$this->ci =& get_instance();
$this->pdf = new FPDF();
}
public function t(){
echo 'Orayt!';
}
public function generateResume(){
$this->pdf->AddPage();
$u_id = $this->session->userdata('user_id');
$this->db->where('user_id',$u_id);
$data = $this->db->get('user');
// Header
foreach($data->result() as $row){
$mName = $row->middle_name; $name = $row->first_name . ' ' . $mName[0] . '. ' . $row->last_name;
$this->pdf->Cell(0,0,$name,0,1);
}
$this->pdf->Output();
}
public function testPDF(){
$this->pdf->AddPage();
$this->pdf->SetFont('Arial','B',16);
$this->pdf->Cell(40,10,'Hello World!');
$this->pdf->Output();
}
}
?>
我的问题是,当我使用$this->load->library('fpdf');
将其加载到控制器时,它无法加载。
有人可以帮我找到纠正这个错误的方法吗?提前谢谢。
答案 0 :(得分:0)
用户指南: https://ellislab.com/codeigniter/user-guide/general/creating_libraries.html
检查您的文件名,对类名和文件名使用相同的名称。
我认为如果您捕获或复制错误,它会对我们有所帮助,为什么你说它没有加载?
public function __construct(){
$this->ci =& get_instance();
$this->pdf = new FPDF();
}
您使用此代码,$ his-&gt; ci通过引用分配允许您使用原始CodeIgniter对象而不是创建它的副本。
所以如果你想要打电话或使用CI图书馆,你必须喜欢这个例子,
$ data = $ this-&gt; db-&gt; get(&#39; user&#39;); 可以: $ data = $ this-&gt; ci - &gt; db-&gt; get(&#39; user&#39;);
答案 1 :(得分:0)
如果你没有加载CI_Controler,可以使用它吗?
$ci = & get_instance();
$ci->load->library('name');