Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



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

PHP4 Web Development Solutions 107

honestpuck writes "Wrox Press seem to have become masters at putting together volumes from a large number of authors. This 600-page volume is another example. This way of working does have some drawbacks, there is a little repetition of some basic stuff throughout the book, but not enough to truly detract from it." Read on for the complete version of honestpuck's review.
PHP4 Web Development Solutions
author Raj Kumar Dash, Bryan Waters, Alison Gianotto et. al.
pages 601
publisher Wrox Press
rating Fair
reviewer Tony Williams
ISBN 1861007434
summary Mid to high level exposition of web site development in PHP

In brief:

The book, after some expository material, details 11 projects of increasing complexity. They use PHP, MySQL, PEAR::DB, Smarty and PHPLib. The target audience, according to the book jacket, are programmers who already have a good knowledge of PHP, SQL Databases and XML. Frankly, I think they overdo the amount of experience you need to use and benefit from this book. If you are on top of all those topics well enough to consider yourself "professional" then this book may be too simple. If, on the other hand, you are, like me, conversant with PHP and SQL but would like to take yourself up to "professional" use of technologies like XML, templating and WAP enabling then this book will be good.

What's Good About This Book

The book is stuffed full of code examples -- and while you can download them in a ZIP file of over 3Mb you shouldn't think of this book as a "cookbook" as such. It shows various methods for performing most of the tasks you need to build solid backend web site systems to deal with a large variety of data. The projects cover importing and exporting of XML, messaging systems, forums, content management, using templates for both HTML and WML, search facilities and both simple and complex content management among other topics.

The projects are well designed. I'd have to say that among the 11 projects most web site requirements are covered somewhere. The code is well engineered and some thought has gone into making it readable, understandable and useful. The explanatory material is well written, if too short.

One thing I did appreciate about this book is how much they left out. No coverage of PHP fundamentals, SQL fundamentals and simple stuff like web forms might be covered once, at most. I certainly didn't need another book on my shelves explaining the basics.

What's Bad About This Book

My largest criticism of this book is one shared by too many modern titles for computer programmers; there is too much explanation and too much repetition. The section on SQL is the perfect example. Most projects contain some tables describing each database table, a diagram of the relationships and then the full SQL required to build them, their indices and some example data. For their proposed target audience this is way too much information, and as it is safe to assume that everyone who buys this book has a decent 'net connection, why put a printout of SQL available online in a PHP book? I could have easily written the SQL myself and having it in the book doesn't make it much easier and since it was available online it was a total waste of space.

I also have to take exception to, an (admittedly short) chapter devoted to installing and configuring PostNuke. It gives you no more information on this simple task than the online documentation. As someone who has installed PostNuke a couple of times and never needed any assistance beyond the readme files (and the first was long before I considered myself a good PHP programmer) I felt this was a complete waste of space and not "web development" at all.

My final criticism is once again shared by too many modern titles, there isn't really enough discussion of the design decisions and complications. There are enough code examples and walk throughs to satisfy anyone, but not enough key design decisions are discussed at all, with only a few short examinations of any real design problems. I would have appreciated some walk throughs of such things as code that was too slow, problems with race conditions, methods for mixing static and generated parts of a site and all the real world stuff that intrudes when your site gets slashdotted and that code that was so neat with a hundred visitors a day becomes a thousand. Then show how the code they provide is better, avoids the problems and how to get my code to the same state. Since this book is "professional" a little more real world, please.


You can purchase PHP4 Web Development Solutions 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.

PHP4 Web Development Solutions

