Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
PHP Books Media Programming Book Reviews

Core PHP Programming 223

honestpuck writes "One of my key concerns when reviewing a good book is the pull between information density and a light, easily read style. I believe that as we get further along the learning curve we can sacrifice some readability for density -- we want more facts and less explanation." Read on for honestpuck's take on the third edition of Core PHP Programming to see how well it achieves that balance.
Core PHP Programming (3rd Edition)
author Leon Atkinson with Zeev Juraski
pages 1041
publisher Prentice Hall PTR
rating 9
reviewer Tony Williams
ISBN 0130463469
summary Good comprehensive guide for beginner to expert

The authors of Core PHP Programming have found a marvelous middle ground. Toward the beginning of the book they have a great deal of light, explanatory material as they cover the basics of PHP. As they move towards more advanced topics there is less explanation and a tighter packing of information. At the same time the book has a large number of small code examples throughout, making sure that you know how to use the functions under discussion.

This is the third edition and I must admit that I had not come across it in either the first or second editions, so I have no great way of comparing them in this review. It has certainly been revised to take into account the changes for PHP 5 and examining the table of contents for the second edition on Safari I can see the that the basic structure has remained the same while the book has grown about 300 pages. The addition of Zeev Suraski as co-author can only be to the benefit of the quality of the information, particularly regarding PHP 5.

The book starts with the absolute rock bottom of PHP, the basic data types and operators through to efficiency, debugging and design patterns. Along the way it covers almost all aspects of PHP 5 with a readable reference style. The 'Core' in the title of this book is a key to understanding it. If you're looking for a book with all the code required to handle session management, or user logins and security (to mention two possibilities) then this isn't the book for you. If, however, you are after a book that more than adequately explains the power and nuances of PHP and programming in the language then this is a marvelous volume.

It's broken up into 5 sections: "Programming PHP," which covers the basics of data, control flow and I/O; "Functional Reference," which is 600 odd pages broken up into 12 chapters that seems to cover every PHP function (a check of three sub chapters showed every function mentioned on the topic at PHP.net was also in the book) and does it well with good explanation and code examples; "Algorithms," which details a number of methods of performing routine tasks such as sorting, parsing and generating graphics; and "Software Engineering," devoted to design, efficiency and design patterns; and finally, there are a seven excellent appendices.

Taken as a whole it does a good job of covering the whole language and the ways of using it.

I can imagine it would make a good companion volume to my other favourite PHP volume, PHP and MySQL Web Development, which tends more towards recipes and leaves out the encyclopedic coverage of this book.

Leon Atkinson has a good page for the book that includes a link to download all the code and examples, a link to the Prentice Hall page for those wanting an example chapter or a look at the Table of Contents and some other reviews. His site also has a page for the inevitable errata, currently blank. While I did find only one typo (not in example code) I can't claim to have read every page or run all the code examples.

I'd recommend this volume to anyone who wanted a comprehensive guide to PHP 5. It is probably useful at almost all levels.


You can purchase Core PHP Programming, 3rd Ed. from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

This discussion has been archived. No new comments can be posted.

Core PHP Programming

