2012-12-06 26 views
10

मैंने इस आलेख का पालन किया है: http://philsturgeon.co.uk/blog/2012/05/composer-with-codeigniterकोडनिर्देशक में संगीतकार पैकेज का उपयोग कैसे करें?

लेकिन मुझे Fatal error: Class 'Buzz\Browser' not found मिल गया है।

अपनी पोस्ट से क्या गुम है?

मेरा नियंत्रक या एप्लिकेशन नाम नहीं है। मैं उम्मीद कर रहा था कि एक पैकेजर को एक गैर-नामित ढांचे में एक नियंत्रक की कार्रवाई में उपयोग करने में सक्षम हो।

+0

आप autoloader नहीं उपयोग कर रहे हैं या नहीं? –

+0

हां, index.php में। – Tjorriemorrie

उत्तर

32

क्रेडिट @jmadsen को

यह सिर्फ सही लोड हो रहा है के आदेश हो रही द्वारा संभव है:

/* 
* -------------------------------------------------------------------- 
* LOAD THE BOOTSTRAP FILE 
* -------------------------------------------------------------------- 
* 
* And away we go... 
* 
*/ 
// Composer Autoloader 
require FCPATH . 'vendor/autoload.php'; 

require_once BASEPATH.'core/CodeIgniter.php'; 

/* End of file index.php */ 
+0

'FCPATH' – iGbanam

+2

फ्रंटकंट्रोलर पथ क्या है। मूल रूप से index.php फ़ाइल; जो रूट निर्देशिका में स्थित है अगर मुझे गलत नहीं है। – Tjorriemorrie

3

आप सीधे अपने नियंत्रक में संगीतकार Autoloder जोड़ सकते हैं:

// Composer Autoloader 
require FCPATH.'vendor/autoload.php'; 
+0

मैंने इसे index.php में शामिल किया था; समस्या यह है कि वर्ग एफक्यूएन का उपयोग नहीं पाया जाता है। क्या आप जानते हैं कि वह काम कैसे करना है? – Tjorriemorrie

+0

यह मेरे लिए index.php में काम नहीं करता था। यही कारण है कि मैं इसे सीधे नियंत्रक में डाल दिया। आप CI_Controller को विस्तारित करने और कन्स्ट्रक्टर में संगीतकार ऑटोलोडर जोड़ने का प्रयास कर सकते हैं? – Kinobi

5

संपादित करें: अरे, मैंने बस इतना ही कहा है कि @Tjorriemorrie

आप अन्य सभी दिशाओं सही ढंग से पालन किया है, तुम सब करने की जरूरत है बहुत अंत अपने index.php फ़ाइल के पास निम्न कोड जोड़ने है:

/* 
* -------------------------------------------------------------------- 
* COMPOSER AUTOLOAD 
* -------------------------------------------------------------------- 
*/ 
include_once './vendor/autoload.php'; 

... बस यह सुनिश्चित कर लें आप से पहले में यह स्लॉट CodeIgniter बूटस्ट्रैप फ़ाइल कहा जाता है:

/* 
* -------------------------------------------------------------------- 
* LOAD THE BOOTSTRAP FILE 
* -------------------------------------------------------------------- 
* 
* And away we go... 
* 
*/ 
require_once BASEPATH.'core/CodeIgniter.php'; 
11

CodeIgniter 3.x और संगीतकार के लिए, यह suggested सिर्फको $config['composer_autoload'] स्थापित करने के लिए हैया में एक कस्टम पथ।

ऐसा लगता है कि सीआई मानता है vendor निर्देशिका application निर्देशिका में है। वह मेरा मामला नहीं था। मैं निम्नलिखित किया:

$config['composer_autoload'] = 'vendor/autoload.php';

2
खैर Codeigniter3.x में

आप आसानी से ऐसा कर सकते हैं आवेदन/config/config.php और इस लाइन के लिए देखो में जाकर

$config['composer_autoload'] = FALSE; 

सुनिश्चित करें कि आप यह सही पर सेट है और यह बाद सही आप require_once इस:

012:

require_once APPPATH.'vendor/autoload.php'; 

तो तुम कुछ इस तरह मिल

/* 
|-------------------------------------------------------------------------- 
| Composer auto-loading 
|-------------------------------------------------------------------------- 
| 
| Enabling this setting will tell CodeIgniter to look for a Composer 
| package auto-loader script in application/vendor/autoload.php. 
| 
| $config['composer_autoload'] = TRUE; 
| 
| Or if you have your vendor/ directory located somewhere else, you 
| can opt to set a specific path as well: 
| 
| $config['composer_autoload'] = '/path/to/vendor/autoload.php'; 
| 
| Note: This will NOT disable or override the CodeIgniter-specific 
| autoloading (application/config/autoload.php) 
*/ 
$config['composer_autoload'] = TRUE; 
require_once APPPATH.'vendor/autoload.php'; 

बस सुनिश्चित करें कि आपके पास एप्लिकेशन फ़ोल्डर में आपका विक्रेता फ़ोल्डर है और आप जाने के लिए अच्छे हैं।

मुझे हाल ही में पता चला है कि आप केवल $ config ['composer_autoload'] = TRUE सेट कर सकते हैं; और अपने विक्रेता फ़ोल्डर को एप्लिकेशन फ़ोल्डर में रखें और यही वह है।

0

मैं Kenjis codeigniter composer package का उपयोग कर रहा हूं, और यह विक्रेता निर्देशिका को रूट से बाहर रखता है।चूंकि कोई पूर्वनिर्धारित निरंतर (है कि मैं के बारे में पता है) जड़ के लिए, मैं प्रयोग किया जाता है निम्नलिखित:

$root = getcwd(); 
$config['composer_autoload'] = "$root/vendor/autoload.php";