Comments Filter:
  • by Anonymous Coward on Tuesday March 11, 2003 @12:35PM (#5485081)
    I highly recommend that prior to buying this book, you go to the Wrox web site ... to preview the sample chapter. I found that I simply did not like the style of the book. It's "dive-right-in" approach of giving you a bunch of case studies, where each chapter outlines their approach to a particular problem, complete with source code, but with little explanation of techniques. You must register your book before you can download the source to the example code from the Wrox site. I also didn't like the heavy use of the Smarty template engine either. Simply put, I prefer the incremental approach like that of found in other books like "Web Database Applications with PHP & MySQL", by David Lane and Hugh Williams.
    • I don't disagree with you there. I'm not a big fan of Smarty either, but I *do* think that most of the examples can be pulled out of the Smarty syntax fairly easily. Just my opinion. ;)
    • I went to wrox and grabbed not only the code for this book but also for every other PHP title they publish. All without registering. Yes, they do ask you to register but it does not appear to be a requirement yo get the code itself.
    • I happen to rather like the "dive right in" approach in books. The way that I have to do projects at work is one at a time, and I learn by doing, which I find to be the best way to learn.
      Examples in books are a damn good way to learn, you get to look at the whole picture, and wrap your head around it all at once.
      I learned my basic knowledge of PHP from a SAMS Learn PHP in 24 hours book, and it taught me the basics, and I may end up grabbing this book to work on the site at my place of employment.
      It's going to be a dynamically generated page, with different looks for the different owners after login, with a secure connection to the valid information they need to access (sales,costs, etc) and php is going to be the way to go, with the information served generated by perl.
    • I agree, I don't like the wrox style either.

      Being a sad php-geek, I buy pretty much all the PHP books which come out, but the ones I use the most are the O'Reilly ones, (partly because they are written by the PHP team).
      However the best one [IMHO, IANAL etc] for learning and as a reference is the one by Atkinson, by Core [amazon.com].
      Well edited, with well thought out examples.

      If you can hold out, PHP5 is not that far off.
      • True it isn't that far off, but the PHP5 Books will likely wind up covering the big changes that are coming with PHP5, specifically OO advancements and changes - so it certainly doesn't mean that any PHP4 books you pick up are going to be "obsolete". There is still tons of stuff that *isn't* going to change.
  • Wrox Rocks! (Score:1, Insightful)

    by Anonymous Coward
    Seems Wrox is going great with PHP titles with pretty good collection coming one after another! Being into web development myself, this book has come as a great relief. It has given functions and methods with ready to use solutions. Could actually put them to use modifying them, plugging them in various applications. I only wish they had spent more time on procedural enhancement with static type analysis verification.

    A must have for the Web Developers / Designers!

    --Paul
  • Your slashdot-affiliate-bn free link for buying the book.

    http://search.barnesandnoble.com/bookSearch/isbnIn quiry.asp?ISBN=1861007434 [barnesandnoble.com]

    Anarchy!
  • Php? (Score:3, Funny)

    by cmburns69 ( 169686 ) on Tuesday March 11, 2003 @12:38PM (#5485113) Homepage Journal
    PHP Wrox!

    An Online Starcraft RPG? Only at [netnexus.com]
    • Why is this marked Offtopic?

      It is absolutely ontopic, and funny at the same time.

      ps. The whole message is 2 words, the first mentions PHP and the second mentions Wrox, there is no way to be more ontopic than that.
  • Honest Question (Score:4, Interesting)

    by evronm ( 530821 ) <evronm@dtcin c . net> on Tuesday March 11, 2003 @12:39PM (#5485122) Homepage

    I've been using Perl and XSSI for all my active web page content for a couple of years now. Is there any compelling reason for me to learn PHP?

    I really don't want to start a flame war here, but what are the advantages of PHP over the Perl/XSSI combo?

    • Re:Honest Question (Score:5, Informative)

      by Enry ( 630 ) <enry@@@wayga...net> on Tuesday March 11, 2003 @12:51PM (#5485220) Journal
      It's personal preference at this point.

      When PHP first came out, Perl was the swiss army knife of programming, so I could tie perl, our remedy server, and the web server together and do online reports.

      As time went on, it became a bit more cumbersome to work with perl. Mostly because of figuring out how to deal with mod_perl and debugging scripts. I'll admit it - I'm a generally sloppy programmer (which is why I don't do it full time).

      PHP gives me a bit more flexibility. It's also becoming a swiss army knife, allowing me to tie a bunch of applications together. But due to the (sloppy) way I code, PHP is better suited to me.

      A few years ago I had arguments with a friend over Perl or Python programming for the web. I argued perl, he argued python. At about the same time, we both saw PHP and didn't look back.
      • I have a kind of opposite experience. I started with perl, then tried out php and I disliked it. My main complaint is limited libraries. Of course I use perl for all sorts of other things (besides web fluff) as well so maybe that puts a bias on it.
    • Re:Honest Question (Score:1, Interesting)

      by Anonymous Coward
      PHP is designed more for database applications, although it can be extended (like Perl) to do a lot more. The routines PHP uses for database management have been thoroughly refined and optimized to achieve maximum speed. I believe it is generally accepted that for databasing, using PHP will result in faster, more streamlined, and smaller code. Obviously, your needs may vary.
      • Re:Honest Question (Score:2, Interesting)

        by czth ( 454384 )

        PHP is designed more for database applications

        No, PHP was designed (and I use that term loosely) to make dynamic web pages, and the database functions were - like most of PHP - thrown in as an afterthought, unlike perl's DBI [cpan.org], which was designed to be OO and have a consistent interface.

        although it can be extended (like Perl) to do a lot more. The routines PHP uses for database management have been thoroughly refined and optimized to achieve maximum speed

        That's content-free. All languages can be extended, even Visual Basic, and they all (except perhaps INTERCAL) claim that their libraries have been "thoroughly refined and optimized to achieve maximum speed." Of course, some do better than others (see Doug's shootout [bagley.org]).

        I believe it is generally accepted that for databasing, using PHP will result in faster, more streamlined, and smaller code.

        And I believe the earth is flat, but it isn't. Or, BZZZT, WRONG (zero for three)! And databasing? PHP isn't neither particularly fast nor compact.

        Sad but true: PHP sucks [czth.net]. It's a half-assed attempt by some lame twits to make a programming language for non-programmers, which is sort of like trying to make a car for non-drivers. Whether they succeeded or failed at that goal, we all still lose, because of the horrible proliferation of all the crap PHP scripts on the world.

        Dijkstra would probably revise his famous quote for PHP's benefit to: It is practically impossible to teach good programming style to students that have had prior exposure to PHP; as potential programmers they are mentally mutilated beyond hope of regeneration.

        czth

    • Re:Honest Question (Score:2, Interesting)

      by daperdan ( 446613 )
      You be the judge for your application.
      If you haven't seen this report you should take a look at it:

      http://www.bagley.org/~doug/shootout/

      This site compares many of the modern languages. PHP really doesn't fare well in this test. Of course, PERL doesn't prove to be the top of the heap either.

      Ultimately, I think the most important thing to look at here is lines of code required to do the job. Execution time continues to be less of a concern as processor speeds increase and hardware tends to be cheaper than man hours. (Unless you work in a sweat shop in a 3rd world country.)

      There's no one language that adresses all problems.
      • by B3ryllium ( 571199 ) on Tuesday March 11, 2003 @01:33PM (#5485567) Homepage
        <i>"There's no one language that addresses all problems."</i>
        Maybe we should turn it into a competition, then. THERE CAN BE ONLY ONE! :)

        Also, you might want to read this for fun :) [burningbird.net]
      • Lines of code isn't necessarily the right way to go either. I've seen people do things in 1 line of perl code that would take much longer in another language. The problem is that the 1 line of code was to convoluted, to obfuscated, so that it was more difficult to maintain. Whereas doing it the "longer", "inefficient" way actually leads to more understandable code in the long run, which is easier to maintain.

        Execution time is still a factor, even as processor speed increases because the hits on the page will hopefully increase.

        What I find interesting in the debate between perl and php is that for security, many sites allow perl scripts only from a cgi-bin but php pages from anywhere. Both can run arbitrary system commands with ease, so the security division is somewhat artificial.
    • Re:Honest Question (Score:2, Insightful)

      by cmburns69 ( 169686 )
      I have not seen an unbiased answer to this question that has convinced me one way or the other. I use both on my site [netnexus.com], all my new projects are PHP because its quicker, but mod_perl can be extremely powerful with the persistance of its threads.

      To sum up, I don't believe an unbiased comparison is possible, and both PHP and Perl are fairly equal as web-scripting solutions right now.

      An online Starcraft RPG? Only at [netnexus.com]
  • by Lothar ( 9453 ) on Tuesday March 11, 2003 @12:42PM (#5485140)
    Quote from review:
    "For their proposed target audience this is way too much information, and as it is safe to assume that everyone who buys this book has a decent 'net connection, why put a printout of SQL available online in a PHP book"

    Sometimes its very handy to have things written out in detail. Sometimes you appretiate the extra information given. If you're already browsing through the book you don't want to be interrupted and browse the web to find information. I presume that without the extra information the book would just be smaller.

    • I agree. Its a no-win situation. If Wrox put the code ONLY on the online version and not the book, it would get a whole new group of people annoyed about that. Can't please everyone, so its best to err on the side of caution. Additionally, the bit in the review that mentions the target audience is another one of those situations. If there were less information provided, people who believe themsleves to be strong in PHP but need *more* info would get upset. As it is, on the amazon reviews, at least one person was complaining that it didn't give enough information.
      • Not wishing to flame but I thought I might give a little more information on this subject.

        I was objecting to such things as putting all the database information into the book in more than one way and then providing all the SQL code to create the tables and indices.

        This is a book on PHP not SQL. They could have indeed used the space to explain more about PHP, if required. It would have been far more useful if they had spent that space explaining some of the design decisions.

        While I agree that the publishers are damned if they do and damned if they don't I believe that a book about PHP for professionals can safely leave out SQL table creation code.

        Tony Williams

        • I totally understand your point (and I don't think it sounded like a flame) - however I know I would get annoyed if I was trying to read through a chapter and had to keep referring to something else in order to see what they mean. (Even if I don't immediately *need* the sql code to create the tables as I'm reading, it does help me understand more about the table.) Its really a matter of preference, I think. Same thing with writing style (conversational vs dry) and learning approach ("jump right in" vs. "hold my hand"). I don't even necessarily disagree with you to be honest. I suppose it would really depend why I was reading the book. If I needed to solve a specific problem quickly, I'd already be sitting next to my computer and online. If I was just sitting back for a cozy night of reading to broaden my knowledge (and I have done that with technical books, sad to say) I would be irked by not being able to *see* it right then.
  • After a rough check, I'm still clueless. What PHP version does this book refer to? (PHP 4.3.0/.1 still smells like new). In those days, paper always suffers actuality.

    Blessings and ethernal love for everybody who eventually enlightens me in this matter. :)
  • Other choices.. (Score:4, Informative)

    by gmuslera ( 3436 ) on Tuesday March 11, 2003 @12:48PM (#5485193) Homepage Journal
    Maybe there are not match exactly this book, but they look good

    Both have at least good reviews (I have the 2nd, and I like it a lot). Not sure how them compare against the one of the article, but at least with fewer authors they don't have so much repetitions.

  • I own the PHP Bible (not the newest one), so here's a question: what reasons would you give me for buying this book and ditching the PHP Bible?
    • I can't help you. How could I? You're obviously smarter then I am... I couldn't give you any advice
      BTW: I like your sig :-)
  • by mgkimsal2 ( 200677 ) on Tuesday March 11, 2003 @12:56PM (#5485257) Homepage
    I see Wrox is turning up the heat on the PHP book market, and while I understand there are many costs involved in publishing, these larger books are, in many cases, not cost effective.

    Wrox has a PHP string handling book coming out, as well as a few others, in the 250-300 page target range. However, I have a feeling these will still be $40+. I'm not sure if Wrox is heading towards ebooks or not, but topics like these deserve to be $15 ebooks, not $45 hardcovers.

    PHP has numerous books covering different topics, a professional support organization [phphelpdesk.com] and training courses [tapinternet.com]. (subtle plugs!) What's next on the horizon?

    I see the publisher of phparch.com [phparch.com] (good magazine!) has an early PHP->C converter which speeds up code dramatically. Umbrello is a UML modeller for KDE which generates PHP code. I saw refernces to a PHP/Tk/DHTML project, but forgotthe link. Any other cool PHP things people know about?
  • Comment removed (Score:5, Informative)

    by account_deleted ( 4530225 ) on Tuesday March 11, 2003 @12:56PM (#5485258)
    Comment removed based on user account deletion
    • I wouldn't say totally obsolete, no. Much of what's in a PHP 4 book will be totally applicable to PHP 5. Much like PHP 3 books are still applicable to PHP 4. Sure, things get changed and added and such with each rev of the language, but the vast majority of concepts don't get totally obsoleted each time. To do so would be suicide for the project: the people who will work with PHP 5 are the same people who are working with PHP 4 now, and many of those are the same people who used PHP 3.

      • Re:PHP 5? (Score:2, Interesting)

        It depends. PHP 5 will be a step forward for OO developers. We are working on a UML module for PHP (4 at the moment) here, and I think the differences are noticable (and are causing us a couple of problem in areas like PHP parsing).
      • Re:PHP 5? (Score:3, Informative)

        by chrisseaton ( 573490 )
        Actually when they removed automatic setting of get and post variables they broke a ton of PHP 3 example code, and I think it stumped a lot of people with PHP 3 books working with PHP 4.
        • Sure, it did, but then you would just need to look at the docs (not that anyone would actually RTFM :-P) and determine for yourself what changes you need to make PHP3 code work on PHP4.

    • The online info is a bit problematic for modem users. Either you have to keep dialing back in, or download the off-line version. However, I found some problems with the off-line version. For one, it does not include the member comments, and second, some pages are formatted poorly such that you have to scroll left and right to read them (unless you have a big monitor).

      There is a longer version that may include the comments, but it would take forever to download, and one doesn't really know what the difference is until one downloads it.

      Further, paper is still easier on the eyes than screens IMO.
  • Good Review but... (Score:5, Informative)

    by RedWolves2 ( 84305 ) on Tuesday March 11, 2003 @12:58PM (#5485271) Homepage Journal
    I think this is good review, better then most that appear here. I think one thing that was left out of this review is more of what is covered in the book. What exactly are you getting? Code examples from projects like PostNuke? What kind of code sample are there? I guess the answer specifically wasn't answered as to what exactly is in the book. I think that kind of information could of been provided into the review without going beyond what a review should cover.

    It is nice to see a review of a Wrox book on slashdot. Many review of Wrox books are always about how it is difficult to read because of the many authors that have a hand in the book. Sounds like a well written book maybe even good enough to buy [mediagab.com].
    • by revscat ( 35618 ) on Tuesday March 11, 2003 @01:14PM (#5485377) Journal

      I consider my library to be analogous to a carpenter's toolbelt: each book in my library is a tool. How useful the tool is is generally indicated by how often I open up the book to find an answer to a question. I rarely find myself referring back to Wrox books. There are other publishers - namely O'Reilly and Addison-Wesley - whose books I do find myself returning to, over and over. The difference in quality is large.

      Wrox books are, in my experience, hastily thrown together collaborative works that do me little good in my day-to-day activities. Your mileage may vary, but I've steered clear of Wrox for the past several months, and I haven't suffered at all.

      • I tried following this credo but I've found that even O'Reilly can make books that suck (rarely... but the Windows 2000 Active Directory book, for example, was *crap*)

        On the other hand, The Java2 SDK 1.4 book by Wrox press was brilliant for starting out in Java.

        I think it makes more sense not to become fanatic about cartain publishers... but rather with certain authors. (Well not *fanatic*... but you know what I mean)

        Authors that are definatly on my 'watch for books by them' list are:

        Ivor Horton (Wrox)
        Robert Lafore (SAMS)
        Cathrine Paquet (Cisco Press) (...yes, that's her real name :)
        Jeff Doyle (both Cisco and Juniper Press)

    • The list of items covered is on the Wrox press page for it here [wrox.com].

      Creating an association directory using XML markup and MySQL

      Creating a web forum using PHP with MySQL and PEAR::DB

      Building a PDA/Wireless store directory application using PHPLib

      Creating a job board using PHP, WML, MySQL, and Smarty

      Building a news service using PHP, MySQL, and Smarty

      Creating a web corpus using simple PHP scripts

      Building a classified ads board using PHP with MySQL, and Smarty

      Building content management systems using PHP, MySQL, and XML

      Building a search engine for dynamic sites PHP, MySQL, and PHPLib

      Building a three-tier, multi-client, wireless data warehousing application

      Creating a PHP/MySQL based data repository

      Building a robust site architecture using the PostNuke CMS

  • For certain series of computer books, they also have the Expert level. Are you sure your audience level guideline is the same as Wrox?
  • I'm kind of curious about doing XML in PHP. I took a look at some online docs a while back, but it never sank in. Maybe I just need a decent book to sit back and read :)
  • Every week I see a new php book, about "profesionnal php", "php and mysql", "web apps with php"...but I'm not really sure that developpers need to buy books to learn php. I see no feature of this language, that need to be explained in a whole book.

    ALL is in the online documentation [php.net], which is pretty good. More : php5 will soon be here...with that time, many new features (better OOP ie).

    Ok, leave me alone now ! I need to concentrate, as I'm writting a "learning php5" book :)
    • Well, books generally deal with the a whole situation, rather than just an isolated function. They allow you to see how an app is put together and (hopefully) some of the logic that goes into the decisions that are made during that process. I agree that the php.net docs with user comments are a tremendous resource, but there are times when a developer might like to see a bigger picture too.
  • why any book? (Score:3, Informative)

    by awing0 ( 545366 ) <adam AT badtech DOT org> on Tuesday March 11, 2003 @02:06PM (#5485844) Homepage
    PHP isn't exactly a hard language. I learned it from the online docs at www.php.net and if I had a hard time with a function used google with keywords "function example". I know a lot of others that have done this too.

    PHP is also a rapidly developing language, as usually any computer technology is. Print copies will always be chasing it.
  • I used to be a huge fan of Wrox books.. my bookshelf is filled with many of their older "big red books". One of my favorite technical books ever is their Professional SQL Server 2000 Programming book.. but it was written by ONE author -- Robert Vieira. The books chapters flow smoothly, the author is well-informed, has a great way of presenting the information (much like a conversation) and the book overall is a pleasure to read. Wrox's newer books, including the one reviewed above, have too many authors. They are often disjointed as each chapter is written by one author. "Too many cooks spoil the broth" applies here so well. I've moved on to a new favorite publisher -- Addison-Wesley. Their books are often more advanced and although they are often used at Universities, their books are written very well and aren't too "textbookish". I find that Dietel Press and O'reilly are too textbook-like. I used to love Wrox's conversational style of writing that most of the authors had..but its just not the same. Some of Wrox's reference books are well written and have many authors that created the book, but they are just a reference. You don't need flow. In conclusion (;) if I need anything other than a reference, I'll consider a Wrox book if there are one or two authors..but anything more than that, and I'm looking more closely at Addison-Wesley, Apress and Morgan Kaufmann.
  • I'm setting up a PHP-Nuke [phpnuke.org] bulletin board system for a client who has specifically requested the solution be PHP based. Does anyone know if this book discusses PHP-Nuke, whether directly or indirectly? (Side question: does anyone know any good PHP-Nuke documentation out there--I don't seem to find a lot.)
    • It sure does - Chapter 14 explains the installation and configuration of PostNuke, iirc. (As for your side note - not a clue. :) )
    • If you had even bothered to read the review you of noticed that the reviewer mentions that the book explains how to setup PHP Nuke.
  • Someone want to recommend a book for the less uninitiated regarding PHP and SQL? There was a review for one a few weeks back, but the edition was really old. I believe a new edition was due soon, but of course I can't find the thread now.
  • Wrox Press seem to have become masters at putting together volumes from a large number of authors.

    I have always hated Wrox books and never known quite why. The pictures of all the people on some of the covers are kind of cheesey, but I had never put two and two together.

    I just can't stand the way they are written. Tech books usually are usually of two varieties; reference or tutorial. Wrox books don't fit either of those descriptions, and usualy (both times) I make the purchase decision after reading a single chapter in Barnes and Nobels and found useful for a specific problem I need to solve. The book after that is not only useless, but I get frustrated when I need information from them.

    -Pete
  • Wrox books seemed to be aimed at "the professional" who already has some prior knowledge/experience on the topic. That's what makes them a smaller player than OReilly's where you would probably find a book for all occasions. However, for an authoritative guide, I would refer to either Wrox or OR. The Wrox guys are missing out on large markets like operating systems, but then I guess its their business strategy or whatumaycallit.....
    OR is the Perl master, would Wrox be the php master?
  • I have used Smarty for a while before I realized it's a totally unnecessary tool. PHP *is* a templating language already. Instead of loading a Smarty template, just include a php script. You can very easily rewrite Smarty-syntax templates to plain PHP.

Understanding is always the understanding of a smaller problem in relation to a bigger problem. -- P.D. Ouspensky

Working...