Question

I'm trying to install Zend PDF in order to fill out editable PDFs on my client's shared hosting account (media temple). I have it enabled now, confirmed in phpinfo http://i.imgur.com/lDiLk.png but after that, I can't find out what I need to get started. If I try loading the Zend_Pdf class, I receive a "Fatal error: Class 'Zend_Loader' not found" message.

Was it helpful?

Solution

These are very different. Zend Guard Loader is used to run PHP scripts encoded by Zend Guard. And Zend Loader component is used, among other things, to simplify the development. For example, this...

$pdf = new Zend_Pdf(); // what's Zend_Pdf, people?

... statement is meaningless to PHP unless it knows what is Zend_Pdf class. Thankfully, in PHP there's a special mechanism of importing these files automatically - autoloading. Here's how to do it with Zend_Loader:

set_include_path(
    implode(PATH_SEPARATOR, array(
        get_include_path(),
        PATH_TO_ZF_LIBRARY
    )));

require_once 'Zend/Loader/Autoloader.php';
$autoloader = Zend_Loader_Autoloader::getInstance();
...
$pdf = new Zend_Pdf(); // no error, as correct file should be imported automatically

Actually, if it's only a single file that will use Zend component, it's not required that you use the autoloading mechanism. A simple require_once (no pun intended) would suffice:

require_once 'Zend\Pdf.php';
...
$pdf = new Zend_Pdf(); // oh, now I know all about Zend_Pdf!

OTHER TIPS

Zend Guard Loader and Zend Loader are not the same thing. Zend Guard is another Zend product and has nothing to do with Zend Framework. Zend Loader is the name of the class loader within Zend Framework.

Make sure that you have a copy of Zend Framework within your application and that you've setup the include path to point at this location.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top