मैं सिर्फ सिद्धांत के साथ पकड़ने और मॉडलों के सुझाए गए आलसी लोडिंग का उपयोग कर रहा हूं।सिद्धांत आलसी लोडिंग
<?php
require_once(dirname(__FILE__) . '/libs/doctrine/lib/Doctrine.php');
spl_autoload_register(array('Doctrine', 'autoload'));
$manager = Doctrine_Manager::getInstance();
$manager->setAttribute(Doctrine_Core::ATTR_AUTO_ACCESSOR_OVERRIDE, true);
$manager->setAttribute(Doctrine_Core::ATTR_MODEL_LOADING, Doctrine_Core::MODEL_LOADING_CONSERVATIVE);
Doctrine_Core::loadModels(array(dirname(__FILE__) . '/models/generated', dirname(__FILE__) . '/models')); //this line should apparently cause the Base classes to be loaded beforehand
मेरे मॉडल और आधार वर्ग सभी सिद्धांत द्वारा बनाया गया है: ट्यूटोरियल के अनुसार, मैं एक सिद्धांत बूटस्ट्रैप फ़ाइल बनाई है।
<?php
require_once('doctrine_bootstrap.php');
$user = new User();
$user->email = '[email protected]';
echo $user->email;
बहरहाल, यह निम्न त्रुटि उत्पन्न करता है: अगर मैं स्पष्ट रूप से BaseUser.php और उपयोगकर्ता की आवश्यकता होती है,
Fatal error: Class 'User' not found in E:\xampp\htdocs\apnew\services\doctrine_test.php on line 4
हालांकि
इस प्रकार मैं भी एक साधारण परीक्षण फ़ाइल बना ली है .php फ़ाइलों, तो यह किसी भी त्रुटि
<?php
require_once('doctrine_bootstrap.php');
require_once('models/generated/BaseUser.php');
require_once('models/User.php');
$user = new User();
$user->email = '[email protected]';
echo $user->email;
तो बिना ठीक काम करता है, ऐसा लगता है कि Doctine औ नहीं है मॉडल को सही ढंग से लोड करने के लिए। मैं क्या खो रहा हूँ?
वह आंशिक रूप से काम करता है, लेकिन मुझे अभी भी मेरी doctrine_test.php फ़ाइल के शीर्ष पर_ऑन ('मॉडल/User.php') की आवश्यकता है – JonoB