Who fancies a community effort to write a book?

Where we keep all the boring tidbits about the PHPDN site, the news, and what not.

Moderator: General Moderators

Post Reply
User avatar
Chris Corbyn
Breakbeat Nuttzer
Posts: 13098
Joined: Wed Mar 24, 2004 7:57 am
Location: Melbourne, Australia

Post by Chris Corbyn »

Just a note to say that, given the number of responses my initial stance of "this is just an idea" is now "this is going to be done".

I'm on vacation for a week starting this Friday so I won't be making an major moves to get started before that but I'm more than happy for somebody else to take lead and start without me :)

Yeah, I agree that before any content is written we need a list of objectives and requirements so that we don't finish up losing track of the final goal. The we need a list of contents to use as a guidline only" since the contents are likely to be adjusted/tweaked. I'm still not sure if writely is the best plan or if we just use a version control repository.... Can we generate a PDF using writely? From working on Linux and receiving .doc files from various places I'm more than concious of the fact that all office programs (OpenOffice vs. MS Office) render the content slightly differently esp. with templates so generating a PDF may be an issue.
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

I don't think the author's should really concern themselves with what file format to use let alone how it's formatted. That's the concern of the editors and layout persons. As long as the chosen (or volunteering) editors can read the format, that's all that really matters.
Jixxor
Forum Commoner
Posts: 46
Joined: Wed Jun 07, 2006 5:53 pm
Location: Lakeland, FL

Post by Jixxor »

Awesome idea! I'd be more than willing to devote some time towards this project - especially in the newbie area.

The concept of developing the book, beginning with a "newbie" introduction and ending with a "master" section, is a great idea. I've looked for books like this presently and can only find those that relate soley to a "newbie", a "intermediate" and a "master" seperately, thus I'd have to buy three books to include all three concepts in my studying.

Let me know where to sign up! :D
User avatar
Maugrim_The_Reaper
DevNet Master
Posts: 2704
Joined: Tue Nov 02, 2004 5:43 am
Location: Ireland

Post by Maugrim_The_Reaper »

I'm on vacation and about to get lunched up... So forgive the brevity.

Can someone, preferably a few people, just describe the book's ultimate purpose and target audience in a few short lines. I've read the thread but there's nothing concrete just yet (least not IMO). Is this purely for Newbies? Is it a more pickup and reference collection of tips, practices, tools etc. Is it a reference volume? Is it a handbook for developing some ultimate tool/application? Is it a bit of all these and more?

By way of suggestion, building a full application (not a feature creeped mutant, just something simple and elegant) and using it as the base for all chapter examples and tutorials would be very useful. Give readers a sense of accomplishment, and also have a common strand to all (well, most source code) that let's readers know the context of example easily. Too few books out there which explain the language and stuff the experience/confidence building app tutorial at the back, or just leave one out altogether.
User avatar
Chris Corbyn
Breakbeat Nuttzer
Posts: 13098
Joined: Wed Mar 24, 2004 7:57 am
Location: Melbourne, Australia

Post by Chris Corbyn »

The book's goal:

To to teach any computer-literate person with or without knowledge of programming how to write web applications in PHP. The pace will start off steady and help with general logic/prgramming concepts before familiarising the reader with PHP as a language by itself. By the end of the book the reader should feel confident enough to be able to read exisitng OOP/procedural PHP Code, create their own OOP/Procedural Code and be aware of the things many books neglect to mention (register_globals, magic_quotes etc). The reader will feel confident enough to write code fit for use in production-level web applications and should be inspired to read further on the use of patterns and testing having gained a very basic knowledge of the more common ones.

EDIT | I'm a big believer is giving more code-based examples than lengthy excerpts of text once the language is understood enough. Perhaps even provide a set of files which contain examples and get the reader to do some debugging (Oh yeah, forgot to mention debugging).
Jixxor
Forum Commoner
Posts: 46
Joined: Wed Jun 07, 2006 5:53 pm
Location: Lakeland, FL

