Jak używać pakietów composer w codeigniter?
Śledziłem ten artykuł: http://philsturgeon.co.uk/blog/2012/05/composer-with-codeigniter
Ale rozumiem Fatal error: Class 'Buzz\Browser' not found
.
Czego brakuje na jego stanowisku?
Mój kontroler lub aplikacja nie jest przestrzenią nazw. Miałem nadzieję, że po prostu będę mógł użyć tego jednego pakietu w akcji jednego kontrolera w frameworku bez przestrzeni nazw.
7 answers
Kredyt dla @ jmadsen
Jest to możliwe poprzez poprawienie kolejności ładowania:
/*
* --------------------------------------------------------------------
* 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 */
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-06 10:18:37
Dla CodeIgniter 3.x i composer, to zasugerował aby po prostu ustawić $config['composer_autoload']
Na TRUE
lub ścieżkę niestandardową w application/config/config.php
.
Wydaje się, że CI zakłada, że katalog vendor
znajduje się w katalogu application
. To nie była moja sprawa. Zrobiłem co następuje:
$config['composer_autoload'] = 'vendor/autoload.php';
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-15 16:23:42
EDIT: cholera, właśnie powiedziałem dokładnie to samo co @Tjorriemorrie
Jeśli poprawnie wykonałeś wszystkie inne kierunki, wystarczy dodać następujący kod na samym końcu twojego indeksu.plik php:
/*
* --------------------------------------------------------------------
* COMPOSER AUTOLOAD
* --------------------------------------------------------------------
*/
include_once './vendor/autoload.php';
...upewnij się, że umieścisz go w przed plik Bootstrap CodeIgniter nazywa się:
/*
* --------------------------------------------------------------------
* LOAD THE BOOTSTRAP FILE
* --------------------------------------------------------------------
*
* And away we go...
*
*/
require_once BASEPATH.'core/CodeIgniter.php';
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-20 06:55:27
Możesz dodać bezpośrednio Autoloder Composera w kontrolerze:
// Composer Autoloader
require FCPATH.'vendor/autoload.php';
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-12 17:05:17
Dobrze w Codeigniter3.x możesz to łatwo zrobić, wchodząc do aplikacji / config / config.php i poszukaj tej linii
$config['composer_autoload'] = FALSE;
Upewnij się, że ustawiłeś ją na TRUE, a zaraz po niej wymagasz tego:
require_once APPPATH.'vendor/autoload.php';
Więc dostajesz coś takiego:
/*
|--------------------------------------------------------------------------
| 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';
Upewnij się, że masz folder dostawcy w folderze aplikacji i jesteś gotowy do pracy.
Niedawno dowiedziałem się, że można po prostu ustawić $config ['composer_autoload'] = TRUE; i umieścić swój folder vendor w folder aplikacji i tyle.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-13 06:55:55
Używam Kenjis codeigniter composer package , i odkłada Katalog Dostawcy z katalogu głównego. Ponieważ nie ma predefiniowanej stałej (o której wiem) Dla roota, użyłem następującego:
$root = getcwd();
$config['composer_autoload'] = "$root/vendor/autoload.php";
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-19 07:28:40
Są dwa sposoby automatycznego ładowania pliku klasy, który jest wymagany za pomocą composera.
-
Dodaj poniższy wiersz w indeksie.php w katalogu głównym.
require FCPATH . 'vendor/autoload.php';
-
Lub automatyczne ładowanie bezpośrednio w kontrolerze, z którego chcesz korzystać.
defined('BASEPATH') OR exit('No direct script access allowed'); require FCPATH . 'vendor/autoload.php'; class Home extends CI_Controller {...}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-06 09:08:54