PHP & MySQL project example books/sites

KuJaX

[H]F Junkie
Joined
Jan 8, 2001
Messages
15,778
Many years ago I read through "Heads First: PHP & MySQL" which was a great read. It started at a very basic level and went more and more advanced with "real life" web projects. So it would teach the concept and then put the concept to use in a project type example. That way the reader could understand what goes on in the mind of a programmer that is handling the task of a particular project. This book was at novice level and didn't get into many advanced topics but it flowed very well.

Since that was several years ago, I know that much of the standards have changed for both PHP and MySQL as it relates to Object-Oriented programming, security, etc.

Are there any up-to-date sources that you would recommend that teach or are a great reference guide for PHP/MySQL through examples. I'm interested in either books, sites, videos, etc. There are endless reference books on any programming subject but I'm not familiar with any that take an example project based approach so that the reader may understand what goes on in the head of a
 
You should look at Pluralsight. Many of their courses are project/example based, so you are usually building something as you go. There are a handful of PHP and MySQL courses, and Pluralsight offers a free trial, too.
 
Larry Ullman does really good by teaching through examples.

http://www.larryullman.com/books/

It literally shows the entire code of a project with comments. You copy a portion, test it to see the result, and continue on.

Just don't get too caught up in learning by examples. Some day, you will work on a project and you cannot find an example to learn from. It's far better to learn the fundamentals of programming in general so it doesn't matter what task you need to accomplish.
 
Larry Ullman does really good by teaching through examples.

http://www.larryullman.com/books/

It literally shows the entire code of a project with comments. You copy a portion, test it to see the result, and continue on.

Just don't get too caught up in learning by examples. Some day, you will work on a project and you cannot find an example to learn from. It's far better to learn the fundamentals of programming in general so it doesn't matter what task you need to accomplish.

The foundation of programming languages I understand (variables, functions, arrays, etc). I'm looking at being able to organize projects at a high level so that they are designed correctly, portable and scalable. This is where, I believe, an example based approach from nothing to something is valuable. I see Larry Ullman has an ecommerce book, and although not interested in ecommerce per-say, it may fit well in nothing to something example to understand the logic and thinking of a developer.

In other words, I'm trying to take a high level helicopter view of a project rather than being down in the sticks and mud.
 
I used this book http://www.amazon.com/Head-First-MySQL-Lynn-Beighley/dp/0596006306/ref=cm_srch_res_rpli_1 for a class and it's pretty good. It's more for people who know how to code, but not necessarily how to code in php. The advantage of this book is it goes through a website in stages and makes sure to talk a little bit about how to add in hooks so you can implement more features later on.

While it isn't exactly what you're looking for in a helicopter view of project management it is up to date with best practices and security. It doesn't get too much into OOP PHP, with classes and stuff, but it's very similar to java classes or most other classes so you could pick that up from somewhere else pretty easily.

Also my .02 on an ecommerce book is it would really be the thing to look at for specifics because it is looking at a specific part of programming and ecommerce has to have correct design, portability and scalability as well as top notch security in the code so if that book does projects by example I would think that's a really good option. And then just grow the size of the project to meet what you're looking at.

How I would best approach this is to look at creating smaller projects and looking at implementing the design, portability and scalability and then once I have that down look at a book like this http://www.amazon.com/Developing-La...027646&sr=1-8&keywords=project+management+php to really kick it off. That one was written by a UI group manager at Yahoo so I'm sure he knows what he's talking about.
 
As an Amazon Associate, HardForum may earn from qualifying purchases.
The foundation of programming languages I understand (variables, functions, arrays, etc). I'm looking at being able to organize projects at a high level so that they are designed correctly, portable and scalable. This is where, I believe, an example based approach from nothing to something is valuable. I see Larry Ullman has an ecommerce book, and although not interested in ecommerce per-say, it may fit well in nothing to something example to understand the logic and thinking of a developer.

In other words, I'm trying to take a high level helicopter view of a project rather than being down in the sticks and mud.
After reading most of this, I am wondering if some PHP devs can share some coding "cookbook" suggestions. But in many situations, you'll be working with some sticks and mud... which leads into my next thought: Was your comment more a perspective of using frameworks and 3rd party libraries (ie: aware of the moving pieces and fundamentals, can troubleshoot if things go wrong, but don't want to "re-invent the wheel"), or are you moving toward an IT manager position that spends 95% of their time in the helicopter? I could simply be reading too much into this thread, so please correct any mis-understandings.
 
After reading most of this, I am wondering if some PHP devs can share some coding "cookbook" suggestions. But in many situations, you'll be working with some sticks and mud... which leads into my next thought: Was your comment more a perspective of using frameworks and 3rd party libraries (ie: aware of the moving pieces and fundamentals, can troubleshoot if things go wrong, but don't want to "re-invent the wheel"), or are you moving toward an IT manager position that spends 95% of their time in the helicopter? I could simply be reading too much into this thread, so please correct any mis-understandings.
Manager position is an appropriate term. As mentioned, I have a solid foundation of what programming languages. My next logical step is more so is the thoughts of a developer while programming.

