After searching for good database abstraction systems for PHP I found a cool ORM called Propel. Some stuff that interested me right off:
- Ability to gen data access classes right off of an XML schema
- Simple structure
- Awesome syntax
Anyway, on my path to being a Propel expert (right...) I ran into a few snags. At first, after not reading the dependency requirements, I fought to get a local pear installation working. After not being successful with that installation I read through the documentation again and saw the only required dependency was Phing.
I followed Phing's non-pear installation instructions and then followed Propel's non-pear installation. When I went to execute the Propel generator batch file it said it could not locate 'phing.bat.' After opening the batch file I found this line:
22 if "%PHING_COMMAND%" == "" set PHING_COMMAND=phing.bat
I changed it to:
22 if "%PHING_COMMAND%" == "" set PHING_COMMAND=[MyPathToPhing]\bin\phing.bat
After doing so... I ran the batch file again and ran into another problem, it was saying it couldn't find some of the files required to run Phing. This was because the environmental variables required to run Phing need to be added to the batch file phing.bat. I added these commands to the top of my phing batch file:
set PHP_COMMAND=C:\php\php.exe
set PHING_HOME=C:\phing
set PHP_CLASSPATH=C:\phing\classes
set PATH=%PATH%;%PHING_HOME%\bin
And... whala, it worked!