stargeek
PHP news website logo.
home    PHP scripts    articles    seo tools    links    search    contact    shop    realtors


Review: Advanced PHP Programming







Review: Advanced PHP Programming

Review: Advanced PHP Programming 04/09/2004 03:58 PM

Reading Advanced PHP Programming by George Schlossnagle feels like looking into the mind of a true PHP guru. I know George has an intimate knowledge of the PHP internals and Zend engine, and is an expert on PHP performance tuning. The book also covers PHP5, and most of the examples are in PHP5.

Like most of the best gurus, George has a clear style and direct approach. For example, in the chapter on templates, he says of Smarty:

Smarty is one of the most popular and widely deployed template systems for PHP... Smarty has a good bit of bloat that I think is best left alone. Like many template systems, it has grown in a number of ill-advised ways that allow complex logic to appear in the templates. Of course, features can be ignored or banned on the basis of policy.

And he writes about PEAR:

Throughout the book, I use a number of PEAR classes. In both this book and my own programming practice, I prefer to build my own components. Especially in performance-critical applications, it is often easier to design a solution that fits your exact needs and is not overburdened by extra fluff. However, it can sometimes be much easier to use an existing solution than to reinvent the wheel.

The range of technologies covered is very wide, including Templates, Caching, Databases, Sessions, RPC, Server Farms, Proxies, Benchmarking, Profiling, and Zend Internals. All the parts I read show George has spent a lot of time thinking and designing technologies in these areas. His discussion on performance tuning PHP is particular good. In many places, I can remember going through the same blind alleys he went through. At the end of each chapter, there is a further reading list - nowadays one book is never enough to cover everything. I also have a feeling that George is careful to write about areas in which he has the appropriate expertise. For example, I did not see any reference to PDF or GD usage in the index or in the text.

Another thing I like about Advanced PHP Programming is that it is not merely a discussion on advanced PHP technologies. There are several chapters on design; these include chapters on PHP coding styles, design patterns, unit-testing, CVS and packaging, designing APIs.

In conclusion, this book is a one of the two best books on PHP i have ever read. The other book is PHP and MySQL Web Development by Luke Welling and Sarah Thompson, which is an excellent introduction to PHP and MySQL. Both books complement each other. Highly recommended.




This is a GrokNews Entry: (what is grok?)





Similar Items

Review: Advanced PHP Programming

Grok Headline matches for Review: Advanced PHP Programming

Slashdot.org: Advanced PHP Programming
Review


Slashdot.org: Advanced PHP Programming
Review
06/25/2004 08:38 AM
Over on Slashdot.org there's a new review of the George Schlossnagle book - Advanced PHP Programming.

Advanced PHP Programming


Advanced PHP Programming 06/24/2004 04:27 PM

Advanced Unix Programming, 2nd Ed.


Advanced Unix Programming, 2nd Ed. 04/29/2004 04:22 PM

Advanced Unix Programming, 2nd Ed


Advanced Unix Programming, 2nd Ed 04/29/2004 09:57 PM
Slashdot Apr 30 2004 1:09AM GMT

Dynamically Typed: Advanced PHP
Programming


Dynamically Typed: Advanced PHP
Programming
06/04/2004 09:00 AM
On Dynamically Typed today, there's a new review posting from Harry about the George Schlossnagle book "Advanced PHP Programming".

Advanced Python network programming


Advanced Python network programming 02/17/2004 10:41 PM

Understanding Network I/O, Part 2 by George Belotsky (via The Farm) is the best tutorial on the subject of network programming I've seen yet. It provides a detailed explanation of simple threaded network clients, thread pools using the Queue module and asynchronous I/O using both Twisted and Python's asyncore library - then discusses the strengths and weaknesses of each approach.

I've also just noticed that O'Reilly provide RSS 1.0 and Atom feeds for each of their authors. Neat.


Advanced PHP Programming: George
Schlossnagle


Advanced PHP Programming: George
Schlossnagle
06/03/2004 06:50 PM
SitePoint, Australia - 1 hour ago ... with a high traffic site) but even if you're not able to put everything it offers into practice, there's a ton of ammo to fire back at that Java developer who ...

DIRECTV Announces Plan to Launch Next
Generation Satellites to Provide
Dramatic Expansion of High-Definition
and Advanced Programming Services.


DIRECTV Announces Plan to Launch Next
Generation Satellites to Provide
Dramatic Expansion of High-Definition
and Advanced Programming Services.
09/10/2004 01:42 AM
DIRECTV Announces Plan to Launch Next Generation Satellites to Provide Dramatic Expansion of High-Definition and Advanced Programming Services. Translation: Spaceway failed before it got off the ground (literally).

