Forgot your password?
typodupeerror

Which PHP5 Framework is Your Favorite? 138

Posted by Cliff
from the beyond-your-personal-home-page dept.
matt_j_99 asks: "With all the talk about Ruby on Rails, I've been thinking about PHP frameworks. Ruby on Rails looks pretty cool, but frankly, I don't want to learn a new language. It seems that with all the slashdot discussion about RoR, somebody always makes the valid point that PHP is not a framework. But with PHP5's, Object Oriented features, a standard framework might emerge. Prado, Carthag, BlueShoes, and PHITE all seem like interesting frameworks. What PHP frameworks have you used in your applications? What were the pros and cons of each? Which framework do you think will have the best chance of long-term viability and maintenance?"
This discussion has been archived. No new comments can be posted.

Which PHP5 Framework is Your Favorite?

Comments Filter:
  • by rylin (688457)
    Our in-house framework, as it does precisely everything we need - no more, no less.
    • We must use the same framework, as mine does exactly the same.
    • by KILNA (536949) *

      Indeed. You have the choice of someone else's idea of what features and work-flow you need, or your own. Writing wrapper classes for output, databases, etc. isn't that hard, and you can get a solution 100% tailored to you needs.

      The only argument I could imagine for using someone else's framework is to reduce the overhead to bring in new programmers since they'll already know much of the ropes. But in the case of PHP there really isn't a clear winning system with a large pool of available programmers...

    • Okay, I admit the analogy is a bit extreme but it makes the points obvious.

      The thing is I think people don't think deep enough anymore.
      What is a framework?
      I not sure we can all agree on the answer, I am sure that there is a formal answer.
      I would say a framework, is a factory.
      Someone else can say, a framework is a meta-tool, a tool that makes tools.
      Another can say, a framework is a domain-specific language.
      And another (the one I like the best) would ask, what is the difference between all those answ
  • uh-oh (Score:5, Insightful)

    by Santana (103744) on Sunday August 14, 2005 @01:00PM (#13316562) Homepage

    but frankly, I don't want to learn a new language

    That's the worst thing that can happen to a professional (assuming you are one): not willing to learn new things. I strongly recommend you to learn Ruby, "it puts the fun back on programming", you won't regret.

    • I dunno, I can sympathize with that sentiment. Sometimes it's better to build on something you already know, rather than start over at the bottom learning what might seem to be yet another flavour of the month language.
      • Re:uh-oh (Score:3, Insightful)

        by mysticgoat (582871)

        I also go along with the sentiment (of sometimes wanting to avoid learning yet another language).

        This can be summed up with the question: "Is this guy a programmer with ten years' experience, or a programmer who has repeated one year of experience ten times over?"

        As Grasshopper plans his career it can be good if he asks himself how others will see him in a few years.

        • Re:uh-oh (Score:3, Insightful)

          by ibbey (27873) *
          This argument falls flat pretty quick. You don't need to abandon everything else you've learned to learn a new language. I'm not arguing that you need to learn every new language that comes along, but spending an hour learning -about- a new language is quite reasonable. Once you've done that, you can make a reasonable decision about whether you should continue and learn more.

          Every language has advantages & disadvantages. I love Ruby & Rails, but for some jobs, I'll still use PHP. Some jobs are best
          • This argument falls flat pretty quick. You don't need to abandon everything else you've learned to learn a new language.

            I've got no argument about that. However the time you spend learning a new language I will spend in learning better approaches to the problems that I'm addressing with one language. That is, given a choice between spending half a day learning Ruby's syntax, and putting that time into tweaking a Perl object that models conversions between HTML and XML, I think I'm more productive by any m

    • It's not like Ruby's a hard language if you already know Perl/PHP. I was able to pick up the basics in a couple of hours browsing. Now, if someone came out with, say, a functional scripting language, I might hesitate. I keep meaning to study Haskell or one of its cousins, but never find the time. But Ruby? That's about as straightforward as it gets!
      • Now, if someone came out with, say, a functional scripting language, I might hesitate.

        You don't know Javascript? Or maybe you don't know that it has much in common with Lisp/Scheme, with C-like syntax [crockford.com]? Look into it - as much as people denigrate it, it's one of the coolest languages out there.

        Ruby has pretty much the same features - functional programming is very possible. If you master the concepts using these mostly familiar tools, it's much simpler to jump into the functional languages (or at least it
        • Nope, don't know the first thing about javascript. Outside my domain for the most part.

          I do see that Ruby has functional aspects, but I don't have to use those for the basics--I can stick to the models I know, like OO. So its easy for me to get started. Eventually, yes, I suspect it will be as you say, but I'm not quite there yet. Still, I'm having fun, and that's the important thing. :)
        • Indeed, Javascript is a very nice language. Prototypes rock. Now if somebody would come up with a nice shell binding for one of the mozilla JS engines, that would be cool.
    • Yeah. Or learn Smalltalk, where you have all the power of Ruby, in it's pure, mature and untainted form. Or, maybe a Ruby user could try to learn it. FUN! Actually put the fun back in coding...
    • Re:uh-oh (Score:3, Insightful)

      by downward dog (634625)

      I switched from PHP to Ruby after reading the Pragmatic Programmer's tip to learn a new language every year. Learning new languages makes you a better programmer, and Ruby is a great language to learn.

      After only a few months using Ruby on Rails, I can't imagine trying to manage a large project in PHP. My attempts at OOP resulted in huge classes (100+ lines), my code wasn't reusable, unit testing was nonexistent, and adding functionality to an existing page usually meant breaking the rest of the applicatio

      • resulted in huge classes (100+ lines)

        Did you leave a 0 out of that? Or is most of your programming done in trivial problem domains where a 100 line class can do something? (Or have you been infected with one of the object obfuscated memes where one useful class must be shattered into several smaller ones to fit some arbitary idea of proper module size?)

        unit testing was nonexistent

        Err, if you don't write unit tests, whose fault is that? I don't see how language choice helps with that.

        and adding

        • So what was it about my post that set you off? Or are you just having a bad day?

          Did you leave a 0 out of that? Or is most of your programming done in trivial problem domains where a 100 line class can do something? (Or have you been infected with one of the object obfuscated memes where one useful class must be shattered into several smaller ones to fit some arbitary idea of proper module size?)

          Yes, you can do something with 100+ line classes. (Notice that 500 lines is larger than 100 lines, and would th

          • Yes, you can do something with 100+ line classes. (Notice that 500 lines is larger than 100 lines, and would therefore be 100+ lines.)

            Uh, yeah. My point of contention was that 100 lines makes a "huge" class.

            Three lines of Active Record code can duplicate 300+ lines of PHP. Which would you rather write?

            Depends. Dunno "Active Record" from a hole in the ground, but I've had plenty of experience with packages that only take 3 lines to give you almost what 300 lines would otherwise do, and somewhere do

            • "Dunno "Active Record" from a hole in the ground, but I've had plenty of experience with packages that only take 3 lines to give you almost what 300 lines would otherwise do, and somewhere down the line you end up writing most of those other 297 lines to handle the edge cases."

              ::snicker::
              Excellent point!
    • I strongly recommend you to learn Ruby, "it puts the fun back on programming", you won't regret.

      Do you have any more compelling arguments than that? The first time I read about Ruby I was interested. Now, by the 10000th time I read how much better Ruby is, without any specific reason other that some people love it so much, I'm pretty bored.

      And, BTW, you are way off topic. This article is about PHP frameworks. Let me explain to you. PHP is considered by some to be an excellent language. However, differently

      • Ruby resources (Score:4, Informative)

        by Santana (103744) on Sunday August 14, 2005 @04:18PM (#13317334) Homepage

        Heh, well, no offense but, people that use to reply like you haven't tried Ruby, or don't understand it. Otherwise you would be in love with it already.

        We cannot compare PHP and Ruby. It's like comparing BASIC and Perl, you get the idea. Remember when you discovered Perl and all its magic? Well, that's what happens when you get into Ruby. It's a true object oriented and dynamic language ready for real applications.

        This might or not make sense to you. It depends on the use you are giving to your language of choice. If you write one-liners in Perl, you might not feel motivated to move to Ruby. If you are writing templates in PHP for your web applications and you're doing fine, you might not need Ruby either.

        You see the light :) when you want to write OO applications/scripts. PHP used to have an awful hack (I haven't seen PHP 5), so does Perl 5. Python would be your choice, but for some reasons I cannot explain (yes, this is subjective) Ruby feels more natural.

        Ok, I have fallen again in the "I love Ruby so much" that gets you so bored. So, here is some homework for you (some very nice presentations and small articles):

        Ruby: A transparent, object-oriented programming language [pragmaticprogrammer.com]
        10 Things Every Java Programmer Should Know About Ruby [onestepback.org]
        The Ruby Programming Language [informit.com] (by Matz, Ruby's author)
        Thirty-seven reasons I love Ruby [rubyhacker.com]
        Blocks and closures in Ruby [artima.com]

      • by ibbey (27873) *
        And, BTW, you are way off topic. This article is about PHP frameworks. Let me explain to you. PHP is considered by some to be an excellent language. However, differently from Ruby, PHP users are ready to acknowledge its shortcomings. So, how can we make PHP a better language? Frameworks are one kind of solution.

        Well, we're not really THAT far off topic. The reason that the OP doesn't want to use Rails is that they don't want to learn another language. That's a good reason on the surface, but to those of us
        • There may be good reasons why someone is sticking with PHP.
          I maintain a site in PHP (I am not about to slashdot myself). It was not my first choice for a language. I bought a cheap (£20 for two years - including 1GB transfer per month- can you show me a ruby hosting service that can match that?) domain plus hosting based on the availability of Python support. Unfortunately they had discontinued Python support shortly before that. I ended up using what was available (the choice was Perl or PHP).
          PHP i
          • by ibbey (27873) *
            I have never said that anyone should abandon PHP completely. I specifically state in another thread that a smart programmer chooses the right tool for the job. For small jobs, PHP will quite frequently be a better choice then Rails. But that's not because of any limitations in Rails, just that for small jobs the overhead of even a simple framework can be more bother then it's worth.

            My point is not that everyone should switch to Rails. But learning a web framework is never a minor undertaking. For me, learn
      • by ibbey (27873) *
        Ruby users are like "Hey guys, Ruby is better!!!", PHP users are like "Let's see, how can we improve PHP?". Guess which language will be a better solution in the end?

        Yep, you're right. Us Ruby users are just sitting on our asses cheering, not actually improving anything. Oh, wait. No, we're not. The entire Rails environment is only about a year old, and is advancing literally every day. The core ruby language has been at the same version number for a while now, but there is a new version on the near horizon
    • Is it good for a "professional" to just ignore the parameters of a problem and answer with what they wish were the question?

      Not all companies 'sanction' all languages. I typically don't have much of a choice on language when doing my job. What makes you think everyone else does? What the hell is wrong with you Ruby zealots?
      • Is it good for a "professional" to just ignore the parameters of a problem and answer with what they wish were the question?

        What are you talking about?

        Not all companies 'sanction' all languages. I typically don't have much of a choice on language when doing my job. What makes you think everyone else does?

        What makes you think I'm thinking everyone else can choice his/her language? Anyways, the OP clearly *can* choice his language. He's just too lazy to learn another one. And that's what I'm

        • Wow, what arrogance. You assume that the OP has nothing better to do with his time than to learn your new pet language? Maybe he's married with three children and doesn't quite have the spare time like you seem to have? Perhaps he wants to keep the languages he learns to those that may be of use to him at his company (or future companies)? Maybe he doesn't pick up new languages as well as you do and it'll take much longer? Such an investment of time must be carefully made.

          People without spare time ne
    • I'm all up for learning new things. Heck, I'm learning 2 things right now: 1 for work and 1 for home.

      There is one problem though: if he works for a company, they may have very strict regulations about what he can/cannot use (for stuff at work).

      For example, at my place we're pigeon-holed into using only a small set of languages and frameworks. They even recently cut back one or two.

      The common reasoning is, if they don't put down controls, then developers go off and do their own thing, which is ok for the s
      • Re:uh-oh (Score:3, Insightful)

        by f0rt0r (636600)
        Good point. A company thinks long term. Jim Bob wants to code a new solution in Ruby because its fun. What happens when Jim Bob leaves the company? Or transfers to another department. Omg, now John Bob has to learn Ruby and support it. 90% of the apps in the company are in Java and Jim Bob's manager approved Ruby.

        Now his manager's manager wants to know what the business case was for coding in a langauge that:
        1) No one else knows.
        2) Could have been done in Java.
        3) Offers no benefits over other languages alre
  • by larry bagina (561269) on Sunday August 14, 2005 @01:02PM (#13316574) Journal
    I haven't used it (I only learned about it from one of the endless /. RoR articles), but Cake [cakephp.org] is another option. If nothing else, the logo is making me hungry.
  • by dont_think_twice (731805) on Sunday August 14, 2005 @01:06PM (#13316584) Homepage
    Which PHP5 Framework is Your Favorite?

    I guess I sorta like them all ...
  • Learn Ruby (Score:5, Insightful)

    by Anonymous Coward on Sunday August 14, 2005 @01:17PM (#13316627)
    Listen, I've been programming PHP since version 3. I've been writing Perl since.. well since before some of you have been born. I've been working in Lisp and C since before that!

    The secret to Ruby on Rails is RUBY. You just can't do that kind of stuff in PHP. PHP is pretty pathetic once you get beyond the basics. It is truly a language for the "bottom 95%" as I call it. PHP has at least the following flaws:

    * poor metaprogramming: try creating an anonymous function in PHP, it's just a STRING! Yuck. Closures? Never heard of 'em. Try writing a one-liner in PHP that sorts a list of objects. Impossible.

    * global variables for session, cookies, etc. Makes unit-testing a bitch!

    * no "finally" clause on exceptions. WTF? Built-in functions don't raise exceptions. WTF?

    * no way to refactor object fields. Yes you can use "__get/__set" but those "fake" fields don't work in every place a regular field works. WTF? In Ruby everything is a method, there are no fields, refactoring is a breeze.

    * No "mixins".. I can't write a method and then stick it into multiple classes. Not even with include().

    * Exposes variables vs. variable references. I thought PHP5 would get rid of "&" forever. I was wrong.

    Now Ruby ain't Lisp, that's for sure. But I'd rather stick forks in my eyes than programming in PHP again.

    Anyway, a good programmer has no problem learning a new language. It'll take you longer to learn the framework than the language. Ruby is simple and clean and VERY consistent from top to bottom, give it a try.
    • Your arguments remind me of a professor I once had, trying to tell me how Modula2 was so much better than C/C++, which he called "medium level" languages.

      Yes, sure, if you worry about "metaprogramming", "refactor object fields", or "Exposes variables vs. variable references", then Ruby is the language for you, but... how about Oberon? Now that's one language I'm sure you'll love!

      OTOH, if you aren't in an ivory tower and have to program for a living, then PHP is like C, a language the "perfessors" hate,but i

      • OTOH, if you aren't in an ivory tower and have to program for a living, then PHP is like C, a language the "perfessors" hate,but it keeps working just fine for the 99.5% of us.
        Would that be the 99.5% of all C apps that have weekly buffer overflow exploit notices?

        Or would that be the 99.5% of PHP apps that have constant SQL and variable injection attacks. *cough* PHP XML_RPC support *cough*
        • Err ... yes. Most languages get used both carefully and not. Even the best keep-you-from-shooting-yourself-in-the-foot languages won't prevent you from writing incorrect programs; I'm really not sure why people bother. Buffer overflows aren't hard to prevent, and if a programmer gets caught writing one once, will probably never do so again. SQL injection is an issue in any language because people insist (note, I do this too) on writing their SQL as strings and injecting values into those strings, as opposed
          • by ttfkam (37064) *
            Except that for years PHP and MySQL, tools marketed to beginners, didn't have the "correct" option available.

            And beginners won't know to ask about it. The incorrect option is all they know. The solution, of course, is better tools. ...and tutorials. There is no excuse as a documentation/tutorial author to demonstrate values injected into SQL strings in examples.

            And, once again, there is NO excuse for building a network-aware technology that allows for setting variables from the URI query string. None. Even
            • Except that for years PHP and MySQL, tools marketed to beginners, didn't have the "correct" option available.

              And beginners won't know to ask about it.


              Eh. There's no way to give amateur developers the ability to produce professional code. If you want a secure system, don't hire a novice. It's not PHP's fault that a developer is a failure, to be quite blunt.

              And, once again, there is NO excuse for building a network-aware technology that allows for setting variables from the URI query string. None. Even PH
              • by ttfkam (37064) *
                Actually, in PHP and PHP/FI days, that was common practice, and in some languages still is.
                I meant predecessors like Perl. As for common practice, not in any circles I've been exposed to. Even C tutorials from twenty years ago for command line apps preach distrust and validation of user input as standard procedure.

                In the modern internet, the practice is unforgivable.
                • Oh, I'm certainly not defending the problem; you're quite right to suggest what an issue it is. I just tend to believe that the problem comes from the programmers, rather than the language.
      • There's a reason that Ruby programmers are such annoying cheerleaders-- the language is genuinely fun. Add to that the facts that you get much more done in much less time and your code is inherently less buggy, and you begin to see the reason for our enthusiasm. I challenge you to pick up Programming Ruby (or the new Agile Web Development in Rails). You may not decide to switch but you'll understand why we have.

        The need to learn a new language is certainly a reasonable concern. Fortunately Ruby has a reason
      • Yup, dag nab it! Them Ruby college boys keep come'n round here'n tell'n me that I need to learn their language, but I'll stick with my COBOL thank ya very much!
      • Yup, it's way too hard for you. Best stick with PHP.

        (while the rest of us program rings around you in languages like Ruby, Python and Lisp)
    • THANK YOU MR COWARD!

      That is the most coherent list of the deficiences in PHP compared to other more well designed OO languages that I have seen. Most people just say "oh PHP is rubbish compared to a real OO language" but they never bother to say exactly why they feel that way.

      nobody can deny that PHP is a bit of a dogs breakfast when it comes to "design", it's had a very evolutionary and "throw everything in" history (a bajillion functions always there, no modularity), but the fact is that it works, it's n
    • All very beautiful. But then, why the heck don't you program in Smalltalk? Smalltalk has been here for ages, is the most beautiful OO language I've ever seen, and has all the features Ruby developers rave about.

      The real question is: Does Ruby present the same flaws that prevented Smalltalk from taking over the world? Take a look to the side, and you'll find C powering most applications, not Objective C -- a much much cleaner language. This is the same kind of scenario.

      Probably, a language for the bottom

  • Delphi (Score:1, Offtopic)

    by baadger (764884)
    Did anyone else click the PRADO link see TForm, TButton and TTextbox and just say to themselves "Delphi programmer"?

    I don't have a point. I just thought it was kinda neat.
  • Ruby on Rails looks pretty cool, but frankly, I don't want to learn a new language.

    What a silly perspective. I've never met a carpenter who knew how to use a hammer, but refused to learn screwdrivers, miter saws, and a lathe.

  • Zelots. (Score:2, Insightful)

    Why is it that there is very little PHP discussion here, and this story has been taken over by the RoR zelots? Seems like that's par here at Slashdot.
    • Re:Zelots. (Score:3, Insightful)

      by aminorex (141494)
      When a large number of intelligent people with practical experience conclude that a given tool is superior to another given tool, it's a good idea to check it out.

      PHP is very accessible, and that's a great strength. But any time you start talking about "frameworks", you're well outside the user base that is best served by accessible.

      Having said that, there are a lot of big PHP projects doing good service in the real world. It might not be the place to start new development, but integrating it into new dev
  • by Elamaton (771817) on Sunday August 14, 2005 @02:12PM (#13316842)

    But with PHP5's, Object Oriented features, a standard framework might emerge.

    Indeed, one might. So far, not looking so good on that front. All the frameworks I've encountered so far have seemed cumbersome or tedious somehow (I glanced at Prado just now; the advantages of their approach aren't readily apparent, I'd say. The demos are unimpressive, using some god-awful javascript: pseudo protocol links for updates and deletes, which really puts the internals of the framework into serious question).

    It seems that PHP is bereft of any real, exciting developments on the framework front. There are a lot of frameworks, but I guess the reason why none stand out like Rails does with Ruby is simply that none are good enough, providing no significant added value.

    You have to ask yourself: why a PHP framework? What such significant advantages would one of the existing frameworks provide that learning its ins and outs wouldn't be a waste of time and energy? If you're looking to automate some of the drudgework of form processing, for example, I suggest you roll a minimalist "frameworklet" - or simply "component" - yourself (if that's plausible in your situation) for that specific purpose, making it generic enough to be reusable, but not so generic that you end up fitting your projects to the tools instead of vice versa, which often happens with frameworks.

    I've found minimalism to work really well with PHP. Frameworks that try to be all things to all people mostly end up being more trouble than they're worth. It may very well be faster and more efficient (and more fun) to code a small component for a specific purpose than trying to work with an existing solution. Your own solution will be tailored to fit your application and will work as your mind wants it to work, not the way the framework creator sees fit for himself.

    It's a Unixy approach, I think: combine small tools in inventive ways to accomplish even the largest tasks. Of course, with tools of your own creation, you wouldn't have to deal with inconsistent APIs, a thousand syntaxes and wholly different philosophies across these tools. Write a custom session handler here, a generic input validator there... Even if you create these tools for a specific project, you will most likely find yourself reusing them in future projects, too, with possible minor customizations.

    An example: when I first wanted a lightweight way of separating the business logic from the display logic for a project, I coded a single class that did the template stuff, using standard PHP with no additional burdens. Smarty etc. were readily available options, but PHP is already a templating language, and separate template engines would just have added excess bloat to the mix. My solution wasn't as feature-rich, of course, but it did exactly what it had to in the parameters set by the project specs. I've successfully and rapidly reused the code (and more importantly, the overall technique) in several later projects. Besides templating, I've had similar good experiences with an extensible input validation system I cooked up once, adjusting and refining it to later projects.

    The way I see it is this: languages like Ruby and Python benefit from good web frameworks, since they're non-web-specific languages, and these frameworks make their use a lot more convenient in web programming. PHP, on the other hand, is very much a web programming language at heart. Ignore the "PHP suxx0rz!" trolls, it is a good tool for that purpose. (Even though it's capable of more, it's rarely - if ever - the best choice in those circumstances.) The best a framework would do with PHP is addressing clear shortcomings of the language in some way, but you don't really need a full-fledged framework to fight these annoyances. I find the "invented here" mini-component approach superior.

    In short, I don't see a framework "enabling" significantly better ways to do web programming in PHP, unlike with Ruby or Python. For PHP, a framework will probably be more trouble than it

    • The way I see it is this: languages like Ruby and Python benefit from good web frameworks, since they're non-web-specific languages, and these frameworks make their use a lot more convenient in web programming. PHP, on the other hand, is very much a web programming language at heart.

      I heartily disagree.

      First of all, can you explain what's a good "web-specific-language"? As both a web-programmer and a general-purpose programmer, I'd say there's nothing really "web-specific" about a core language. You

  • by ttfkam (37064) * on Sunday August 14, 2005 @02:34PM (#13316913) Homepage Journal
    Isn't that like asking what type of sauce you want on your spaghetti (code)?

    I have yet to see a PHP app -- especially one that also used MySQL -- that used a design pattern other than "Big Ball of Mud" most often.

    Do be fair, PHP 5 looks pretty good -- or at least is a vast improvement. Unfortunately I can't say the same thing about the people who've coded in PHP up to this point. Even when PHP shows some growth, most PHP coders ignore it.

    "Database abstraction? Why would anyone need that?"

    "Namespaces? Why would anyone need that?"

    "Design patterns? What are those?"

    "Security? If it's a problem, we'll fix it later."

    PHP: We'll be there for you if your development environment doesn't have enough side effects.

    PHP: Because we know the money's in the maintenance contracts.

    PHP: Because you obviously don't know any better.

    PHP: We take security as seriously as Microsoft ten years ago.

    PHP: Doing it fast is always better than doing it right.

    PHP: Proving that if any idiot can write an e-commerce package, any idiot will.

    PHP: Yet another great reason to make regular backups.

    PHP: Fast, cheap, and robust. Two out of three ain't bad, right?

    -----
    I'm liking this meme. Anyone got any more?
    • I have yet to see a PHP app -- especially one that also used MySQL -- that used a design pattern other than "Big Ball of Mud" most often.

      You can remove the PHP qualifier from that statement and it's just as true. I've seen just as much good PHP code as good code in any other language - i.e., precious little.

    • Re:Which PHP App? (Score:3, Informative)

      by TheTomcat (53158)
      "Database abstraction? Why would anyone need that?"
      http://php.net/pdo [php.net]

      "Namespaces? Why would anyone need that?"
      it's coming [beeblex.com]

      "Design patterns? What are those?"
      http://php.net/language.oop5.patterns [php.net]
      http://phppatterns.com [phppatterns.com]
      php|architect's Guide to PHP Design Patterns [phparch.com]

      "Security? If it's a problem, we'll fix it later."
      http://php.net/security [php.net]
      (Almost all of PHP's historical security problems have been third-party.)

      S
      • "Database abstraction? Why would anyone need that?"
        http://php.net/pdo [php.net]

        From the top of that PDO page you sent me to:

        Warning

        This extension is EXPERIMENTAL. The behaviour of this extension -- including the names of its functions and anything else documented about this extension -- may change without notice in a future release of PHP. Use this extension at your own risk.

        Re: namespaces. How old is PHP? And they're only now getting around to it? Younger languages seem to have them. Why has PHP, a very popular l

    • I have yet to see a PHP app -- especially one that also used MySQL -- that used a design pattern other than "Big Ball of Mud" most often.

      Have a look to the Drupal [drupal.org] code. Great innovative design can be found there.
  • I read a post a few days back regarding PHP5's supposed excessive use of memory:

    http://books.slashdot.org/comments.pl?sid=158685&c id=13297391 [slashdot.org]

    Now, I have been contemplating the use of PHP5 for various webapps, but after reading that I am unsure about whether or not I should use it. Mind you I do not want to invest large sums of money into an accelerator, which appears to be necessary if reasonable server memory usage is a goal.

    Does PHP5 indeed suffer from excessive memory consumption, and if so, can it
    • PHP does use a significant amount of RAM, but this is largely based upon what modules you are loading in. If you're writing basic SQL query pages with some crypto, then just load those modules. You'll still use some memory, but much less that loading GD every time, and not using it. You can also install the modules and call them only when you need them.

      The Apache module does use a significant amount of RAM, but unlike standard CGI's, the processes are not dying and re-spawning, so the same process actual
  • gtk.php.net

    version 2 will work with gtk 2.x, which is great!

    It is not much of a thing, but will be ok!
  • by mangu (126918) on Sunday August 14, 2005 @02:47PM (#13316959)
    I was assigned a task that would seem to be more or less the dream of any programmer: develop a QA management system (ISO9001 compliant, of course) for the whole company. Choose freely how you want to do it.


    After searching all over for several weeks, I chose eGroupWare [sourceforge.net]. Their "etemplates" framework settled the issue for me.

    • I was assigned a task that would seem to be more or less the dream of any programmer:develop a QA management system (ISO9001 compliant, of course) for the whole company.

      This completely explodified my sarcasmification detector . . .
  • Oh, uh, yeah, how about cake [cakephp.org]? It's a rails knockoff for php.
  • Almost all the frameworks, no matter which language they are written in, don't provide the basics for a real world application. What about i18n? I have yet to see a framework where the template system AND the application supports translation of messages.

    Customize Authentication? There are more complex apps that don't just require username+password to login (e.g. logon to database - username+password+database depending on the database you may have access or not). Also users may be in many groups, each gro

  • Try this:
    http://www.phpmvc.net/ [phpmvc.net]

    It's in beta, but I think a good MVC framework is all PHP needs to stop looking like such spaghetti. In defense of the Ruby zealots: I've haven't learned Ruby yet, but it's exactly the futuristic *REAL* object-oriented language that's going to propel us into the future. PHP is very old-school in the way code is written -- it DOES encourage spaghetti coding -- and for that I think it deserves to be phased out.
  • by IpSo_ (21711)
    Propel is the best I've seen. I'm not a java programmer but apparently its based on a similar java framework.

    http://propel.phpdb.org/docs/user_guide/ [phpdb.org]
  • being the author, I'm naturally biased, but you should try Achievo ATK [achievo.org].

    It's essentially a 'business framework', targeted at developing web applications. Where other frameworks mainly provide a large set of utility classes, ATK lets you write an application in as few as 10 lines [achievo.org] of code.

    We're all about inventing every wheel only once. Everything that can be generalized, will be, but anything that the framework automatically offers, can be fully customized.

    In one of the replies to this story, I18N and custom
  • Writing a reusable Framework in PHP is quite simple task for experienced developer. I see the advantage of well known frameworks when it comes to employing new developer, but still, learning well designed framework is quite simple.

    My question is: Is there something similar to Hibernate for PHP?
  • List of PHP Frameworks [dmoz.org]

    By the way, it's interesting how a thread about PHP frameworks turned into a thread for Ruby-on-Rails zealotry. I won't knock Ruby, but if PHP is good enough for the Wikipedia, Yahoo! and Friendster, it's good enough for me. There's nothing wrong with wanting to become a guru in one language (that happens to be in the top five in popularity!) than becoming a jack of all trades.

"Our reruns are better than theirs." -- Nick at Nite

Working...