Привет! Это тестовое задание для ЦВТ - приложение для учета расходов. Оформлено в виде бандла Symfony., (*1)
Готовая рабочая версия есть здесь:
symfo.fruityloop.tk, (*2)
Требования:
php 7.1
symfony installer
composer, (*3)
Установка, (*4)
- Создаем новый проект Symfony
$ symfony new project 3.4
- Переходим в него и устанавливаем мой пакет через composer. Зависимости подтягиваются самостоятельно.
$ cd project
$ composer require egorzz/testbundle dev-master
Пакет установлен в /vendor/egorzz/testbundle. Баг разработки: пространство имен определено как Egor/TestBundle, но пакет устанавливается в egorzz/testbundle, поскольку уже существует много разработчиков по имени Egor. Потом переименую., (*5)
- Регистрируем мой бандл и зависимости в AppKernel.php
#project/app/AppKernel.php
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = [
...
new Knp\Bundle\PaginatorBundle\KnpPaginatorBundle(),
new EasyCorp\Bundle\EasyAdminBundle\EasyAdminBundle(),
new Egor\TestBundle\EgorTestBundle(),
...
];
- Проверяем секцию "autoload" в composer.json, должна содержать правильный путь, важно не упустить момент с "egorzz":
#project/composer.json
"autoload": {
"psr-4": {
"AppBundle\\": "src/AppBundle",
"Egor\\TestBundle\\": "vendor/egorzz/testbundle"
},
- Обновляем
$ composer dumpautoload
-
Заменяем файлы конфигурации config.yml, parameters.yml, parameters.yml.dist, routing.yml в папке project/app/config на те, что приложены в архиве. Там определены пути к БД, маршруты и некоторые функции для Доктрине, без которых ничего не работает :(, (*6)
-
Проверяем наличие и доступность файлов limit.conf, test, money.db в корне моего бандла project/vendor/egorzz/testbundle/
Если их нет, добавляем приложенные., (*7)
-
чтобы не настраивать Виртуалхосты запускаем встроенный сервер Symfony, (*8)
$ bin/console server:start
Переходим по адресу из ответа этой команды (http://localhost:8***/) и поражаемся великолепию приложения., (*9)