2011-11-18 18 views
5
पर एक और बंडल से एक इकाई लोड करने के लिए कैसे

चलो कहते हैं कि मैं दो बंडल करते हैं ?Symfony2

Controller मेरी Compagny/InterfaceBundle की:

<?php 
// src/Compagny/InterfaceBundle/Controller/DefaultController.php 

namespace Compagny\InterfaceBundle\Controller; 
use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Compagny\UserBundle\Entity; // I believed this line will do the trick, but it doesn't 

class DefaultController extends Controller 
{ 
    public function indexAction() 
    { 
     $user = new User(); 
    } 
} 

की Entity मेरी Compagny/UserBundle:

<?php 

namespace Compagny\UserBundle\Entity 

class User { 
public $name; 
public function setName($name) { 
    // ... 
} 
public function getName() { 
    // ... 
} 
} 

(चलो इस उदाहरण है कि उपयोगकर्ता वर्ग Doctrine2 उपयोग नहीं करता है के लिए कहते हैं, क्योंकि यह 'नहीं करता है डेटाबेस से कनेक्ट करने की आवश्यकता नहीं है)।

उत्तर

12
<?php 
// src/Compagny/InterfaceBundle/Controller/DefaultController.php 

namespace Compagny\InterfaceBundle\Controller; 
use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Compagny\UserBundle\Entity\User; // It's not a trick, it's PHP 5.3 namespacing! 

class DefaultController extends Controller 
{ 
    public function indexAction() 
    { 
     $user = new User(); 
    } 
} 

आप निश्चित रूप से, आप किसी अन्य नामस्थान से कक्षा का उपयोग कर रहे हैं। तथ्य यह है कि यह एक इकाई है बिल्कुल महत्वपूर्ण नहीं है! आप निश्चित रूप से उस इकाई के लिए इकाई प्रबंधक से भी पूछ सकते हैं।