The online racing simulator
PHP Frameworks...
(15 posts, started )
PHP Frameworks...
Just curious what people might be using as far as the plethora of php frameworks out there.

I've used:
CakePHP - Did not care for it; poor documentation and poor execution.
CodeIgnitor - Used it, seemed ok... although there is a fair amount of work to do for a website like authentication, etc. Really good documentation. (I was the one who created the Sentry auth. component, but lost all my CI stuff in a HD crash... sigh).

Currently trying:
Prado - Somewhat similiar to ASP.NET (which has its pluses and minuses... although some of ASP.NETs minuses are huge); decent documentation. Not really sold on it.

Have tinkered with:
Symfony - I was just left with the 'bleah'; code generation is ok, but I'm not really a huge fan of it because often it ends up causing more work.
QCodo - Um... way too much code and ui mixed together.
Zodo - Again, just sorta left me bleah.
PHP2Go - Might be interesting, some nice AJAX form examples, but all documentation/forum is pretty much in Portugese (if its not obvious, I don't speak Portugese
YellowDuck - Seemed ok, but nothing jumped out at me.
Zend Framework - Really more of a pieces, not an integrated framework solution.
PEAR components - Individually some are great, but hey don't always work well together. Significant work to mesh to understand options and then mesh them together.

I avoided must of the "Ruby on Rails" ports, because I find "Rails" too confining. Same with ports of the java Struts framework as its a bit long in the tooth these days.

There were a few others I looked into, but I tried to eleminate any that were mostly a "one person effort", had no forum or significant community interaction, etc.

Anyone got any good recommendations, something I missed, something to add? I know I was looking mostly at PHP5 support, use of PDO (or other database wrapper... not sold on ORM solutions even in compiled frameworks), Ajax support, decent seperation between UI and code (preferably without use of smarty, etc. templates... because frankly I'd just rather use PHP syntax rather than YetAnotherSyntax), and so forth.
Quote from Hollywood :
Zend Framework - Really more of a pieces, not an integrated framework solution.

I'm using zend framework, and zend framework only.

you have to understand that zend framework is MEANT to have a use-at-will architecture. that means, if you want to use the zend framework MVC component, use it. that means you will have a complete MVC-Environment right at your hands (no Scaffolding happens tho, so you have to create your models / data gateways by hand). If you don't want to use that, but like the Zend_Db component, use it.

you are not bound to use the ZF components together, but they nicely use the features of each other. For example, for Zend_Auth, there is a adapter called Zend_Auth_Adapter_DbTable. Quite obvious that this one accepts and uses a Zend_Db_Table object to handle authentication.

BTW: I don't know when you tried Zend Framework, but an awesome lot has been done since, for example, version 0.7. It is currently out in version 1.0.2, Version 1.1 is currently under development. That one will contain some VERY nice additions, like partial- and controller-call-viewhelpers, a layout- and a form-component. Be sure to have it on your list

Quote from Hollywood :decent seperation between UI and code (preferably without use of smarty, etc. templates... because frankly I'd just rather use PHP syntax rather than YetAnotherSyntax)

Zend_View is the right component for you. and also, you have my full support on the opinion that smarty is purely useless

BTW: I know that zend framework lacks a decent Application-creation script like Cake's bake.php (yet).
Guess I need to go back and review it again.

Dunno to me that was one of the most useless parts of Cake; along with the scaffolding (in more than just cake).

Quote from St4Lk3R :BTW: I know that zend framework lacks a decent Application-creation script like Cake's bake.php (yet).

However, do you know any decent sample apps for the current Zend framework?
Maybe you should take a look at drupal (http://drupal.org). Yes, drupal is known as CMS, but is is very simple to write custom modules, because it has a good and well documented api for forms and database access and much more.
I have written a complete league managment as drupal module, and I think that I have never done this with PHP if I havn't already used drupal as CMS before.
CMS systems I tend to steer away from... but will have to check it out. And yes, one of the goals for a PHP framework is to rewrite my RLM (racing League Manager) that currently powers LOTA.

Quote from Brilwing :Maybe you should take a look at drupal (http://drupal.org). Yes, drupal is known as CMS, but is is very simple to write custom modules, because it has a good and well documented api for forms and database access and much more.
I have written a complete league managment as drupal module, and I think that I have never done this with PHP if I havn't already used drupal as CMS before.

frameworks? Care to explain what you mean? I use php, but i've never used any framework that i know of
From the wiki (http://en.wikipedia.org/wiki/Web_application_framework):

Quote :
A web application framework is a software framework that is designed to support the development of dynamic websites, Web applications and Web services. The framework aims to alleviate the overhead associated with common activities used in Web development. For example, many frameworks provide libraries for database access, templating frameworks and session management, and often promote code reuse.

Its pretty much that; theres a fair amount associated with web development, as I'm sure you know, but frameworks help aleviate having to re-invent the wheel (or at least try to). Of course, not everyone has the same ideas of what should or should not be in a framework, so thats why there are so many PHP (and Java, amongst languages) out there.


Quote from Victor :frameworks? Care to explain what you mean? I use php, but i've never used any framework that i know of

ok i c. In that case i've never used any framework. I'm reinventing the wheel all the time Though I don't really have a feeling that it's that much extra work with php. And what i find important personally is that in the end you still wanna know how something works (well, i do) and what better way to learn than making it yourself?
Then I take it you did the LFSWorld from ground out, very nice.

I agree about knowing how something works, but since I've been doing web application development since back in the true CGI days, ASP, and later C/C++ CGI frameworks, first days of JSPs (I remember attending the Chicago event where IBM rolled out "San Fran" which eventually became WebSpehre, and their VisualAge development environment which eventually morphed into Eclipse), etc.... so I'm a bit bored with knowing how it works.

Quote from Victor :ok i c. In that case i've never used any framework. I'm reinventing the wheel all the time Though I don't really have a feeling that it's that much extra work with php. And what i find important personally is that in the end you still wanna know how something works (well, i do) and what better way to learn than making it yourself?

Quote from Victor :ok i c. In that case i've never used any framework. I'm reinventing the wheel all the time Though I don't really have a feeling that it's that much extra work with php. And what i find important personally is that in the end you still wanna know how something works (well, i do) and what better way to learn than making it yourself?

I agree.

Thats why I'd never use a "lib" for the insim protocol!

making it yourself, gives you a much higher understanding of things!
I'm the other way around. I use frameworks. Before I start to implement something, I searched if someone else has done this before. If I find something good I use it, if not I do it myself.
Ok, the main language I use is Java, and as Java-Developer you normally use lots of frameworks and libs (starting with apache commons).
But I also want to know how it works, so I prefere open source frameworks/libs, where I can read the source, to see how this works.
When it now comes to web-frameworks for Java, I must say that the major frameworks here (struts, jsf, ...) are not the holy grail, and every framework has it glitches. But in the end you are faster than doing it all by yourself.

One other good thing about frameworks is when you need additional developers (e.g. a company) then you can search for people that already have experience with this frameworks, and the time to familiarized with the product and work productiv is much shorter.
Quote from Krammeh :I agree.

Thats why I'd never use a "lib" for the insim protocol!

making it yourself, gives you a much higher understanding of things!

Understanding is great, but there comes a point that it is superfluous to the task at hand.
For instance, if you were writing a music player, would you write all of the codecs from scratch?
If you are writing a game, would you rewrite OpenGL or the graphics card drivers?

Unless you are a nutjob, no.

The only reason people start from scratch with simpler things like Insim or a webapp is because they can.

I've started from scratch one (or three) too many times and can now see the futility in it.
There's a difference between understanding and being efficient. At work I can't bill clients for "understanding", so frameworks are a huge boon (assuming the pluses outweigh the glitches) and when it comes to hobby stuff, well I have limited time and am not primarily interested in spending time on stuff that's already been written (for the most part).

I did write an C# InSim lib back when Scawen first introduced the InSim protocol; but that was lost in a harddrive crash (silly to not have it backedup anyways) so was glad to see sdether's C# lib, because I didn't really feel like doing it again.

Same with PHP (or even Java frameworks)... wrote a Java one for a large client, so been there done that, don't want to do it again if I can help it.

And back to the original topic; I've been playing with the Zend framework components (its not a framework, its a collection of components useful for web applications). They are ok, however the Zend_View is sorely lacking as it can't support layouts or sub-views at all. There are some proposals to rectify the situation, but neither seem to be well integrated. Also the issue with sub-views, in MVC, is those sub-views need to have their data loaded by the controller which means the controller needs to know about the sub-views ahead of time, or the controller needs to load a component up, and tell the view about it.

Zend has also made some changes to the core components, such as the introduction of ViewRender helper, but they left in the old ways of doing things (for backwards compatibility) which is good and bad. It'd be nice if they had 2 versions, one that allowed for backwards compatibility and another that was clean.

Also lacking are architecture diagrams, which would be especially helpful with the number of dynamic function calls that are made in the various components.

I've got somewhat of an "application framework" put together based on the Zend framework components that allows glues together configuration, authentication, and views with simple layouts and sub-views. Haven't quite gotten authentication completely finished as far as being able to login yet, but it does handle the determination whether a controller action should trigger authentication or not.

Quote from Krammeh :I agree.

Thats why I'd never use a "lib" for the insim protocol!

making it yourself, gives you a much higher understanding of things!


PHP Frameworks...
(15 posts, started )
FGED GREDG RDFGDR GSFDG