Professional PHP4
PHP is an open source server-side HTML-embedded web scripting language for creating dynamic web pages. Outside of it being browser-independent, PHP offers a simple and universal cross-platform solution for e-commerce, complex web, and database-driven applications. Professional PHP4 will show you exactly how to create state-of-the-art web applications that scale well, utilize databases optimally, and connect to a backend network using a multi-tiered approach.
Almost an year since its release, this book has stood the test of time, and proved to be what it promised -- an up-to-date, advanced book on PHP -- a category in which there are very few worthwhile entries to date.
It provides a solid, fast-paced drill on the rudimentaries of PHP (although the fast-paced installation instructions come in the form of classic compendia -- worth 100 pages) for seasoned programmers, before it plunges head straight into the more advanced areas of the language. Each chapter reads a bit like a tutorial on a particular area of advanced PHP development.
If you are a competent programmer in just about any other language or have grappled with HTML before, then this book will teach you PHP from scratch . It will also introduce you to many of the more advanced areas of PHP programming, and is a treasure trove for information on diverse tasks possible with the language.
Notable topics include:
- Object Oriented Programming
- Sessions and Cookies
- Coding an FTP Client
- Sending and Receiving Email and News
- Networking and TCP/IP
- Non-Web Programming (including GTK)
- PHP and XML
- PHP and MySQL/PostgreSQL/ODBC
- Security
- Multi-tier development
- Optimisation
The code for the examples presented in the book is available for download, from the publisher's web site.
Although this book is reasonably complete, it lacks sufficient depth for experienced PHP developers who want to wade into the depths of specific PHP related tasks. Having said that, the publisher has provided information (of course at a separate cost) on specific areas with their second level PHP titles -- Professional PHP4 XML , Beginning PHP4 Multimedia Programming , Beginning PHP4 Databases and Professional PHP Web Services .
Suffice to say that the book has packed together a lot of diverse information (in 975 pages).
Related Links You can purchase Professional PHP4 from bn.com. (You may also be interested in the Slashdot review of Professional PHP XML of a few months ago.) Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Isn't this book review a tad bit late considering that PHP5 is going to be hitting the 'net soon?
(* the PHP website should be enough for anyone with basic programming skills. *)
Yes, but not everyone can afford DSL or cable lines to have instant access. And, books are often easier on the eyes than screens IMO.
Table-ized A.I.
And why do you think Java/J2EE is the best choice for an "enterprise" solution? The best choice has nothing to do with the language...it has everything to do with how the compiler/interpreter is implemented and what your developers are comfortable with...oh, and a word on portability, it is a pipedream for any application that is built for an "enterprise".
"Simon Says, Fuck You" - George Carlin
He said maintainability and design.
PHP vs Java when it comes to design isn't a contest. Java has much better built in OO than PHP.
Maintainability depends on how it is written, regardless of language.
I'd argue that the things to have for an enterprise site is how well you can design the language, how fast the pages run (including DB hits, etc), and how quickly it can be written.
Using the "what your developers are comfortable with" is what developers tell their bosses when they don't want to learn a new language. What if all your developers are comfortable with assembly?
(* Designing server based database apps is easy *)
If you mean data input and query screens, I have to take some exceptions to that. Simple stuff is indeed simple in web apps. However, B-to-B and intranet managers often want GUI-like behavior from browser-based apps, and HTML+JS+DOM can turn into a tangled mess under such demands.
The developer cannot just say, "well, this is an HTML browser, not a GUI, so it will not have all the functionality of a GUI", because that would be a half-lie. With enough effort and spahgetti code, you *can* make it do GUI-like stuff, but the code is usually horrible. The current standards are optimized for e-brochures, and NOT e-biz-forms.
What is needed IMO is HTTP-friendly GUI browsers, using protocols like XWT and SCGUI (I'm still looking into Mozilla). (I rule out non-HTTP protocols because fire-walls often don't accept them. Some protest this, but I don't want to rekindle that debate here.)
There is a huuuuuge need for such in my observation, and no vendor is stepping up to the plate. PHP could still serve as the server-side part of such a system, BTW.
Table-ized A.I.
I agree. That's why we did a rough port of DBI to PHP for my workplace PHP environment. It's amazing what you can do when you actually sit down and write code, instead of bitching about something not being able to do x.
Chris Tembreull
"My karma just ran over your dogma."
PHP is not a be-all language, and it'd turn ugly quickly if they tried to force it to be one.
... debate, because I haven't done enough development in most of those languages, but I don't understand people who dismiss PHP off hand as being "only for rinky-dink personal websites".
I don't think the PHP developers have any real intention to try and force it to be. However, besides using PHP for scripting web site db-driven apps, i've also found PHP (compiled as a cgi app) to be useful for writing scripts to be run by cron that need to easily tie in to the same database that runs the web site. I probably wouldn't try to write GTK apps in PHP, but building scripts that are not web-driven (but that interact with a web-driven system) in PHP (instead of say perl) has been handy, they can tie into your existing libraries and code.
I can't really weigh in on the whole Java vs. Perl vs. PHP vs Python vs ASP vs
PHP isn't perfect, but it is fast, stable, feature-rich, and easy to develop web apps in. It certainly has its place in the toolbox, IMNSHO. The biggest thing lacking right now is good OO support. Right now it's clunky and sloooow. Zend 2.0 (when it's ready) should make great strides forward.
"When I was in school, I cheated on my metaphysics exam: I looked into the soul of the boy sitting next to me"
Then they should download the downloadable documentation.
Having never previously used PHP, the documentation here was actually more useful to me than the previous Wrox book, "Professional PHP Programming." But it's best as a reference, if you haven't done dynamic web programming before, you'd do quite well to invest in a wrox book, as I find them to be well geared at bringing you up to speed on a subject, and then serving as a good reference book.
Slay a dragon... over lunch!
I know there are accelerators out there, but most people not know about or use them. Plus I really can't see the harm in including a accelerator in the default engine. Does anyone know why it is not included? There are open source accelerators that can be distributed with PHP.
Many scripting engines eg. Cold fusion, JSP, compile code only the very first time the code is executed since the module was started, then only check to see if the code was changed on disk before executing the already-in-memory code.
Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
Actually it has "pretty good" OO.
..
If I' had modpoints right now, I'd mod this up as "funny"
Any C++ or Java Developer will loose his hair (I he has any left) when reading things like this or this
(the later has nothing to do with oop)
I have seen and heard about tons of problems, often political, of getting firewalls to work. One place had about 100 customers. The went HTTP because there were to many complaints about diddling with fire-walls.
It is more "accommodating" to change your system to use HTTP than to ask 100 customers to play with their firewalls (and hire real firewall experts).
Table-ized A.I.
The links you point out all refer to the fact that php does not act exactly like C++ or Java. Once you actually learn the way php works those particular things don't bother you anymore.
Yes php does not work like C++ or java I don't think anybody is arguing the opposite. I suppose lisp, smalltalk, ocaml, python and perl also don't work like C++ or Java. That's life.
On the other side neither C++ nor Java allow you add methods or attributes to objects at runtime and PHP does. Maybe that's a good thing, maybe not, but I like it and whenever I use a language like java It makes me loose my hair when I can't do it. You have to take each language as it comes.
War is necrophilia.