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
s.dot
Tranquility In Moderation
Posts: 5001
Joined: Sun Feb 06, 2005 7:18 pm
Location: Indiana

Post by s.dot »

I started writing out a template of what a book i would write (as if) would be broken down into, but I re-read the forum and you guys hit every point i was going to hit and more.

However, I have a couple additional ideas.

#1: Newbies would like to see it in action. I think rather than lots of reading you should bang out a script at the beginning of a chapter and then break it down. Explaining... going into detail.

#2: Have periodic "challenges" for the readers to try on their own. Perhaps with an answer in the back of the book. (trial and error is good learning).
Set Search Time - A google chrome extension. When you search only results from the past year (or set time period) are displayed. Helps tremendously when using new technologies to avoid outdated results.
User avatar
Maugrim_The_Reaper
DevNet Master
Posts: 2704
Joined: Tue Nov 02, 2004 5:43 am
Location: Ireland

Post by Maugrim_The_Reaper »

Everah wrote:-- How does it compare (briefly vs ASP, CF, Ruby, Python etc)
Great list, more like it and we can start figuring out exact order, content and start merging notes :). GTK was a good mention, PHP is not just a web scripting language... technofreak also put in a word for Sessions. It's a good thing we're not gong with just my list :).

On a side note, we should stress an objective text for this particular section. In trying to expose the reader to why they should use PHP it can become too easy to fall into the black pit of criticising other languages. I may be talking to the converted here but we've all seen the "VS" character between two language names too often...
aborint wrote:Following that thinking, I would rename Magrim's chapter "Introduction to PHP Objects and Classes" to "Introduction to PHP Functions and Classes". Likewise I would rename "Advanced PHP Objects and Classes" to simply "Advanced PHP" and it could also include things like using variables as function names, variable parameter lists, etc.
The thing here (and I did neglect to mention functions!) is that your titles integrate two different things. A function in procedural is very similar to one in classes, but they are not identical. There definitely should be a chapter on Functions just prior to Objects and Classes, and it should note function use in classes (referring readers to next chapter). I would also dispute calling the following Chapter Advanced PHP - it's too generic for starters, and the label shifts the focus to thinking of this as a Chapter a beginner may avoid. Advanced in this case is in a far different context.
aborint wrote:My idea is to not present functions and classes as competing things, but to simply present them as different language constructs like you might present if() and switch(). I would like the attitude to be neutral like this:
I totally agree. My opinion just differs to how far we go to attain that neutrality :).
aborint wrote:I would maybe add a "Design Concepts" chapter to discuss key concepts (orthogonality, encapsulation, polymorphism, etc.) and design patterns. And also add a "Methodologies" section to talk about debugging, unit testing, refactoring, etc.
Design Concepts is largely where the Advanced O&C chapter would take off. The basics done, bumping up to a more advanced level becomes very difficult until the whole point of Objects gets explained. Maybe a briefer explanation, followed by your suggested Design Concepts as a separate chapter?

Just to clarify, is there a thought of contents organised by Section, then Chapter?
aborint wrote:If there are opinions in the book, they should be about good design practices that apply when using both functions and classes.
I think that's almost next to impossible. Once you mention OOP, you start reaching design practices which are OOP specific. While procedural has a place, OOP for the moment has huge advantages. This does not make procedural defunct - it just makes it a tool not suitable for every job (whatever interpretation of that individual programmers may have).

