apmuthu wrote:To port it to FA 2.3, what gotchas need to be looked out for? Any FA v2.4 specific dependencies are in place?
The main view is taken from a copy of the sales order module in core. So that file has been updated to v2.4, and I've modified it further from there. So, to make it work for v2.3 it is necessary to backport the changes to the v2.3 version of the sales order entry file.
I can't imagine the v2.4 sales order entry working with v2.3 out of the box. As you point out in your second post, it didn't work for you.
apmuthu wrote:Can the "vendor" folder in the release be removed and all references to include_once(__DIR__ . '/vendor/autoload.php'); be expanded out or moved to an include-able file since practically everyone uses PHP >= 5. Alternatively include the vendor folder in the git tree.
This is a PSR-4 autoloader (as specified by the PHP Framework Interop Group), via composer.
This is the current best practice method for producing an autoloader, which then does not need any require statements at all (other than of course including the autoloader).
Developers can recreate the vendor folder entirely by doing 'composer install'. All other users should use the tarball releases supplied, which include all the required files.
apmuthu wrote:Also please include the file views/view_sales_order.php in the github code tree as it is still referred to in generate_recurring_invoices.php and is available in the release.
Done. Thanks for that.
The PHP Design Patterns site is good. I don't recommend the first link on DataMapper ORM. IMHO that author has conflated the concepts of Object Model and Data Mapper. A Data Mapper should be able to persist any model. An object model should not care how it is persisted. My DataMapper class would be better named FrontAccountingMySQLDataMapper to be more descriptive.