Устанавливаем и настраиваем Sparks
Сегодня мы разберёмся, что же такое Code Igniter Sparks.
Sparks — это:
1. Централизованное место для создания, поиска и распространения кода для Code Igniter.
2. Маленькая библиотека для работы в консоли, позволяющая быстро добавлять сторонние библиотеки в ваш проект.
3. Замена стандартного механизма загрузки библиотек (для Sparks).
4. http://getsparks.org/ — Сайт-репозиторий кода.
5. В переводе с английского означает искры, то есть каждая библиотека — это искра для нашего «пламени». Стилистика именования соблюдена.
У сообщества разработчиков на Code Igniter до недавнего времени не было централизованного места распространения своих библиотек. При поиске нужной библиотеки необходимо было задействовать форумы, wiki, блоги, google, в конце концов. К тому же, могло оказаться, что найденное решение попросту не работает с вашим кодом или вашей версией Code Igniter. Код мог быть глючным, заброшенным автором, или просто отвратительно написанным.
Но с вышеперечисленными проблемами покончено. Да здравствует Sparks!
1. Автоматическая установка
Если вы счастливый обладатель ОС семейства Linux, Unix, OSX (обладатели windows тоже могут воспользоваться этим методом, указав полный путь до php.exe), то в консоли выполняем следующее:
Переходим в корень вашего приложения на Code Igniter.
Выполняем команду:
php -r "$(curl -fsSL http://getsparks.org/go-sparks)" |
lgndru@srv ~/ $ php -r "$(curl -fsSL http://getsparks.org/go-sparks)" Pulling down spark manager from http://getsparks.org/static/install/spark-manager-0.0.5.zip ... Pulling down Loader class core extension from http://getsparks.org/static/install/MY_Loader.php.txt ... Extracting zip package ... Cleaning up ... Spark Manager has been installed successfully! Try: `php tools/spark help` |
Если у вас каталог application
переименован, то вы получите такую ошибку:
Can't find application/core. Currently this script only works with the default instance of Reactor. You may need to try a manual installation.. |
Чтобы всё-таки установить Sparks можно прибегнуть к следующему трюку:
Создаём каталог application/core
, выполняем установку по инструкции, копируем содержимое application/core
в каталог_вашего_приложения/core
2. Ручная установка
- Скачиваем архив библиотеки Sparks: spark-manager.zip (http://getsparks.org/download)
- Распаковываем содержимое архива в каталог ‘tools’ в корне вашего приложения на CodeIgniter.
- Проверьте, что в корне приложения у вас находится каталог ‘tools’ и внутри него есть файл с названием ‘spark’
- Скачиваем класс-загрузчик:
http://getsparks.org/static/install/MY_Loader.php.txt
- Перемещаем его по адресу
application/core/MY_Loader.php
(не забывая переименовать) - Если всё получилось — просто используем Sparks.
3. Ручная настройка класса-загрузчика Sparks без установки консольного менеджера библиотек
- Переходим в корень вашего приложения на Code Igniter.
- Создаем каталог ‘sparks’
- Создаем файл по адресу:
application/core/MY_Loader.php
- И копируем содержимое
http://getsparks.org/static/install/MY_Loader.php.txt
в созданный файл. - Проверяем, установлен ли в настройках префикс класса как «MY_»
- Если всё получилось — просто используем Sparks.
#application/config/config.php $config['subclass_prefix'] = 'MY_'; |
4. Добавление и использование библиотек Sparks
Для примера будем устанавливать самую популярную библиотеку для авторизации и аутентификации: ion_auth. Для этого консольному менеджеру библиотек передадим команду install
и название библиотеки — ion_auth
(на хостинге нет GIT, поэтому выдало предупреждение):
lgndru@srv ~/lgndru $ php tools/spark install ion_auth [ SPARK ] Retrieving spark detail from getsparks.org [ WARNING ] Git not found - reverting to archived copy [ SPARK ] From Downtown! Retrieving spark from ZIP archive at http://getsparks.org/static/archives/ion_auth/ion_auth-2.0.9.zip [ SPARK ] Spark installed to ./sparks/ion_auth/2.0.9 - You're on fire! |
И теперь, чтобы загрузить библиотеку, необходимо либо загрузить её в контроллере:
$this->load->spark('ion_auth/2.0.9'); |
либо прописать в автозагрузке:
#config/autoload.php: $autoload['sparks'] = array('ion_auth/2.0.9'); |
5. Ручная установка библиотек Sparks
ion_auth
)
/application /system /sparks ..../ion_auth ......../2.0.9 ............/config ............/libraries |
А дальше всё так же, как и в пункте 5. Загружаем вручную или прописываем в автозагрузку.
6. Почему не стоит совмещать каталоги библиотеки Sparks с каталогами вашего приложения
Структура каждой отдельной библиотеки Sparks может содержать свои собственные каталоги с конфигами, библиотеками, моделями, вьюхами и так далее. Не стоит превращать в кашу. Разработчики создали удобный механизм настройки, распространения и использования библиотек-модулей. Так лучше раз научиться пользоваться консолью (хотя это и не обязательно, можно по старинке скачивать библиотеки) и подключать Sparks к вашему приложению.
7. Что еще умеет консольная утилита
— устанавливать spark
— переустанавливать
— удалять
— отображать различную информацию (список установленных spark, url’ы их репозиториев, версии)
— искать spark
К примеру, вам необходима библиотека для авторизации. Набираем в консоли:
lgndru@srv ~/lgndru $ php tools/spark search auth |
И получаем список всех доступных библиотек:
ion_auth - Simple and Lightweight Auth System auth_controller - AuthenticatedController library realex-payments - Spark to use the Realex Payments RealAuth service authority - Authorization Library for CodeIgniter Auth - Authentication library with control panel. youtube - Youtube API Library Captcha - Advanced but simple to use Captcha package. codeigniter-oauth - Spark for integrating with multiple Oauth providers - uniform input and response oauth2 - A multi-provider oAuth 2 client package. cloudmanic-api - An API controller with default CRUD operations built-in. netflix - Netflix API Library |
В общем, настоятельно рекомендую.