Split the library into two?
Closed this issue · 1 comments
This repo contains both classes for the GedcomX object model as well as code for making HTTP requests to the FamilySearch API. There are common use cases where you would want the former without the latter, such as using GedcomX data that wasn't retrieved from the API or wanting to write the networking code yourself.
I propose we split out the Rs/Client
code into gedcomx-php-client
and keep the object model here (since the name of this repo lends itself quite nicely). gedcomx-php-client
will use gedcomx-php
as a dependency and maintain exactly the same interface and functionality. gedcomx-php
will have it's major version increased so we don't break anyone using the current 2.x version.
I've actually already done most of the work. The gedcomx-php#split
contains the working object model with the Client code and it's dependencies ripped out. I have a working version of gedcomx-php-client
in york-solutions/gedcomx-php-client#split
. This was all done to prove that it would work, especially rewriting the embed()
methods as static functions on a utility class so that the logic was in gedcomx-php-client
instead of gedcomx-php
on the classes.
Is anyone opposed to this?