Find Jobs
Hire Freelancers

PHP Classes for Tree Comparison

€8-30 EUR

Closed
Posted about 4 years ago

€8-30 EUR

Paid on delivery
DOWNLOAD THE ATTACHED FILE FOR FORMATTED TEXT!!! INDENTATION IS IMPORTANT! To be developed for this task is the following: The class "ComparableCategory" contains fields for: - an "identifier" (that may or may not be unique) - "directChildren" which are the children of that category this allows the modelling of arbitrary category trees, for example: - Root - Subcategory #1 - Subcategory #4 - Subcategory #5 - Subcategory #2 - Subcategory #3 - Subcategory #6 - Subcategory #7 the trees support unlimited depth and siblings. The scope of this task is to create classes to compare these category trees while returning operations. Operations are defined as follows: - "MOVE" Move a subcategory from one PATH to ANOTHER PATH. - "DELETE" Delete a subcategory at a given PATH. - "ADD" Add a subcategory (/and children) at a given PATH. The task now is to develop two classes. - "MoveSupportingComparison" Abstract: This class allows for comparison of trees based on the identifier being unique between trees. Implementation: "UniqueIdentifierComparison", passed two root categories, the comparison class returns an array of options that transform $oldTree into $newTree. All options are allowed. Instances may be identified by the identifier, which is to be considered unique for this part of the task. - "DeleteAndReAddComparison" Abstract: This class allows for comparison of trees where the identifiers are not unique. Tree elements are identified by checking their children and parent. Parts of the trees to be compared are thus only considered equal when they have the same parent and exactly the same direct children in both trees. Implementation: "NonUniqueIdentifierComparison", this comparison does not support the MOVE operation. A MOVE operation is substituted with DELETEing the offending Key first and then ADDing the same element anew. Deliverable is a set of PHP classes. Proposed structure that may be optimized: - src/ - [login to view URL] - Comparisons/ - Abstract/ - [login to view URL] - [login to view URL] - [login to view URL] - [login to view URL] - tests/ - [login to view URL] - [login to view URL] It is needed to add a test for each implementation. If you need an example, let me know.
Project ID: 24141803

About the project

3 proposals
Remote project
Active 4 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
3 freelancers are bidding on average €65 EUR for this job
User Avatar
Hi there! I'm an expert PHP developer , having more than 7+ years of professional experience . I read your project description carefully , I will build PHP Classes for Tree Comparison as per your given project details and attachement Let's connect in private chat for further discussion Thank You
€100 EUR in 3 days
4.8 (26 reviews)
5.3
5.3
User Avatar
interested having 7 years of experience in domain ready to make your app best as per std ping me for more details
€19 EUR in 7 days
5.0 (37 reviews)
4.7
4.7
User Avatar
Greetings boss, We will be more than happy to help you because we are professionals with more than 5YEARS experience. ✓What matters most to us are; your trust, perfect functionality of your project, time uniformity and quick delivery. ✓We work in assemblage of professional computer science graduates under Shaunlee Global Circle Limited, we have several skills and expertise. ✓We can definitely give the best of your project. Kindly HIRE US and you will never regret hiring us.
€77 EUR in 1 day
5.0 (9 reviews)
4.3
4.3

About the client

Flag of GERMANY
Giessen, Germany
5.0
2
Payment method verified
Member since Dec 7, 2019

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759) & Freelancer Online India Private Limited (CIN U93000HR2011FTC043854)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.