j4mie / paris

A lightweight Active Record implementation for PHP5, built on top of Idiorm.
http://j4mie.github.com/idiormandparis/
996 stars 131 forks source link

Version of PHP? #4

Closed philoye closed 13 years ago

philoye commented 13 years ago

Absolutely loving Paris/Idiorm so far, I've been hunting for an Ruby Active Record-like thing for PHP for a while, and this is like an oasis in the desert.

But I had a question, what version of PHP do they require? I'm on 5.3 on my dev box, but would need to deploy to 5.2.

I'll go ahead and test it, but it is probably worth putting the requirements in the README.

Cheers, p.

j4mie commented 13 years ago

Hi, glad you like it!

There's nothing 5.3 specific anywhere in Idiorm or Paris. I'm running the tests on 5.2.13 just fine. The problem is, I have no idea what the minimum version they support is, because I don't have any way of testing on older versions. Maybe I'll just put "tested on 5.2.13" or something similar. Any thoughts?

philoye commented 13 years ago

Sweet, that's great to know.

Unfortunately there's no RVM (Ruby Version Manager) for PHP. I don't have the time (or the inclination) to manually get 5.1.6 running on my box (which is the oldest that I would care about). A project for another day.

For now, a note about 5.2.13 in the Readme would probably be a good idea. The other "Active Record"-like ORMs for PHP seem to require 5.3, which is a non-starter for me. So 5.2 compatibility is a "feature".

philoye commented 13 years ago

Oh, here's a Changelog for 5.2 so that might give you some clues.

jordanlev commented 13 years ago

Wow, wow, wow -- a php project with unit tests! What a rare treat :) I fired up a bunch of WAMP instances and the tests pass on all versions of php >=5.2.0.

EDIT: I think it does work on 5.1 as well -- will do more tests tomorrow.

Specifically tested these versions: 5.2.0 5.2.1 5.2.8 5.2.9 5.2.9-2 5.2.10 5.2.11 5.3.0

jordanlev commented 13 years ago

Well, it should work on 5.1, but I am unable to get it functioning ('could not find driver' exception when instantiating PDO -- so this might have to do with sqlite more than PDO).

j4mie commented 13 years ago

Huge thanks jordanlev for this - really helpful. I've added a note to the README for both Paris and Idiorm.

philoye commented 13 years ago

I just did a test on PHP 5.1.6 and Paris/Idiorm pass all tests.

FYI, I had to change the dummy connection to specify sqlite2. Apparently, the sqlite3 driver wasn't bundled with php 5.1. So the 'fix' is trivial, in test_queries.php, simply change:

   $db = new DummyPDO('sqlite::memory:');

to

   $db = new DummyPDO('sqlite2::memory:');

And everything passes. Nice!