Post by Jixxor »

Maugrim_The_Reaper wrote:I'm on vacation and about to get lunched up... So forgive the brevity.

Can someone, preferably a few people, just describe the book's ultimate purpose and target audience in a few short lines. I've read the thread but there's nothing concrete just yet (least not IMO). Is this purely for Newbies? Is it a more pickup and reference collection of tips, practices, tools etc. Is it a reference volume? Is it a handbook for developing some ultimate tool/application? Is it a bit of all these and more?

By way of suggestion, building a full application (not a feature creeped mutant, just something simple and elegant) and using it as the base for all chapter examples and tutorials would be very useful. Give readers a sense of accomplishment, and also have a common strand to all (well, most source code) that let's readers know the context of example easily. Too few books out there which explain the language and stuff the experience/confidence building app tutorial at the back, or just leave one out altogether.
The general concept that I've gathered from this post is that the book will have three major sections - a "Newbie" section, an "Intermediate" section, and a "Master" or "Advanced" section. Information per section will be relational, for example: the Newbie section will contain detailed information on the Installation of PHP/MySQL and the covering of the basics of both programs (variables, basic functions, basic queries, etc.) within the mind-frame of easy understandibility (sp?).

I believe that the eventual hope is that the book, with the help of this community, will develop into a bit of everything so that beginners can pick it up and learn at their own pace and not have a limit on the learning expereince (thus the reason for the Intermediate and Advanced sections, most books are not universal in this way and tend to focus on one mind-frame). So technically, it would be the latter of your questions, a bit of everything which as much emphasis and detailed information as possible.

A sense of accomplishment would be key to this project as from a personal point of view, that's what fuels me in my study of PHP/MySQL and the programming world. Hope this is of help as it's only my opinion/interpretation of what is going on/being planned. :D
Jixxor
Forum Commoner
Posts: 46
Joined: Wed Jun 07, 2006 5:53 pm
Location: Lakeland, FL

Post by Jixxor »

d11wtq wrote:The book's goal:
EDIT | I'm a big believer is giving more code-based examples than lengthy excerpts of text once the language is understood enough. Perhaps even provide a set of files which contain examples and get the reader to do some debugging (Oh yeah, forgot to mention debugging).
I agree, of the material I've read example code is at a minimum (except for Sam's Teach Yourself PHP/MySQL book, wonderfull examples.) Learning, for quite a few people, is visually based and I find that it's easy to understand something when you see it in a real world application.

Debugging is very important as it's severely overlooked by many of the newbie programmers, including myself.
User avatar
RobertGonzalez
Site Administrator
Posts: 14293
Joined: Tue Sep 09, 2003 6:04 pm
Location: Fremont, CA, USA

Post by RobertGonzalez »

I like the idea of starting out steady for any level of somewhat cometent readers. I also like the potential for exhaustive use of code-based examples over examples explained with text.

I would like to see something in the area of php.ini, feature settings and security settings that most books cruise right over without so much as wondering what it is that went under the car. I think a section on common PHP errors, error_reporting and debugging would be very useful, as well.

Given the popularity of the 'M' in LAMP, it makes sense to mention it. But I don't think that there should be any great discussion on the database end of things, short of explaining in detail how PHP talks to databases. Same goes for the 'L' abd the 'A'. Seeing that PHP is a flexible, mostly platform-independent interpreter, I think more focus should be placed on the language instead of the OS, the Server or the Database it is most commonly associated with. If we keep it about PHP then we are likely to help folks looking to PHP rather than deflect folks that have a penchant for Windows, IIS and SQL Server (just as an example).

Simple, easy-to-understand, example-based PHP teaching of developers at any level. That would be my vision for the content of the book.
User avatar
Chris Corbyn
Breakbeat Nuttzer
Posts: 13098
Joined: Wed Mar 24, 2004 7:57 am
Location: Melbourne, Australia