I've read case studies of disconnects between managers and programmers. Managers know the business case for a particular feature/section and why it needs to be designed a particular way and then the programmer TRIES to understand the business case but programs incorrectly/inefficiently/ineffectively/etc.

I'm trying to bridge that gap between being able to properly communicate the purpose of a particular project (and the underlying subsections/pieces/etc) while also being able to delve into code and write pseudo code so that the programmer can then take best practices in writing the real thing. So more of a helicopter view of things with the ability to land and direct with knowledge. This is why I'm looking for example based teaching so that I can understand the logic behind a developer to intervene and assist when necessary if I SEE something going off track. Without knowing the thought process of examples it is hard to know if they are off track, regardless of the structure of the code.

Does this make any sense? lol
 
I think it's going to be hard to address this on a static scale, I think it will change drastically from project to project depending on your team and how people understand what the end goal is. Also to your last point I don't think you can really know the logic behind a dev, we can be wild and crazy and go off track to try and make something really cool when it doesn't need to be. I think that's where you'll need to just start right by sitting down with both the management team who's proposing the project and then with your devs. Get an idea of what the end goal needs to be, functionality, efficiency goals, scalability, time, cost, and get priorities, and then talk to your dev team and get how they think about the project, because as you've already hinted at, and likely seen, the business people and devs generally think in completely opposite ways, and that's where you need to understand both sides and be able to work with both teams to get the project done on time.

I don't think that you really need to know a lot about code to do this, it's more working with both sides and making sure that the business needs are met, and also that there are time constraints set on the devs. The devs will have an idea about how long each thing should take to implement once they get going, and I think that's where your role comes in which is to keep them on track, and if you see someone working on the same piece of code for a couple days inquiring why it's taking so long, and then bringing up any potential issues either with implementation or structure to the business people and making sure that everyone stays on the same page throughout the project.

All that being said I'm not sure if there's a book out there that can really help, I think it comes down more to your management skills and knowing the business teams needs as well as knowing your devs and knowing how to communicate in ways that both sides can understand.
 
Are you needing to learn from scratch pretty much?

Build a foundation/series of forms that are add/edit/delete.
Build some basic variable sanitation.
Then mix in a login routine which the easiest is cookie based. "salt" the passwords of course

Modularize every routine that you can and you'd be shocked with how much you can do with basic login routines and basic tables. After you master basics like above then start branching into some more advanced stuff

You will always find arguments about how anything should be done in PHP but in the end being able to quickly find stuff is more important than it being done as efficiently as possible. Some of the "best" ways of doing things is crazy cryptic and unless its being hit thousands of times a second you'll never notice.
 
Manager position is an appropriate term. As mentioned, I have a solid foundation of what programming languages. My next logical step is more so is the thoughts of a developer while programming.

I've read case studies of disconnects between managers and programmers. Managers know the business case for a particular feature/section and why it needs to be designed a particular way and then the programmer TRIES to understand the business case but programs incorrectly/inefficiently/ineffectively/etc.

I'm trying to bridge that gap between being able to properly communicate the purpose of a particular project (and the underlying subsections/pieces/etc) while also being able to delve into code and write pseudo code so that the programmer can then take best practices in writing the real thing. So more of a helicopter view of things with the ability to land and direct with knowledge. This is why I'm looking for example based teaching so that I can understand the logic behind a developer to intervene and assist when necessary if I SEE something going off track. Without knowing the thought process of examples it is hard to know if they are off track, regardless of the structure of the code.
I've heard a few terms for this, the most common being "lead developer". In some larger projects, I've also seen the term "project lead" used.

As stated, more of your work is going to "bridging the gap" with management -- but in terms and views that they recognize and can relate to. This could be Visio docs, Gantt charts, mock UI's (ala Balsamiq, etc.), deliverables/features expressed as workflows over swim lanes of progression, public dashboards, etc. And with a big enough project, there may be more than enough work for both sets of responsibilities -- leading to someone else being the "project architect" so you can take on the business-relations tasks, or vice-versa. At some point, you may have to make a decision about the path that makes you happier -- management versus technical.

However, being a technical resource for your team should not be an issue, regardless of your career path decision.
 
Last edited:
http://www.amazon.com/First-Design-Patterns-Elisabeth-Freeman/dp/0596007124

This was a cool book i glanced through. It gives you nice insite as to how ideas and business cases get architectured for reasons x and y. In the end every developer will always have an idea how things _should_ work but one of the best things a developer needs is the ability to understand the different approaches for X so you weigh the pros and cons of the designs come up from your teams. To do that you just gotta familiarize yourself with design patterns and approaches.
 
As an Amazon Associate, HardForum may earn from qualifying purchases.
Back
Top