Search code examples
classlaravellaravel-4vendor

Laravel 4 using vendor classes


I have installed Laravel 4 after using 3, love it. I used to be able to use the Zend framework as such:

       $yt = new Zend_Gdata_YouTube();

for instance

I have used composer to install Zend and everything is installed in the Vendor folder..

Problem:

How to address the individual classes i.e. Zend Gdata etc.

I can't find any documentation on calling classes from a vendor in L4. Any help is appreciated.


Solution

  • Take a look at your vendor\composer\autoload_classmap.php file. In there you will find a list of all vendor classes that are being autoloaded. I think all classes will have to be called using their full namespaced name.

    E.g.

    I'm using Zizaco's Entrust package. This is what it looks like in the vendor\composer\autoload_classmap.php file.

    'Zizaco\\Entrust\\Entrust' => $vendorDir . /zizaco/entrust/src/Zizaco/Entrust/Entrust.php',
    

    If I wanted to access the Entrust.php class I have to call

    $en = new Zizaco\Entrust\Entrust();
    

    Alternatively you could alias certain classes in your app\config\app.php file.

    E.g.

    'Ent'         => 'Zizaco\Entrust\Entrust'
    

    In your case you'll need to do something like this:

    $yt = new Zend\namespace\Zend_Gdata_YouTube();