Comments Filter:
  • Needed? (Score:2, Insightful)

    by Tyler Eaves ( 344284 )
    Does one really need a 1000 page reference on PHP? The online documentation is free, downloadable, and quite complete.
    • Re:Needed? (Score:5, Funny)

      by kev0153 ( 578226 ) on Monday January 12, 2004 @01:33PM (#7953744)
      Dang you beat me to the obligatory "Online Documentation is good enough" quote that always comes up with these php book reviews. I needed some karma today.
      • Online REFERENCE (Score:3, Insightful)

        by MrChuck ( 14227 )
        The online stuff is fine REFERENCE material. It answers questions from the "what are the arguments that THIS FUNCTION takes?"

        There are also, like any real world programming language, many ways to approach the same problem.
        Sometimes there are BAD ways (a function might exist to do something simple and quickly and shouldn't be used as part of a more complex solution)

        The online docs don't answer the questions like:
        What's the best way to read in an apps config file and perhaps even write it back out?
        How

    • Re:Needed? (Score:1, Insightful)

      by Anonymous Coward
      Then don't buy the book. Many of us like dead trees we can flip through.
    • by October_30th ( 531777 ) on Monday January 12, 2004 @01:35PM (#7953761) Homepage Journal
      Online documentation is also ugly and hard to read.

      I always print out the manuals, faqs and howtos I read frequently. I also print out important e-mails.

      • by Frymaster ( 171343 ) on Monday January 12, 2004 @01:44PM (#7953863) Homepage Journal
        Online documentation is also ugly and hard to read.

        yes, but....

        1. it is always up-to-date
        2. it is complete, ie it archives older versions and deprecated calls
        3. it has user comments usually (php.net's user comments have saved my ass at least twice)
        4. it is free
        5. it weighs nothing. when you walk to work, this counts.
        • The problem is number 3. If the documentation is so complete why are the user comments needed? There have been plenty of times I've seen things in user comments that should have been in the actual documentation. That doesn't seem very complete to me.
      • Online documentation is also ugly and hard to read.

        The documentation on php.net is leaps and bounds better than the documentation on any other website I've found. The user comments are very helpful - quite often, my question is answered by one or more of the comments.

        I also print out important e-mails.

        You must work at my company, printing email seems to be popular here. Print it out, file it in a drawer. I just don't get it.
      • Have you ever looked at the online documentation for PHP? It's gotta be the best docs ever. They have code examples, in-depth discussion of each argument, and user comments at the bottom. Everything is nicely formatted and the information is very easy to get to. After reading Core PHP Programming, I can also state with absolute accuracy that the PHP manual is far easier to read and navigate than their "function reference" section. I think the book should be half the price and should not contain the fun
      • If you think it's ugly online, it will be ugly when printed out, and just less useful since you won't be able to find anything quite as easily.
    • by Anonymous Coward
      There is no general alphabetical function list, and even in the function categories the listings aren't always in alphabetic order.
    • Re:Needed? (Score:5, Interesting)

      by pogle ( 71293 ) on Monday January 12, 2004 @01:36PM (#7953777) Homepage
      Indeed. When I was first learning PHP and doing a lot of local testing, I just downloaded the whole doc to my PDA. Easy searching, and remembers my place even if I close the cover ;)

      I will admit I've got 2 O'Reilly books on PHP (Programming and the Cookbook) but more often than not its easier to just hop on their site and search there. The books are there to look cool with the rest of my O'Reilly collection.

      Personally I like the user comments in the online docs the best. Half the time someone's already written some small function that I'm looking for, or quite adequately explained all the various cases of some esoteric function return.
    • Re:Needed? (Score:2, Informative)

      by Matrix9180 ( 734303 ) *
      I have this book myself, and I can say that it puts the documentation in a much more readable form, and just a FYI, most of the online documentation has NOT been updated for PHP5. Think before you submit next time.
      • Re:Needed? (Score:3, Insightful)

        by Anonymous Coward
        Maybe because PHP5 isnt finalized yet? Kinda stupid to update comprehensive docs for a changing beta...this book would've done better for wait for 5's final release.

        Your comment is rather disjointed, were you trying to link between online docs being unreadable and php5 docs not being online, while claiming the book is exactly opposite, with easy to read PHP5 documentation? Or do you just suck at typing?
    • Re:Needed? (Score:5, Insightful)

      by RetroGeek ( 206522 ) on Monday January 12, 2004 @01:42PM (#7953845) Homepage
      Does one really need a 1000 page reference on PHP? The online documentation is free, downloadable, and quite complete.

      The online docs do not say HOW to program in PHP.

      Yes, they are a great reference, and actually are the best online docs I have seen (mostly due to the comments), but you still need to know how to program to use them.

      OTOH, a good programming book will step you through on HOW to use the various functions, not just what the functions do. Things like layering, magic number constants, security etc.
      • The online docs do not say HOW to program in PHP.
        Actually, it does, check it out: http://www.php.net/manual/en/ [php.net]

        The first five sections (especially the first to) are more than adequate in teaching how to program in PHP.
      • Does a book on PHP really teach you how to program? I'm sure there are better, language independent resources/books that can 'teach' better.
      • I have an earlier edition of this book, and I was massively underwhelmed. It was as if somebody printed out the online manual and prefixed it with a few average tutorial chapters. The actual useful content of the book to a beginner was approximately a quarter of the overall page count.

        I can't say whether or not this edition has improved the situation, but if the publisher was willing to churn out such a low-quality book before, I don't have high hopes for this new edition, especially as it seems to be

      • If you need to learn HOW to program you need to start with something other than PHP. A good programmer should be able to learn the syntax of a new language and be able to program in it just as easily as any other language.

        *troll* Of course since PHP breaks many commonly accepted practices of good programming by default, HOW to program might be appropriate for it. ;-) */troll*
      • Comment removed based on user account deletion
      • Re:Needed? (Score:3, Insightful)

        by Trejkaz ( 615352 )

        So basically you fill the first half of the book with a bloated version of the instructions that are already on the web site. Then you fill the second half with a printout of the function library off the web site. Then you just need to put a bit of padding around it all describing a language which isn't even complete yet.

        This sounds worse than the typical Java book scenario, where they fill half the book with dry and obvious instruction, and the second half of the book with the Javadoc printouts. In de

    • Re:Needed? (Score:3, Interesting)

      Harkins' Law of Dead Trees: "The same people who refuse to read the copious free online searchable documentation until they come across an unsurmountable problem will rush out to spend $39.95 on a 1000-page book containing essentially the same information."
    • Although the PHP.net documentation is excellent, sometimes their examples leave much to be desired. There is usually more than one way to accomplish something in PHP, and if you don't know what you're doing you may not know what to look for. A book can show you the best way to do things and provide examples to help you visualize real-world uses.
    • Re:Needed? (Score:2, Interesting)

      I had an argument today with someone who mocked me for printing out an email and scribbling my responses to the points before typing them up.

      I pointed out that a pen and paper have a very high resolution indeed compared to a monitor and the gui is very flexible and quick.

      Similarly, a book is easier on the eyes, very portable, well-indexed, has a consistent format and quality and probably has been better-edited.

    • Yes, but books make for better bedtime reading than websites. 1. the laptop gets *really* hot, and 2. I don't care if I fall asleep and a book falls off the bed.
  • What? (Score:1, Funny)

    by Jorkapp ( 684095 )
    No PHP sticker from ThinkGeek inside? C'mon! Theres gotta be some incentive to buy it, instead of printing the online stuff.
    • Re:What? (Score:2, Funny)

      by arcanumas ( 646807 )
      main()
      {
      printf("Jorkapp is a programmer");
      main();
      }

      Jorkapp is a programmer who does not know that this will eventually core dump because it will fill the stack.

  • Toward the beginning of the book they have a great deal of light, explanatory material as they cover the basics of PHP. As they move towards more advanced topics there is less explanation and a tighter packing of information.

    Hmm.. shouldn't that be the other way 'round? I mean, I prefer to have the easy (self-speaking) topics with a tighter packing of information and less explanation than the hard topics, where I could use all help.
  • by bc90021 ( 43730 ) * <bc90021 AT bc90021 DOT net> on Monday January 12, 2004 @01:39PM (#7953805) Homepage
    No, I'm not selling, but here [oreilly.com] is a link at O'Reilly's website.

    If you know PHP to a certain degree, this book is very useful, and presents real world examples. It is very up to date, and even covers things like PHP OOP and PEAR.
  • It really is a great book. I have both 2 and 3 editions. Yea, you can use the online PHP help, but this book is a must have for the serious programmer. I guess I'm one of those that like to have dead trees in front of me with lots of little tags hanging out the end.
  • ...you know you've been looking at FORTRAN too long.

    God, I feel like this code was carved into stone tablets.
  • Incomplete PHP5 (Score:4, Insightful)

    by TekZen ( 611640 ) on Monday January 12, 2004 @01:40PM (#7953820) Homepage Journal
    I was very excited to get a book that covers PHP5. However, since PHP5 is still changing the book leaves a lot to be desired. There is no information at all on SimpleXML, which will probably be the prefered XML handler once PHP5 is released. When I bought the book I was expecting it to be one of those books that gets worn out from use. However, I haven't touched it in over a month (and I probably bought it 6 weeks ago). I would wait to buy books on PHP5 until PHP5 is out. -Jackson [jaxn.org]
    • It covers everything in the PHP5 spec up to about a month and a half ago I think. Had to have a peek inside though, because the cover says it covers 4.x, which is clearly a misprint because it's got all the new OO stuff, SQL Lite and simpleXML stuff in there.

      on amazon. [amazon.com]
  • by mgkimsal2 ( 200677 ) on Monday January 12, 2004 @01:41PM (#7953827) Homepage
    There's a lot of people who say 'you don't need a book, the online docs are great!'. I disagree.

    *Some* books are good (although I think there are too many which repeat the same information, not enough focus on particular topics in the PHP world) and necessary because they can go into greater detail than you get from the online docs.

    "What about online tutorials?" Some are good, but having it all in one book, written by only one or two authors (as opposed to wrox-style 15 authors) can help keep a consistent presentation of concepts from beginning to end.

    I'm not saying online sucks and all books are great - many PHP books aren't all much more useful than the online docs really. But for those that try to actually teach, rather than reprocess, I think they can be more valuable over time than *just* the online docs.

    Personally, I think this 3rd edition is good, although there is, imo, too much reprocessing of the manual. You could cut 200-300 pages out of this book and not miss much of anything. What would be left is worthwhile, though. What's missing in all the reference material is details on what, if any, differences there are between PHP4 and PHP5. If it's there it's in text form, not a standard icon set to alert you of potential differences.

    BTW, I have roughly the same arguments for PHP training courses, which we teach (subtle plug). "It's all online!" isn't the best answer for everyone. Many people struggle for hours or days with some concepts with only tutorials and reference pages. Put them in a classroom where they can get immediate feedback on new concepts, and they get it much quicker. Each person learns and adapts to new information in different ways, and classroom training is appropriate for some people, whether it's "only" PHP or something else.
    • What would you say were some of the books that are good to have? I have various versions of older books on php (even one of the wrox books and, yes, it's not exactlly the one to use if you need any kind of continuaty) but am always interested in keeping up with things.
      • by mgkimsal2 ( 200677 ) on Monday January 12, 2004 @02:12PM (#7954130) Homepage
        The developer cookbook, because of the 'recipe' approach (identify problem, discuss it, show solution).

        There's an older NewRiders book by, argh, lost the name - blue/purplish spine, something like "Web Application Development with PHP". One of the first books I saw on PHP where they went into advanced concepts, and didn't treat the reader as if they knew no programming. You were walked through various business problems and shown how they were addressed, and IIRC chapters built on earlier chapters for continuity.

        Some WROX are OK, but it's hit and miss.

        Haven't read the new Schlossnagle book yet, but it looks good too (likely more internal, gutsy type stuff not just 'here's a variable' kind of thing).

        HTH
    • What you're trying to say is if you're 'learning programming', books are invaluable.

      If you're just 'learning PHP' (ie from another language before) then the online manual is plenty.

      Having been a fulltime developer using PHP for a while I'd say that the one major thing with PHP, the main reason why the PHP online manual should be used over books, that doesn't apply so much to perl/java/tcl etc. PHP breaks major functions in minor version increments, you may think I'm trolling but its the truth. One good ex
      • You're correct on the breaking stuff. What our problem has been is that generally the stuff that breaks doesn't even make it into the online manual. I'm still peeved at the way most changes are handled in PHP - they seem to have no concept of the fact that *millions* of people are affected by their actions, and carry on as if they were just hacking in their basement.
        • I'd have to agree I've found a few problems that I end up unsure if its a language issue or an fault with the way I do things.

          It seems to me that these issues seem to crop up less and less as time goes on, hopefully thats all part of PHP maturing and we won't see that kinda problem again..... *crosses fingers*
  • Namespaces (Score:3, Informative)

    by Anonymous Coward on Monday January 12, 2004 @01:42PM (#7953838)
    I've had this book for awhile, and I do agree that it is on the whole a nice book -- being in its third reprint one has to expect that. However, the book doesn't really cover PHP 5 at all. None of the new extensions such as simplexml, sqlite are discussed (just the Zend Engine 2 stuff). On top of that, the ZE2 stuff is even outdated as it talks about things like Namespaces which were removed from PHP 5.
  • is the pull between information density and a light, easily read style.

    Studies have shown that IDP occurs in only two dimensions, and is reliably influenced by other periodicals within a distance approaching three meters.

    Researchers where able, as an example, to block the IDP of a Sears Craftsman Tool Catalog with the July 1999 issue of Playboy Magazine.

    In turn, an unabridged copy of War/Peace required two copies of Lady Chatterley's Lover before the IDP succumbed.

  • Although ive not done too much with it, PHP seems to be fast becomming the de-facto standard for young programmers getting into true dynamic web development on the server.

    Personally I feel that J2EE and JSP is a more 'enterprise' technology for this kind of development with large transactional systems but the nature of PHP tends to lend itself more to the lightweight, free web development and is supported by a growing number of hosting companies (even free hosting companies).

    I do question the need for yet
    • Maybe I just have never been exposed to "enterprise" programming, but could you elaborate on why J2EE and JSP would be better for the enterprise? What do they do that php doesn't? I've heard this before, but I have not seen any solid examples. :/
      • > Maybe I just have never been exposed to "enterprise" programming, but could you elaborate on why J2EE and JSP would be better for the enterprise? What do they do that php doesn't? I've heard this before, but I have not seen any solid examples.

        Get a session to migrate across a cluster in PHP, without roundtripping to a DBMS like mysql. Non-trivial problem, even J2EE containers often don't get it right (far as I know ASP.NET doesn't even try, but that's another story).

        Got an app that causes a fatal li
        • Got an app that causes a fatal library error in PHP because of a syntax error in an include? It'll die. Silently. At runtime, i.e. when your customer is using it.

          This is a design issue, not a PHP issue. With a proper controller system (not part of PHP, but can be designed in PHP with things like LogiCreate [logicreate.com]) this is simply not true. Use a user-defined function to do the includes and have it trap the error, or dig deeper into error-handling in PHP.

          This is the result of lazy or unclued-in thinking on the
      • I simply mean that PHP is simply not designed to deal with the kind of issues that present themselves in large-scale web apps.

        Firstly it is purely a web-development language, analogous to the JSP aspect of the J2EE, of the ASP.net aspect of .net.

        J2EE (and to a lesser extend .net) do much that PHP doesnt. There is a comprehensive set of API for managing common problems such as two-phase commit over 2 databases and a messaging system. I am willing to be that PHP doesnt do that very easily, and if it does, i
  • by Anonymous Coward on Monday January 12, 2004 @01:53PM (#7953960)
    I gotta agree with the poster above.. O'Reilly's PHP Cookbook is an excellent way to sharpen your PHP skills.

    I've recently gotten back into using PHP for medium-size sites, after a brief period of hating it. I hated the security problems, the "fake" OO, the arbitrary stuff like magic quotes, the procedural functions. However, I've changed my opinion a bit: in security, you can have the PHP engine OFF and very tight in the .ini, and then make adjustments in the httpd.conf for each customer. I.e., just let them open files in their own directories. And the OO is simple but effective enough for clear maintainable code. Throw in a PHP accellerator and you've got a great environment.

    PEAR (object-oriented extension library) is pretty cool. If you've never used it, try it out: "wget -O- http://go-pear.org/ | php -q".

    And PHP5 looks great, I love the fact that it has exceptions, interfaces, and type hints, that will pretty much kill Java on the medium/small end of the scale. So I decided to start using PHP again.

    Anyway, the only good book I've seen is the O'Reilly Cookbook. They totally missed the PHP bandwagon but they redeem themselves with this one. It's clearly written, very thorough, and includes recipes of all levels. I learned a lot about PHP just by reading through the recipes. They usually present one clear way to do everything, plus make some useful discussion on performance and security when appropriate. The authors cleary understand PHP deeply.

    And the book is pragmatic, unpretentious, and clearly designed to help you get your work done, rather than present a list of "my language is cooler than yours" tricks. Unlike certain others *cough* Python cookbook *cough*. (Granted, that's also a property of PHP itself).

    So if you've got the basics of PHP (which you can glean from the PHP web site or from studying other people's code), try the O'Reilly book. It's probably the only one you'll need until PHP5 comes out.
  • When I started writing PHP apps I bought my share of books. It was great reading material when I was in the, well you know...

    When on the train going to and from work, it served as great reading material.

    When on vacation, it was great reading material.

    What does all that accomplish? Well it prepared me to better understand the online documentation when I needed to use it. Now, I easily go to php.net in order to remember what arguments or how many a function takes, etc...

    In my opinion, this is the best
  • Granted IIS is losing it [slashdot.org] and it would be nice to have another language in my tool belt anyways. I guess I should quit the MS evil developer camp and pick up a *nix based language or 2...

    It appears that this book is a good place to start, but anyone have any good intro to PHP book ideas for someone coming fresh out of the MS Camp? Also starting PHP tips and similar experiences appreciated :-)
    • Don't dread learning PHP. I applied myself to PHP last spring and, I have to say, it was refreshing and a damn lot of fun.

      --Richard
    • I started out with some Webmonkey tutorial on a simple use of MySQL with PHP. I wouldn't actually recommend whatever particular tutorial I used, as it had some bad practices (and I prefer PostgreSQL anyway). But after that, it was pretty much all right out of the online PHP manual. Often, I will reference their section on Perl-compatible regular expressions even when I'm writing them for a different language.

      Of course, if you want to learn this way, you have to have a project that you want to do. That'
    • You may want to start writing PHP under IIS -- they play pretty well together, you get a few extra windows goodies and keep using a platform you know while preparing to jump to one that may be less familiar.
  • I pretty much started out my programming career on the hot-off-the-press Core PHP book. The online documentation is good as a reference, but for someone getting started Core PHP is well balanced enough so the reader doesn't get crushed by details.

    Wore my book out...
  • Technical Writing (Score:5, Insightful)

    by JediDan ( 214076 ) on Monday January 12, 2004 @02:16PM (#7954168)
    "One of my key concerns when reviewing a good book is the pull between information density and a light, easily read style. I believe that as we get further along the learning curve we can sacrifice some readability for density -- we want more facts and less explanation."

    You've just described some of the basics of good technical writing. The basic theory of writing good technical documentation is identifying your audience and writing so not only does the document answer the audience's questions and provide usefully comprehensible information, but also refers the more literate and technical readers to more detailed sources.

    Anyone aspiring to be a writer - either professional or just notating code - should take a few technical writing classes. There's an industry that's refined the process of technical writing and there's no sense to reinvent the printing press - so to speak.
  • by waxmop ( 195319 ) <waxmop@@@overlook...homelinux...net> on Monday January 12, 2004 @02:18PM (#7954178)
    PHP appealed to a lot of people because it was very simple and had limited syntax and didn't implement a lot of complicated data types. PHP was the kind of thing a non-programmer could learn in an afternoon. You didn't need to explain regular expressions, object-oriented design, or pointers/references. PHP originally just had loops, conditional statements, simple functions, and include statements.

    But every version has added on more features. Now instead of a smooth and light templating language, people are now writing templating languages to be parsed by PHP. Gahh! The proper response to all the trolls that insult PHP by saying that it isn't a real language is not "Wait until version 5! It supports class introspection!" Instead, the PHP community should have said that PHP wasn't meant to be a "real" language.

    Now that PHP requires a 1000-page book, why should it exist? Why not use Perl, or Python, or C?

    I will say that the PHP community is a very friendly and helpful group of people. Perhaps that is because so many PHP developers were previously graphic designers, and so they still remember how daunting programming can be to learn.

    • by SmallFurryCreature ( 593017 ) on Monday January 12, 2004 @03:00PM (#7954651) Journal
      Simple.

      Perl is a great tool. But it is more of tool to use on files then a tool to create webpages. Using perl to generate html or rather bits of html is like using a fully loaded factory workshop to hammer in a nail. Overkill.

      Python. No idea.

      C? You gotta be kidding. Compiling each time you make a change to page? C would be like using nanotech to create a new material from wich you can cast a hammer to insert a thumbtack. Overkill doesn't even begin to describe it.

      PHP may have gotten big but at its heart it still does the same what it did originally. Make dynamic websites. Sure you can mess with OO a bit and a lot more in 5 but if you don't want you never need to touch it. You don't need to access any database. You don't need to use shared memory to store variables. But you can if you want to.

      Perl is often used but approaches it from the other side. Great toolset with web added on. PHP is web with a great toolset added on.

      Of course real web developers know both.

      • Perl is a great tool. But it is more of tool to use on files then a tool to create webpages. Using perl to generate html or rather bits of html is like using a fully loaded factory workshop to hammer in a nail. Overkill.

        Eh? With Perl you use what you need. Nothing beats CPAN. PEAR? not even close. And when you need something non-standard in PHP (graphics libraries?) You have to compile the whole thing again.

        Then there's all kinds of other things that you just can't do in PHP without rolling your own or t
        • That's not quite fair. For most PHP extensions, if your OS provider has a sane package structure (e.g. Debian), you simply install more packages to add more support.

          The reason PHP has caught on is because it does what a lot of people need, and it's easy enough to learn. Of course, a good argument can be made that many people are writing "applications" in PHP that have no business doing so, and unchecked input has caused many posts on BUGTRAQ. But this seems to be just as much of a problem for other lang
        • Unless using mod_perl (which requires much more work on the side of the programmer), the overhead of starting a new perl interpreter for each request can easily bring a server to it's knees..PHP is readily available already built into the apaches at almost any ISP.
          • mod_perl requires you to code properly so yeah I guess that's more work for anyone who doens't do it in the first place. Its also much more flexable and has shown to be more scalable.

            I have no problem with ISP's installing PHP for users, its great for them and it can be made relatively safe. I'm a sysadmin and I have it installed for my users, but when I'm doing a serious project I much prefer Perl if I have a choice.

            And many ISPs and other sysadmins I'm familiar with run PHPs as CGI rather than as a part
            • I'm not saying PHP should be used for everything, but if you gotta make a proof-of-concept page quickly, and don't have time for proper coding, PHP is a godsend..

              For serious projects, I agree that Perl is a much more powerful langauge for getting stuff done in.. In the past, I've done hybrid Perl/PHP sites, with Perl doing the dirty parsing work and stuffing results into a database, and a pretty, low-cpu-using PHP front-end for the users.

              This was back in the register_globals days mind you, and the reason
        • It's called HTML::Mason.
      • C? You gotta be kidding. Compiling each time you make a change to page? C would be like using nanotech to create a new material from wich you can cast a hammer to insert a thumbtack. Overkill doesn't even begin to describe it.

        Actually, C or C++ is not completely wrong for generating web content. But your point defines exactly where to draw the line. If you are writing an engine that parses some special purpose templating language of your own, C/C++ may be the right way to go. Frankly, I'd lean toward J
    • by monique ( 10006 ) on Monday January 12, 2004 @03:16PM (#7954810) Journal
      I disagree. Coldfusion is the kind of thing a non-programmer can learn quickly.

      PHP has always looked too much like shell scripting or C to be friendly to non-programmers. I love PHP precisely because it is extremely easy for a *programmer* to pick up, but has a lot of functionality with which you can improve your naive first implementation.

      My first PHP programs involved lots of calls to external apps, particularly grep and find. That ability allowed me, as a unix-tool-using programmer, to quickly hack together PHP that I could later improve. But I can't imagine picking up PHP as a non-programmer and having the first clue how to use it.
    • I am not a big fan of PHP, but there are good reasons why it has been successful where it is.

      1) A lot of people like to have code tags embedded in their HTML. You can do this in Perl with Mason, or EmbedPerl, or what have you, but good luck getting cheap hosting where you have that set up.

      2) Perl running through CGI has a lot of limitations, it is somewhat slow, you are limited in where you put scripts, etc. These are overcome by moving to mod_perl, but if you have a big server that is serving up a lot
    • Yes, and PHP has had to pay a price for that simplicity that appeals to beginners. For example, take the whole "register globals" thing. Well, it sure sounds appealing to a beginner that every field in a form is automatically a variable with the same name in the global namespace. I mean, it's so easy to just say "print $name" or whatever, right? Oh, but wait: you have to meticuously scrub all user-supplied data, otherwise you leave yourself open to cross-site-scripting or SQL injection attacks. And if
  • 'I can't claim to have read every page or run all the code examples'

    Well I didn't read the article. But seriously though, what kind of review can you expect from a reviewer who can't be bothered to read the whole book?
  • ...sometimes you can't from a book:

    "the book covers PHP5, but since PHP5 is still changing the book leaves a lot to be desired. There is no information at all on SimpleXML, which will probably be the prefered XML handler once PHP5 is released. When I bought the book I was expecting it to be one of those books that gets worn out from use. Personally I would wait to buy books on PHP5 until PHP5 is out.

    CB

  • Good book but... (Score:4, Interesting)

    by 2Wrongs ( 627651 ) on Monday January 12, 2004 @02:45PM (#7954489)
    I used this book as my intro to PHP (I've done several other languages). Overall the book was good, but I had some problems:

    1) I loved the objected oriented aspects, but was disheartened to learn most of that code only applies to the latest PHP, which isn't deployed in most ISPs.

    2) The index is terrible. Thank God the online docs are good. I've rarely been able to use the book as a reference.

    3) I'm probably being dense, but I had trouble finding the sample code online. I expected it on Prentice Hall's website or at least an obvious link. (It's on the author's site)

    I'm whining, but I really did like this book and would still recommend it.

  • I have the second edition of this book, and I'm loving it. It's great as a reference to flip through sections when you know what you want to code, but can never remember the function name.
  • This is slightly off-topic, but is there a way yet to cache a compiled version of a PHP page (e.g., ASP+ or ASP.NET) so that repeated page views of unaltered code aren't wastefully re-interpreted over and over?
  • I actually reviewed this book for PHP Magazine [www.php-mag.net] in October.
    It's supposed to be published in one of the next few issues.

    This book is terrible -- If I were to give it a slashdot review rating -- it would be *3* and that is being generous.

    Below is the hyperlink to my review:
    http://www.wizardtechnologies.net/reviews/phpmag-c pp.html [wizardtechnologies.net]

What is research but a blind date with knowledge? -- Will Harvey

Working...