Code Monkey home page Code Monkey logo

testukrtech's Introduction

Тестовое задание для Ukrtech.Info

Инструкция по использованию

если установлен git запустить команду git clone https://github.com/DatsivStepan/testukrtech.git

При использовании BinarTask1 или BinarTask2, прописать подключение в MySQL в соответствующих файлах, база даних, и таблица создаются автоматически

$this->db = new db();

если настройки, отличаються от

....($dbhost = 'localhost', $dbuser = 'root', $dbpass = ''.....

перед запуском, файла index.php, розкоментировать и внести необходимие параметри(по необходимости)

Условие 1.

//Реализовать класс для построения бинара. Он должен принимать parent_id и position $model = new BinarTask1; $model->parentId = 1; //parent_id - узел должен существовать $model->position = BinarTask1::POSITION_RIGTH; echo $model->save(); //Вывод состояния

Условие 2.

$model = new BinarTask2; //Класс будет автоматически заполнять бинар до 5 уровня echo $model->autoCreate(); //принимает два параметра 1 - id елемента с котрого надо начать заполнять(по умолчанию 1), 2- количество уровней(по умолчанию 2) //возвращений результата true|false
//Также класс должен дать возможность получить по id ячейки все нижестоящие 
var_dump($model->getNextElements(4)); //возвращает масив елементов нижестоящих

//и вышестоящие ячейки.
var_dump($model->getPreElements(1)); //возвращает масив елементов вишестоящих

Тестовое задание

Реализация классов для работы с бинаром. Предварительно создать таблицу для хранения ячеек бинара. Изначально в корне бинара нужно поставить ячейку, от которой будет построение дальнейшего дерева.

id int(11) идентификатор ячейки
parent_id int(11) идентификатор родителя
position int(11) позиция ячейки относительно родителя (1 ли 2), то есть слева или справа от родителя
path varchar(12288) путь ячейки вида 1.3.8, где 8 это id текущей ячейки, а 3 и 1 - это родители ячейки снизу вверх. https://gist.github.com/codedokode/10539720#4-materialized-path
level int(11) уровень бинара, начиная от 1

Условие 1. Реализовать класс для построения бинара. Он должен принимать parent_id и position для создания ячейки, остальные данные должен формировать автоматически.

Условие 2. Реализовать отдельно класс для управления бинаром. Класс будет автоматически заполнять бинар до 5 уровня, включительно, слева направо, сверху вниз. Также класс должен дать возможность получить по id ячейки все нижестоящие и вышестоящие ячейки.

testukrtech's People

Contributors

datsivstepan avatar

Watchers

James Cloos avatar  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.