- Склонируйте репозиторий:
git clone https://github.com/phpclubtech/phpClub.git
- Перейдите в папку с проектом и установите зависимости:
cd phpClub && composer install
- Скопируйте конфигурационный файл и отредактируйте доступы к БД:
cp .env.example .env
- Запустите миграции:
vendor/bin/doctrine-migrations migrations:migrate --no-interaction
- Импортируйте живые треды с 2ch.hk API:
./bin/console import-threads --source=2ch-api
. Обычно это 1-2 живущих в данный момент треда, остальные к тому времени уже удалены. Для разработки этого достаточно.
Для быстрого запуска можно использовать встроенный в PHP веб-сервер:
php -S 127.0.0.1:9001 -t public dev-server.php
- Создайте тестовую базу данных, отредактируйте переменную TEST_DB_NAME в
.env
-файле - Запустите миграции для тестовой БД:
APP_ENV=test vendor/bin/doctrine-migrations migrations:migrate --no-interaction
- Запустите тесты:
./vendor/bin/phpunit
Для работы поиска нужен Sphinx.
- Скопируйте конфигурацию Sphinx по умолчанию и отредактируйте доступы к БД:
sudo cp config/sphinx.conf.example /etc/sphinxsearch/sphinx.conf
- Запустите индексацию:
sudo indexer --all --rotate
- Включите автозапуск демона:
sudo sed -i 's/START=no/START=yes/g' /etc/default/sphinxsearch
- Перезапустите сервис:
sudo systemctl restart sphinxsearch.service
- Импортировать треды 1-14, 22-24, 26-78 из локальной папки
./bin/console import-threads --dir=/absolute/path/to/2ch/threads
- Импортировать треды 25, 79-95 из архивача:
./bin/console import-threads --source=arhivach
Для вызова команд Доктрины можно запускать утилиты doctrine
и doctrine-migrations
. Чтобы увидеть список доступных команд, запустите их с опцией list
:
vendor/bin/doctrine-migrations list
vendor/bin/doctrine list
Чтобы увидеть справку по команде, запустите её c опцией --help
(например: ./vendor/bin/doctrine orm:validate-schema --help
).
Как правило, миграции (изменения в схеме БД) генерируются на основе изменений в файлах сущностей (в папке src/Entity). Чтобы изменить что-то в БД, отредактируйте аннотации в сущностях, затем запустите утилиту Доктрины для генерации миграций:
vendor/bin/doctrine-migrations migrations:diff --formatted
Она сгенерирует новый файл миграции. Чтобы выполнить её, снова запустите утилиту Доктрины:
vendor/bin/doctrine-migrations migrations:migrate