Book Review: Programming PHP


Book Review: Programming PHP 09/09/2002 08:34 AM

Slashdot: Review of "Core PHP
Programming"


Slashdot: Review of "Core PHP
Programming"
01/16/2004 10:58 AM
On Slashdot.org a new book review has been posted for the third edition of the "Core PHP Programming" book from Prentice Hall publishing, written by Leon Atkinson with Zeev Juraski.

php traveller: Review of Core PHP
Programming


php traveller: Review of Core PHP
Programming
12/02/2003 01:36 AM
In a return from a hiatus, php traveller has posted a new review of the book Core PHP Programming, 3rd Edition.

Mini-review: Programming PHP by R
Lerdorf and K Tatroe


Mini-review: Programming PHP by R
Lerdorf and K Tatroe
08/05/2002 10:44 PM
My company has a subscription to the Safari online library. This is a collection of the best computer books by several publishers, including O'Reilly, Sams Publishing, MT converted to HTML pages. Every month, you get to choose a new set of books to subscribe to. This month, I subscribed to Programming PHP.

I browsed through the chapters that interested me, and this book is a wonderful introduction to PHP. It strikes an excellent balance between introductory material and advanced stuff. For beginners and intermediate users, highly recommended.

"zeldman.sassy2"

Software Review: Advanced Web Ranking


Software Review: Advanced Web Ranking 12/17/2004 06:34 PM
The strategy of obtaining high search engine results for a Web site is known as search engine optimization (seo). Once you've selected and implemented your keywords, you need to be able to track them, which could be a time intensive process. Enter the Advanced Web Ranking (AWR) application, a program created for that very purpose. By Lee Underwood. 1108

Review: Advanced Spam Manager Attacks
Viruses, Spam For Exchange, Notes


Review: Advanced Spam Manager Attacks
Viruses, Spam For Exchange, Notes
03/27/2005 12:35 PM
Information Week Mar 27 2005 3:25PM GMT

Hey, nice review , why dont you review
T630 and k700i the latest offering from
SE


Hey, nice review , why dont you review
T630 and k700i the latest offering from
SE
07/08/2004 01:49 AM
TechTree Jul 8 2004 5:42AM GMT

ZH2004-02SA (security advisory): PJ CGI
Neo review (NeoBoard review) Remote
arbitrary file retrieving


ZH2004-02SA (security advisory): PJ CGI
Neo review (NeoBoard review) Remote
arbitrary file retrieving
01/01/2005 04:55 AM
ZetaLabs (Jan 29 2004)

Waterfield Mac Mini SleeveCase Review +
VertiGo and Cablebuddy Review


Waterfield Mac Mini SleeveCase Review +
VertiGo and Cablebuddy Review
04/06/2005 02:46 PM
Waterfield Bags launched a SleeveCase designed specifically for the Mac Mini within weeks of the official Apple announcement. In its default configuration as I received it, the SleeveCase is merely what it claims to be, a case into which a Mac Mini will fit. However, Waterfield offers a configuration with a detachable shoulder strap. (read the review) This makes it very comparable to the eM2 bag we reviewed a few weeks ago...


Review: Review: XAMPP--An Apache Server
Stack


Review: Review: XAMPP--An Apache Server
Stack
06/17/2005 04:24 PM
"The cornerstone of most open source application serving is the ubiquitous LAMP (Linux Apache MySQL PHP/Python/Perl) stack. Yet it's not always as easy as you'd expect to get all the elements of the stack properly installed and working together. Enter XAMPP..."

C++ GUI Programming with Qt 3


C++ GUI Programming with Qt 3 01/28/2004 02:35 PM

Programming PHP


Programming PHP 12/02/2002 01:17 PM
Coauthored by the father of PHP himself, this book is a good introduction to the language, and a fairly good introduction to surrounding technologies. If you need a good starting book, this could be the one.

Day by Day Programming


