[RFC] Lifetime of API Tools

I was quite happy with the fact that there is a ready to use project for simple REST/RPC interfaces besides Mezzio and MVC.

However, a closer look revealed several problems. In combination with Doctrine, the API tools are simply unusable for inexperienced users who only want to use the tool via the admin UI. There are still references that point to the third-party library Phpro\DoctrineHydrationModule. Dependencies to old PHP versions, not considered new PHP versions, etc. pp. After digging deeper I found that comment from 2020, where the Laminas API Tools are treated as kinda deprecated.

… so there is no need to invest time in maintaining it

For this reason I simply have to ask if it is still worth using the Laminas API tools at all? Is there an end in sight? Does it make sense for me as a developer to invest time and skills in further development to make changes and improvements available as a GitHub feature?

Should I still be using Laminas API Tools in 2022? What alternatives that are better maintained are there?

There are still references that point to the third-party library

Can you please create relevant issues on the various involved repositories? We should just rip it out, if unmaintained.

One of the biggest issues exists quite a long time: phpro/zf-doctrine-hydration-module EOL · Issue #15 · laminas-api-tools/api-tools-doctrine · GitHub

The mentioned third-party module is not big and it would be easy to elemenate the dependency in laminas-api-tools/api-tools-doctrine by putting the needed classes directly into the laminas-api-tools/api-tools-doctrine repository. Every developer involved seems to be throwing in the towel and moving to another platform. This is unfortunate because the API tools are great and simple without unnecessary overhead from my point of view.

Another issue is also already there for quite a long time: Cannot install on PHP 8.0.12 · Issue #44 · laminas-api-tools/api-tools-skeleton · GitHub. Well, the --ignore-platform-reqs safed my life, but the main issue is still reproducable with PHP 8.1.

All already mentioned API Tools related issues on GitHub are not that big that they cannot be solved. I would like to contribute to the solution of these problems. But if even in this forum is already discussed about the end of API tools, I also do not know if this effort is still worth it.

I’d say:

  1. report it in upstream
  2. PHP 8.1 was released a month ago - I’m still upgrading half my libraries too. Contribute or stick to what works :stuck_out_tongue:
1 Like

In the same thread you mentioned yourself, there are a few opinions suggesting that API Tools is nice to quickly bootstrap a project, but might not be as nice to maintain a project in the long term. You might want to consider that aspect, before investing more time in it. It might still fit your use-case, but it might also not be the magical tool that solve everything perfectly.

I’ve had great success in moving away from API Tools to Mezzio (and GraphQL via graphql-php), but it does involve more work upfront.

I suppose, once again, everything is about the tradeoffs your are willing to make :woman_shrugging:

1 Like

@ezkimo
It seems that you are an expert in the API tools, so you could apply to be a maintainer. :smiley:

I will. :wink: All that I need is a little time and some knowledge refreshing of my github skills. Actually I 'm trapped in a big customer project based on the api tools. All the learnings I 've gathered in this project will feed back to the api tools. As I said before, API tools are really great when it comes to creating and handling REST/RPC APIs. This tool does not deserve to be treated so stepmotherly. :wink:

1 Like

You’re a Hero!
I’m working with building an API with Mezzio, and it is really highlighting just how much API Tools gives us.