I want to start a Symfony 4 Project, but I want to use a progress database. I really don't know how to configure Doctrine to read and write from the DB. Is anybody here with expierence with this situation or has any idea about how to solve it?
Thanks in advance.
I believe Syphony is PHP based framework. I don't believe there is a PDO driver available for OpenEdge would which allow direct ODBC connection. Progress supplies both ODBC and JDBC drivers. You would need either ODBC or JDBC bridge to use them. Either that or you can provide access to the database through the Progress Application Server by writing web services that handle REST calls.
There are PHP based ODBC and JDBC bridges available. I won't link to one here, but a google search should provide some suggestions.
Thanks Matt for the answer.
Yes, Symfony is PHP based. I will try the REST option to access the database through the service calls.
several years ago (7) we built our own PDO classes that uses a PHP-Java bridge in order to use the JDBC driver provided by Progress.
It's still working very well in several production sites, with different bridges and different PHP versions.
I'm not sure if that development is "publishable" (I'm finding out right now), but is not so complicated (the PDO part at least).
The "problem" with this approach is that access to Progress database is through SQL broker, which is different to ABL broker, so "no ABL triggers available".
If the database uses triggers, you need to implement those triggers with Java too, and that is poorly documented (specially the Java classes available to the trigger).
I let you know if that development gets published.
Thanks David for your help,
I've found 2 hours ago this library: github.com/.../DoctrineRestDriver.
I've been able to configure it and connect to my REST service, but now I have problems mapping the json produced by the get request to the orm entity I've created. I think if I adapt the result from my service to the orm entity structure, it will work fine. I will keep you updated if I get it working.