Looking for model/architecture software for PHP

Status
Not open for further replies.

Stanley

Banned
Jun 24, 2006
3,399
43
0
San Diego
I'm having a hard time keeping track of which projects are based on which PHP classes, and to what extent. If anyone can recommend a good model/architecture platform for PHP (that runs on Linux) I would appreciate it.

Thanks.
 


Not sure if I understand you correctly, but if it is a framework you seek, have a look at these:

http://expressionengine.com/
CakePHP: the rapid development php framework. Home
CodeIgniter - Open source PHP web application framework
Zend Framework

some more interesting links about code architecture, design patterns etc.:

start [phpPatterns]
Introduction to Design Patterns Using PHP

as a matter of coincidence, i am currently finishing my small and simple framework, i can send you some sources if you want.
 
It sounds like you want to better organize how resusable classes are being used in different projects?

I've always found it easiest to keep my code library in source control and then branch the needed pieces to the project that depend on it. That way if you update the class it can easily be pushed to dependent project. Likewise, if you edit the class for that specific project, you can merge the changes back to the original trunk.

Not sure if that's what you're thinking/asking for.
 
It sounds like you want to better organize how resusable classes are being used in different projects?

I've always found it easiest to keep my code library in source control and then branch the needed pieces to the project that depend on it. That way if you update the class it can easily be pushed to dependent project. Likewise, if you edit the class for that specific project, you can merge the changes back to the original trunk.

Not sure if that's what you're thinking/asking for.
Actually that's exactly what I was looking for.
What software do you use to do this?
 
i think someone had the answer(using svn:externals) already but didn't expand so please let me..

create libraries of classes then organize them as follows:
lib1/trunk
lib1/branches
lib2/trunk
...
mainproject/trunk


in your checkout of mainproject, there should be somewhere where you put your external libraries and load them to your app(e.g. a commons directory). add a property of mainproject/trunk/commons/lib1 as svn:externals lib1/trunk and mainproject/trunk/commons/lib2 as svn:externals lib2/trunk then commit.

this should be useful if you have multiple projects using those libraries(which i think is what you need).. since when you make updates to the individual libraries, the working copy that points to it gets the updates as well.
 
I'll second what the gentleman above said. This is not really a function of a single piece of software. This is based more on good design and planning.
 
hmmm, svn has been made to replace cvs -- so you should probably pick svn over it..

i think using what version control system to use depends on your needs.. git is made for distributed development(i.e. foss) so if you have a small team or you are the small team -- you should be better off using svn since it's easier.. hth
 
Status
Not open for further replies.