Я пытаюсь создать REST API, используя Slim PHP 2.0, Composer и пару сторонних пакетов. Я использовал Composer для установки Slim, создав файл composer.json в корне моего приложения со следующим:
{
"require": {
"slim/slim": "2.*"
}
}
После того, как я запустил установку композитора, у меня есть следующая структура:
root/
vendor/
composer/
slim/
autoload.php
composer.json
composer.lock
index.php
Я хочу включить Valitron (https://packagist.org/packages/vlucas/valitron) библиотека для проверки вместе с этим Bcrypt (https://packagist.org/packages/openlss/func-bcrypt) для хеширования паролей пользователей. Итак, я сделал следующие дополнения к моему файлу composer.json, чтобы он выглядел так:
{
"require": {
"slim/slim": "2.*",
"vlucas/valitron": "dev-master",
"openlss/func-bcrypt": "dev-master"
}
}
После того, как я запустил обновление композитора, я получил следующую структуру каталогов.
root/
vendor/
composer/
openlss/
slim/
vlucas/
autoload.php
composer.json
composer.lock
index.php
Отсюда я не уверен, как настроить автозагрузку для моего приложения. Иногда я вижу карту классов автозагрузки, а иногда вижу psr-0. В дополнение к этим сторонним пакетам я собираюсь создавать свои собственные модели для использования. Одна будет базовой моделью, которая обрабатывает подключение к базе данных, а затем каждая таблица будет иметь модель, которую я использую для управления указанной таблицей. Поэтому для взаимодействия с таблицей пользователей я буду использовать мой файл UserModel.php ниже. Мой другой вопрос: как мне «использовать» файлы Valitron и BCrypt в этом? Я бы просто сделал это:
<?php namespace Libraries;
use \Valitron;
use \BCrypt;
class UserModel extends BaseModel {
// I want to use the Valitron class here along with the crypt file
}
Как мне настроить автозагрузчик для этого? Любая помощь приветствуется. Мне уже очень не нравится Composer, но поскольку все говорят, что он необходим для PHP-разработчиков, я пытаюсь заставить себя изучить его.