I've only read 3 pages out of the 6 in this topic so fard11wtq wrote:We certainly need it given the number of pages in this thread alone and it's only been going two days.
Edit: Now it's 7 pages thanks to me
Moderator: General Moderators
Sorry, had the wrong forum. I thought the PHPDN Revival Forum was the same.d11wtq wrote:Yeah, stuff under Urban Renewal (note, Urban Renewal is different to our PHPDN Revival forum) is closed to the public at present. We're (mods) using it to discuss potential projects that have copped up here and there.
Blogged (in Russian) about it as well: http://weirdan.livejournal.com/28232.htmlEverah wrote:I couldn't resist. I had to blog about it, too.
Guess I'll have to check it from home because OUR STUPID @$$ PROXY SERVERS ARE NOT LETTING SOCIAL NETWORKING SITES THROUGH!Weirdan wrote:Blogged (in Russian) about it as well: http://weirdan.livejournal.com/28232.htmlEverah wrote:I couldn't resist. I had to blog about it, too.
I think there is a place in PHP learning for those topics. But putting them in the beginning might be enough to turn new developers off. Not to mention that if I went to a restaurant and ordered a steak, I'd expect a steak not a bunch of things involved in getting it to me. I might want to know that after I am eating it, but looking for something and being served something else right off the pop would make me turn away. This is just my personal opinion.timvw wrote:... here are a couple of subjects this book should have:
(1) introduction:
- Explain how PHP works. Start with a console application first to proove that PHP generates a 'file'. Be it text, an image, ...
- Explain how a webbrowsers requests a static file from a webserver (perhaps show a bit of the http procotol)
- Explain how a webserver can launch a php instance, pass variables (CGI) , generate 'file' and return it
- Explain how a webserver can improve if he has a couple of instances loaded (mod_php)
Mosts books i've started start from a simple <?php echo 'hello world'; ?> that is executed @server and don't show the technology behind this.. I really think this chapter will make the reader a better programmer
(2) tools/html/javascript/xml:
- Give the user a brief overview of of the technologies, explain them how they work..
(3) relational databases/sql:
- Give the user a brief overview of database moddeling, teach him a bit about relationships types (how to model n-m), referential integrety, joins, ...
(4, 5, ....) the real php stuff(
- Perhaps have a look in the snippets forum to find some good topics..
-> Imho those first three chapters would make the real difference with existing books ....
I'll defer to d11wtq's moral authority (he's the one to blame for the initial suggestion that we've latched onto). We have a list of roles (thanks to Everah) and filling them can wait for just a while. The most pressing needs:Maugrim and Everah, think you have settled down with the topics. I saw one past where certain roles where displayed. Think you both can take up the tole of administrators and decide upon the rest fo the team.
Code: Select all
PHP Book Plan
>> This was done up not as a fixed text. People should write their own independent contents plan, so the good and not so good from each can be identified, discussed, and eventually merged.
The Untitled PHP Book
Preface
- Statement from Project members
- purpose of the book
- the how and why of writing it
- and dedications or thank you's
Introduction
-general programming introduction
-history of PHP and its future developments
-fix its place versus other programming languages
->dynamically typed
->web application focus
->not strictly OOP
->wide adoption rate
->no slamming other languages, but address common concerns
-what it can be used for (with examples!)
-how currently used on and offline
Installation (and Support? <separate section maybe?>)
-possibly add installation detailed steps for platforms to Appendix
-configuration (minimal detail)
-common configuration issues (magic_quotes_gpc, register_globals,...)
-RTFM! The PHP Manual. AKA God.
-online tutorial sites, news sites, blog feed aggregators, etc
-mention PEAR and PECL briefly
Getting Started
-!Important! In all chapters try to link new knowledge to a practical use case <suggestion>
-start your webserver
-select an editor (text vs code vs IDE environments)
-opening and closing tags (why short_tags is evil)
-output functions (echo, print, exit (and its die alias), var_dump)
-create a first script - the Hello World! bit
-congratulate reader on their maiden voyage
PHP Fundamentals
-variables and references (and how they relate to values in memory)
-types, casting and juggling
-constants
-operators
-comments (mention of phpDoc)
-why code does not contain Unicode characters in variable names etc.
PHP Statements
-need I say more?
!Not intended as flame fuel!
Introduction to PHP Objects and Classes
-what they are
-why they exist
-basic syntax
-use within procedural code
-note an expanded chapter later in book
-integrate usage from hereon in to get the reader used to them early
Strings
-assigning to variables (quotes, escaping, special chars, newline/tabs/etc.)
-outputting strings (note html escaping for security)
-standard functions for manipulation (brief mention of regex)
-how to check contents:
->ctype library
->intro to regex
-handling Unicode strings
->mbstring
->PHP 6
->regex ranges (and why ctype sucks at this)
Arrays
-what they are
-how they differ from other languages
-standard functions
-Iteration, and use in certain PHP statements
-How objects can have some array behaviours (with PHP 5)
PHP HTTP Input
-superglobals
-why magic quotes are evil
-need for security precautions
-link to String/Array other chapters
Advanced PHP Objects and Classes
-summarise last chapter
-why classes?
-explain key concepts (orthogonality, encapsulation, polymorphism, etc.)
-STOP - give real world example before the reader's head explodes
-access keywords, and why they exist
-interfaces and abstracts
-static properties and methods
-brief mentions of:
->design patterns
->unit testing
->refactoring
Stuff I Left Out!
-File I/O
-Databases
-HTML/XML/JS - why they are needed
-Other Stuff I surely left out
Suggested Advanced Chapters
-Security
-Unit Testing
-Design Patterns
-Refactoring
-PEAR
-PECL
Where to go from here?
- God (The Manual)Code: Select all
PHP for Anyone
--------------
Introduction to PHP
-- What is it
-- What is a server (in server-side)
-- Why should I use it
-- How does it compare (briefly vs ASP, CF, Ruby, Python etc)
-- How do I get it
-- How do I install it
-- Setting up Apache in Win/*nix/Mac
-- How do I configure it
-- Who is using it (and how? - Mostly stats and such)
-- What's next
PHP Basics
-- The PHP Manual
-- Coding syntax
-- Commenting (and discuss planning for future)
-- Types (and maybe casting)
-- $variables, constants, globals
-- Control structures
-- Conditionals handling
-- Error management (and meanings of common error messages)
-- Scripting (and first script)
-- Objects (OOP in a minute)
PHP Development
-- OOP (Fundamentals, the rest can go in advanced)
-- Databases
-- File System
-- Form Processing
-- My First Script
PHP Advanced Development
-- OOP (Full bore)
-- XML
-- GTK
-- Built-in & PEAR Libraries
Appendix
-- Common PHP functions
-- Common PHP app tasks
-- Common PHP IDEs
-- Other PHP Resources (DevNet - w00t!)I would like clarify because I was part of the that "exchange of ideas" on page 5.d11wtq wrote:I like the way you've brought OOP into it. It's "introduced" as a concept rather than pushed upon the reader as a definitive method of programming. I do agree that doing it this way is better than throwing it in as an afterthought/advanced concept. OOP goes from really basic to really advanced in the first place.