Post by Chris Corbyn »

So so far we have:

Starting Steady with;
* History of PHP and What it's for
* Installing it and generally getting up and running (Need to mention apache/IIS at minimum)
* (I feel a description of the client-server architecture is vital)
* General Programming concepts (with explanations of technical terms, e.g. "syntax", "semantics")
* Basic PHP coding (Hello world, assigning variables, GET/POST, loops...)
* Functions

Moving onto possible issues;
* ini settings and how they might affect you when using different servers (the evils!!!)
* Debugging techniques (basic -- echo, var_dump(), print_r(), exit() etc)

Getting into more practical stuff;
* MySQL/Postgres

Advanced;
* Basics of OOP (and differences in PHP versions)
* A practical OOP example start-->end

More advanced;
* OOP Patterns
* Testing

Definitely a need to expand on that.

EDIT | Under "more practical stuff": file handling, gd (?), authentication concepts (more please?!! :P)
Jixxor
Forum Commoner
Posts: 46
Joined: Wed Jun 07, 2006 5:53 pm
Location: Lakeland, FL

Post by Jixxor »

The Advanced section can also include practical real-world applications and how to code such things. Coding examples and/or study cases can be the classical DB Wrapper, or a simple program to maintain a mailing list, etc.

You can then get even deeper in the More Advanced section by using a simple CMS as an example program that combines the elements of classes, databases, etc.... virtually everything the user has learned up to this point in the book.
User avatar
RobertGonzalez
Site Administrator
Posts: 14293
Joined: Tue Sep 09, 2003 6:04 pm
Location: Fremont, CA, USA

Post by RobertGonzalez »

More practical stuff:
File uploads
Image Manipulation
String hashing (also can be taught in authentication)
Session Management
Form array processing
File manipulation
...and every other thing that fits into "Why don't this work?" category on these forums :wink: .
User avatar
Maugrim_The_Reaper
DevNet Master
Posts: 2704
Joined: Tue Nov 02, 2004 5:43 am
Location: Ireland

Post by Maugrim_The_Reaper »

Before I vanish again and get totally legless...

So just throwing this out there (I also rely on visual representation - witness the mighty list!):

Basically it's a book for complete newbies. At least to start with? So a quick list of suggested categories (no specific details) in a semblance of presentation order (to get some grip of structure)

Introduction
Installation
PHP Basics
Strings
Arrays
Functions
Databases
OOP Introduction
OOP Basics
// enter advanced topics
PHP Security
Design Patterns
Testing/Debugging
PEAR/PECL
Frameworks

I would envisage an approach where sections are allowed to "leak". For example, discussing Databases and waiting for a Security category to discuss SQL Injection shouldn't happen.
User avatar
pickle
Briney Mod
Posts: 6445
Joined: Mon Jan 19, 2004 6:11 pm
Location: 53.01N x 112.48W
Contact:

Post by pickle »

I'd be willing to participate - though probably more as a layout/editor than a writing contributor (though who knows). I've been told I'm good at editing.
Real programmers don't comment their code. If it was hard to write, it should be hard to understand.
Charles256
DevNet Resident
Posts: 1375
Joined: Fri Sep 16, 2005 9:06 pm

Post by Charles256 »

I don't think it'd hurt to cover a login syste, ( i volunteer, swear I've written like twelve thousand)
User avatar
RobertGonzalez
Site Administrator
Posts: 14293
Joined: Tue Sep 09, 2003 6:04 pm
Location: Fremont, CA, USA

Post by RobertGonzalez »

What if the workflow for the book followed something similar to Sitepoint's books? Not a copy of their stuff, but their use of example code typically has you learning code from the go, and by the end of the book you have put everything you learn together into a little application. I think it would be kinda nice to have all the stuff we teach actually get put to use as it is being taught, no?
Post Reply