Day by Day Programming 09/02/2004 04:08 AM
...while working on the WSX update, added the following to the code: else if (...) { // [application name removed] engineers deserve a 3 liter (that is about 101 fl. oz. for you Americans) // enema filled with stainless needles and glicerine for their programming and error validation ...

Review: Review: iPod Camera Connector


Review: Review: iPod Camera Connector 03/31/2005 05:56 PM
The iPod Camera Connector finally lets you download and immediately view your pictures on an iPod photo. Handy though it is, it will tax your iPod’s battery.

"Why Web Programming Matters Most"


"Why Web Programming Matters Most" 04/02/2005 11:07 PM

Is programming dead?


Is programming dead? 04/26/2004 08:56 AM
ZDNet Apr 26 2004 1:08PM GMT

Primate Programming


Primate Programming 11/10/2003 11:16 PM
From Jeffrey Tarter comes new of an important new business model for outsourcing software development. Joe Grossberg thinks the Primate Programming page has "racist overtones." I can see that way of taking it, although (I hope obviously) that's not how I took it. I take it as being about the commodification of software development and a Dilbert-esque swipe at the gullibility and irresponsibility of pointy-haired bosses....

The Qu Programming Language 1.01


The Qu Programming Language 1.01 09/16/2004 09:22 PM
A full-featured object oriented programming language.

PHP 5 Power Programming


PHP 5 Power Programming 03/17/2005 02:48 AM

Programming in Starbucks


Programming in Starbucks 06/17/2005 04:55 PM

We got over the hump, it was a bit of a panic at first, but I had made a change on the server at 5AM yesterday and didn't test it properly, and when the 25 new users showed up early on the evening of the 16th, well, that's the condition that failed. And my Internet access at home has been really flaky during the day, so it was down when we hit the problem, so I had to quickly drive to Starbucks to get online.

The good news is that I am actually able to get work done this way, so when I it the road again on July 1, I will be able to continue to move forward on this software, by programming in hotel rooms, Starbucks, public libraries, etc. Internet access is really starting to get ubiquitous.


Inquiry into BBC One programming


Inquiry into BBC One programming 07/13/2004 05:28 AM
BBC governors order an inquiry into BBC One's peak time schedules amid concern about programme quality.

Pair Programming


Pair Programming 10/29/2003 12:12 AM

I've spent a few hours over the last two days pair programming with Adrian. We're working on a pretty huge project at the moment, and we've just started work on the coding phase, overlapping the design phase. I had tried pair programming a few times before with some success, but this time in particular the benefits of the approach were crystal clear. In total, we've defined 4 database tables, a number of functions and a simple class. Working separately we would almost certainly have created more lines of code. However...

  • The code we have produced is free of bugs. That's a pretty bold claim to make, but every line has been extensively discussed, tested and looked over by two pairs of eyes.
  • The naming conventions for both the Python code and the SQL are consistent and well thought out. We're both happy with them, we both understand why the names have been chosen and we both know the naming style well enough to continue it throughout the project.
  • The coding style itself is ultra-clean and approved by both of us. We have a preference now for everything from quoting styles to whether or not a docstring should finish in a full-stop (it shouldn't). We also know enough to keep these standards going for the rest of the project.
  • We learnt stuff from each other. KDE shortcuts, new features in Python 2.3, neat ways of laying out SQL statements, Python functional programming idioms.
  • We started coding, or at least started discussing the code, at the time we had scheduled for the start. There was no procrastination.
  • At no point did either of us check our email or check any blogs. productivity++!
  • We both know the code that we have written inside out and back to front.

Altogether they have been highly productive and successful sessions. Our plan now is to pair program the system core, then work separately on the additional modules that don't have major dependencies on each other. There are only two of us developers working on the project so pair programming the whole thing isn't really practical, but the benefits of working together the core modules are obvious.

One last thing: it was a lot of fun!


Programming Humor


Programming Humor 06/05/2004 05:52 AM

Code Humor Challenge: Some pretty funny examples of developers trying to be funny. People are submitting hundreds of comments of funny code they wrote and tried to get (or succeeded in getting) into production.

One of my previous employers had, for historical reasons, the requirement that all class names be prefixed with "Mc" (McUser, McCheckbox, etc.). I created the class McNugget, complete with methods like McNugget.dip(McNugget.BBQ_SAUCE).

This one's pretty good too:

Disco = Uncool

Do Until Disco = Cool

if Year gt 1970 And Year lt 1978 then

GetDownAndDance
Disco = Cool

Else

MockDiscoDancers

End if

Loop

Click here to comment on this entry


The Art of Unix Programming


The Art of Unix Programming 10/30/2003 11:48 PM

Is UNIX programming an art?


Is UNIX programming an art? 10/31/2003 11:41 AM
The Register Oct 31 2003 10:48AM ET

Embedded SQL programming


Embedded SQL programming 04/29/2004 09:48 PM

programming note


programming note 11/12/2003 11:31 PM
The two entries that follow were written this afternoon during a big old Thunderstorm. We've been without power for about...

Core PHP Programming 3rd ed


Core PHP Programming 3rd ed 12/02/2003 12:43 AM
A large (1000+ pages) book containing all you need to know about PHP5 and a dozen of related subjects. Written by Leon Atkinson and Zeev Suraski.

The Programming Soviet


The Programming Soviet 07/08/2002 02:38 AM
I had an aunt and uncle who were Communists until the end. They saw any flaw in the capitalist sytem as fatal, and they saw hope in the most tired and discredited leaders and systems (my uncle wrote an exultant pamphlet about Yugoslavia under Tito).

I am reminded of my aunt and uncle whenever I read an anti-Microsoft tirade from Doc Searls or Eric Raymond or another card-carrying command-line zealot from the programming Soviet. To these true believers, any Microsoft imperfection spells imminent collapse for the Redmond bourgeoisie. Comes the revolution, it will be from each according to his Open Source and to each according to his Unix. -- Arnold Kling

I don't agree with everything that Arnold says, but it's a thought provoking piece.

"zeldman.blsu"

PHP Database Programming with DB2


PHP Database Programming with DB2 09/01/2004 06:48 PM
Having made the leap from MySQL to IBM's proprietary DB2 universal database, Ian explains how easy it is to get set up and start using DB2 - and why you'd bother. His how-to unmasks the benefits and pitfalls of this robust solution.

Programming Microcontrollers With Mac


Programming Microcontrollers With Mac 09/22/2004 02:55 PM

Grok Description matches for Review: Advanced PHP Programming
GrokA matches for Review: Advanced PHP Programming

Review: Advanced PHP Programming

The following phrases have been identified by the grok system as matching this entry:

















Also check out:


Grok

Ipod Porn on the
Rise

Brief Abstract of
Wikipedia's
Mesothelioma Cancer
page

Get first aid
instructions in your
cell phone

IE is crap
JSPWiki gains
podcasting support

Chernobyl Rider
Don't Wait
Miss Otis Regrets
IronPython: A fast
Python
implementation for
.NET and Mono

Ronco Spray-On
Usability

Xen
New post to Global
Guerrillas:
Terrorist Social
Networks

Are supergiant oil
fields declining
faster than
replacement?

Corporate
Mercenaries Create
Sharing Network

Forms Processing
Emergence -
JavaScripted

The Hidden Power of
Photoshop CS:
Chapter 2: Color
Separations. Pt. 2

Use JavaScript to
Create a Scrolling
Grid

Mastering Digital
Photography and
Imaging, Chapter 1:
Essential Digital
Imaging Equipment.
Pt. 1.

Mastering Digital
Photography and
Imaging, Chapter 1:
Essential Digital
Imaging Equipment.
Pt. 2.

Book Review: Getting
a Job in CG: Real
Advice from Reel
People

Perl Medic:
Transforming Legacy
Code. Chapter 3. Pt.
1

How to Use a Content
Management System
for Search Engine
Positioning

Creating a Textbox
with JavaScript
Auto-Complete

Mac OS X Attacked by
Trojan Horse
(NewsFactor)

IBM Calls Daksh Buy
Strategic Move
(NewsFactor)

Microsoft Partners
on Mainframe
Migration
(NewsFactor)

Sun's Microsoft
Mistake (Ziff Davis)

Study: S.F. Area Has
Most Wi-Fi Hot Spots
(AP)

Dell Sees Rise in
Corporate Spending
(NewsFactor)

Appeals Court Stays
Cable Internet
Ruling (Reuters)

Engineers' eBay
auction yields
encouraging response
(SiliconValley.com)

Electronic Filing of
Taxes Sets Record
(AP)

Compliance Law May
Boost Software
Demand (AP)

AOL Offering
Non-Subscribers Some
Content (AP)

System Can Detect
Fraudulent Passports
(AP)

Lockergnome: Daily
Newsletter Excerpt

Northwind and pubs
Sample Databases

BizTalk Server 2004
Rollup Package 1

MSDN TV: Using High
Performance Features
in Visual C++

The ISV Show:
Mobility

Beware of Fully
Trusted Code

Google: omnipresent,
omniscient, on the
heels of Microsoft

A fresh start for
Microsoft and Sun

How Microsoft Is
Clipping Longhorn

hacks.oreilly.com:
Removing Your
Materials from
Google [Mar. 17,
2003]

Time for Change.....
A Day in the Life of
an Information
Security
Investigator: Case
Of the Heartless
Husband - Part I

grsecurity
GNU Screen: an
introduction and
beginner's tutorial
|| kuro5hin.org

TechTV | Windows
Tip: Change Start
Button in XP

The Lost Olive: USA
LugRadio Mirror

TechTV | The Linux
Operator Guide to
Women

Friday Funnies...
Easy Automated
Snapshot-Style
Backups with Rsync

Speaking of Music
Piracy ....

what is grok?