Git Product home page Git Product logo

garden's Introduction

Что это?

Проект для реализации тестовых задач. Сейчас в проекте:

Бинарное дерево

Что сделано:

  • Добавление узлов
  • Балансировка дерева при добавлении
  • Отображение дерева в виде массива с тремя элементами (корень-левое поддерево-правое поддерево)
  • Отображение дерева в виде массива по уровням (в первом элементе — корень, во втором — дочки, в третьем — внучки и т.д.)
  • Поиск узла по ключу
  • Удаление узла по ключу
  • Классы репозитория "App\Services\Binary" можно наследовать и использовать с разными данными. UserBinaryTree пример приспособления сущности для того, чтобы быть реализованным в виде дерева.

Что можно сделать:

  • Балансировка при удалении
  • Усовершенствовать вывод в виде массива по уровням. Сейчас в некоторых состояниях дерева не понятны связи.

Как начать?

Разверните проект, установите пакеты композером. Перед началом создайте БД и таблицы, загрузите фикстуры:

php bin/console doctrine:database:create 
php bin/console doctrine:schema:create 
php bin/console doctrine:migrations:migrate 
php bin/console doctrine:fixtures:load

Заметки

Докер состоит из:

  • PHP - 8 (+ composer)
  • NGINX - 1.16.0-alpine
  • Postgres
  • Adminer

Команда запуска

docker-compose up -d

Прочие команды

Просмотр логов:

docker logs Имя_контейнера

Зайти из-под контейнера:

docker-compose exec engine bash

Make-файл

Make-файл - это краткий вызов одной или нескольких команд, прописанных в Makefile.

Создание проекта

##Установка и запуск из-под докера Установка симфони из-под докера:

docker-compose exec engine bash
composer create-project symfony/skeleton my_project_directory

Проверить права доступов к файлам, если нет, то выдать(из-под докера можно):

ls -l
chown -R www-data my_project_directory/

Переместить файлы в основную директорию:

sudo mv -i my_project_directory/* .

Объединение переменных окружения и игнорируемых гитом файлов:

cat my_project_directory/.env >> .env.example
cat my_project_directory/.env >> .env
cat my_project_directory/.gitignore >> .gitignore

Удаляем, директория my_project_directory больше не нужна

rm -R my_project_directory/

Изменим путь корневой у nginx в файле - docker/nginx/default.conf на:

root /var/www/html/public;

Перезапустить контейнер:

docker-compose restart nginx

Симфони готов к работе.

##Установка бандлов

composer require symfony/flex
composer require symfony/maker-bundle --dev
composer require symfony/security-bundle
composer require doctrine/doctrine-bundle
composer require doctrine/doctrine-migrations-bundle

Самый простой способ создать пользовательский класс — использовать команду make:user из MakerBundle:

php bin/console doctrine:database:create
php bin/console make:user
php bin/console make:migration
php bin/console doctrine:migrations:migrate
composer require zenstruck/foundry --dev
composer require --dev orm-fixtures

garden's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.