scottayy - forum on the way to get all these topics separated :). Both your other points are valid. In each chapter we should give the user examples of how all the tools so far can be used to make something ultimately useful (not just some isolated code that demo's a concept - though of course that is definitely needed).
lornajane
Forum Newbie
Posts: 18
Joined: Fri Jun 30, 2006 3:02 am
Location: Leeds, UK

Post by lornajane »

This sounds like a great idea, and you've included some topics that were vital to my journey through learning PHP but are sometimes missing from books - in particular PEAR/PECL and the php.ini file topics.

I'd be happy to help out wherever I can, I can certainly test code examples and proofread if needed - especially if anyone is not feeling confident about their English. I'd like to contribute but I suspect others are probably better qualified than myself so I'll fit in wherever.
User avatar
Ambush Commander
DevNet Master
Posts: 3698
Joined: Mon Oct 25, 2004 9:29 pm
Location: New Jersey, US

Post by Ambush Commander »

Can someone set up a wiki (or authorize me to do so)? And fast? Because with my experience with these sorts of things, a forum topic is definitely not a good place to have to refer back to as documentation. Information needs to be organized and expanded. Wikis handle this quite well.
Charles256
DevNet Resident
Posts: 1375
Joined: Fri Sep 16, 2005 9:06 pm

Post by Charles256 »

erm..I authorize you..go! ( hey! no one said I couldn't authorize him... ) Let me know when you got it up,please. :-D
Vinh
Forum Newbie
Posts: 6
Joined: Fri Jun 30, 2006 3:30 am

You guys need a noob

Post by Vinh »

Hello everyone,

You're lucky, i'm a real Php Noob and will definitely love to see that project running.

Although i lack knowledge and practice on Php, i do get a good idea on how i see a practical book for it.

First, after reading the pages here and the structures proprosed, i may submit that a technical book does not need to be linear.

You certainly need to empaphize that you need more skill @ the end of the book than @ the beginning, tho, it may be splitted in
whatever sections you really need to focus on.

Installation and technical tricks shouldn t be the first step i think, you really need to go straight to the point and go deeper if needed.
Also, you may work on a case study all along the book, giving a real sample and a working app @ the end.

Most of the readers will want that book to give them a good approach of Php programming, meaning how to get my php project from A to Z.

So, here comes my suggestion plan :

Code: Select all

A - Preface
 A.n       -- ...
 A.(n+1)-- Purpose of the book.* !important

1 - Introduction
 1.1 --Step In (Everything generic, not specific to PHP)
 1.1.1 --- General programming Introduction !important
 			What is a program ?
 1.1.2 --- Variables, constants and operators
 1.1.3 --- Types
 1.1.4 --- Programming Technology, overview (procedural, OOP...)
 
 1.2 --PHP
 1.2.1 --- History, background of PHP !optional
 1.2.2 --- Why Php ...? How does it compare to ASP &.... !optional
 1.2.3 --- php Scope (or what can php do for you ?) !important
 1.2.4 --- the Manual, where to find it, how to use it.
 1.2.5 --- Inside reference. Explain how to use the reference in Appendix(A)
 
2 - Building a project !In theory this works for any language.
 2.1 --- Brainstorm, fix your ideas and goals.
 2.2 --- Paperwork, comments, cvs, versioning, split large project in small modules.
 2.3 --- Decisions : tools, database, etc...
 2.4 --- Shake it, theorical case studies.
 2.5 --- Project Cycles, goto 2.2
 2.6 --- Setup process, "build often", i don't know if it applies.
 2.7 --- Good coding, writing conventions, reusability, factorisation.
 2.8 --- Debugging, testing.goto 2.8
 2.9 --- Deployment.

(@ that point we do have a project for our book : let's say an agenda)

3 - Web Developpement Overview!Important
 3.1 -- What's so different ?
 3.1.1 --- Displaying Informations.(HTML,XHTML,CSS, XML, XSLT)
 3.1.2 --- Client side kick (JS)
 3.1.3 --- Mixing tech (AJAX)
 3.1.4 --- Intranet, Internet

4 - Desktop/Console Developpement Overview
 4.1 -- (i really have no idea here, i don't have any example of Desktop app using PHP)
 
5 - Getting started 
 5.1 -- Check Appendix(B), then Configure PHP
 	Select your webserver, install it and set it up
 5.1.1 --- PHP Quicksetup
 5.1.2 --- Hello World!
 5.1.3 --- How come ?

6 - PHP Fundamentals
 6.1 -- variables and references...
 6.2
 6.N -- unicode ?

7 - PHP Statements

8 - Procedural Coding

9 - OOP Introduction

10 - Strings

11 - Arrays

12 - Deeper into the web (here comes web dev PHP specifics)
 12.1 HTTP Input
 12.N Cross server applications
 
14 - Advanced PHP Object and Classes

15 - Security

16 - Test/Debug

17 - Deploiement

APPENDIX A - PHP REFERENCES
APPENDIX B - (X)HTML QUICK REF
APPENDIX C - XML QUICK REF
APPENDIX D - JS QUICK REF
APPENDIX E - CSS/XSLT QUICK REF
APPENDIX F - WEBSERVERS - where what, compare, install etc..
APPENDIX G - DATABASES - As in MySQL install/setup etc...
APPENDIX H - SQL Woohoo
Hope that helps.
User avatar
Ambush Commander
DevNet Master
Posts: 3698
Joined: Mon Oct 25, 2004 9:29 pm
Location: New Jersey, US

Post by Ambush Commander »

Ack, Charles, nevermind for me. I'm in China and I just realized that when the Chinese gov. blocked Wikipedia, they blocked Wikimedia too. Hmph!
User avatar
Chris Corbyn
Breakbeat Nuttzer
Posts: 13098
Joined: Wed Mar 24, 2004 7:57 am
Location: Melbourne, Australia

Post by Chris Corbyn »

I'm going away for a week without internet.

If no forum has appeared in our list by the end of today would somebody be so kind as to enquire further with one of the mods/admins? :)

If all else fails we should just a get a wiki online quickly.

It looks like you guys are steaming off along quite happily so hopefully when I come back there'll be plenty to catch up on :)

/Slopes off to get ready for a week in the sun :)
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 copied a wiki setup to my own server - at some stage we should have a domain and someone willing to host it and the project's web presence. I think Everah offered originally...

http://phpbook.quantum-star.com/

I'm adding a redrafted chapter list I did last night in a short while.
I'm going away for a week without internet.
Have fun! You have tons to catch up on when you get back... :wink:
User avatar
Ambush Commander
DevNet Master
Posts: 3698
Joined: Mon Oct 25, 2004 9:29 pm
Location: New Jersey, US

Post by Ambush Commander »

Hmm... I would have preferred MediaWiki but this'll do for now. ;-)
jamiel
Forum Contributor
Posts: 276
Joined: Wed Feb 22, 2006 5:17 am
Location: London, United Kingdom

Post by jamiel »

Any good ideas for a domain name? I have a dedicated server we can host the wiki and/or the book on.
Vinh
Forum Newbie
Posts: 6
Joined: Fri Jun 30, 2006 3:30 am

Book Title

Post by Vinh »

Php Strikes Back ?
Return of the Php ?

php me
MyPhp ?

Learn or let die ?

Once upon a time on the web ?

Please Help People ?

ok... nuts.
User avatar
Ambush Commander
DevNet Master
Posts: 3698
Joined: Mon Oct 25, 2004 9:29 pm
Location: New Jersey, US

Post by Ambush Commander »

Personally, I think that the hosting should be done by a disinterested third party so that none of us can go haywire and takeover the project or the like.
jamiel
Forum Contributor
Posts: 276
Joined: Wed Feb 22, 2006 5:17 am
Location: London, United Kingdom

Post by jamiel »

Trust me, I'm a disinterested third party :) Anyways, PM me if you guys want to take up the offer.
User avatar
Ambush Commander
DevNet Master
Posts: 3698
Joined: Mon Oct 25, 2004 9:29 pm
Location: New Jersey, US

Post by Ambush Commander »

Hmm... I really don't think we should worry about such things right now. There's nothing mission critical hosted on servers other than phpDN. However, I would like to bring something to the table:

When Maugrim created the wiki, he proposed the idea of many people maintaining seperate content lists, and then putting them together at the end. I disagree. Unless a person's idea is radically different, we should practice continuous integration: people put in what they feel is right, and discuss issues in the contents. That is the wiki way. :-)
Post Reply