The SitePoint Forums have moved.

You can now find them here.
This forum is now closed to new posts, but you can browse existing content.
You can find out more information about the move and how to open a new account (if necessary) here.
If you get stuck you can get support by emailing forums@sitepoint.com

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Industry-ready professional mean that whatever task you are requested to accomplish, you will be sure for yourself that you can do it.

What is your programming background? Have you been taught programming?
If not it will be very difficult and besides coding logic, web coding has a lot of other concepts to learn, like security and the http protocol inner workings.

Besides that if you think you can do it start with php.net documentation.
Read it, learn all chapters, except the ones that describe the modules' functions then when you'll have learn how the language works start reading simple tutorials.

I use Dreamweaver and nothing more. Frameworks for me are just another layer of complexity above simplicity. Besides that it is another thing you have to learn.

And remember languages are just tools, it's problem solving that it will make you a professional.

Hmm... I'dd sugest getting into C/C++ even before PHP. A bit of Java too.
I'm not saying that you need to necessarily master it. Just pick up the concepts of procedural and OO programming from there and have those ready to apply to php.
For now stick to whatever platform you already have, Apache and PHP run on just about anything, so there's no need to start investing yet. Spend your buget on books and classes for now.

Programming boils down to three things: fast, good and cheap.
Please pick two.

C is an old language, and PHP brings in so many new techniques and differences that people can have problems.

I actually recommend mastering Javascript first, then PHP.

Come on guys, try to be serious.

Imagine this: I am going to live in Spain so I ask how easy is it to learn Spanish. How many people would be telling me to learn Latin and Greek first so I get a good understanding of languages before I start on Spanish? The whole concept is a joke.

Learn a language based on what you want to do. If you want to code websites consider PHP, PERL, ASP, etc; if you want client side scripting learn Javascript, Flash or Java applets and if you want to write your own applications look into Java, C++ and .NET.

What platform(Linux/Win/Mac) and Sever(Apache/IIS) would you suggest to develop?

Use the OS, you're familiar with. There are builds for all major OS'es. Use Apache as webserver, unless you have a reason for doing otherwise. It's the most used server, by far.

Originally Posted by aryandelhi

Which IDE/Editor and framework do you use?
Suggest the combination used by Professionals/Web Dev conmpanies.

Unlike for example ASP, where you get an IDE bundled with the language, PHP doesn't have a single IDE. I'd say that there are basically two different paths you can take; Either you go for an IDE, which is tailored to integrate with the language. Examples of this are Eclipse, Zend Studio and NuSphere PhpED (And a couple more, I forgot about). The other path is to use a general purpose text editor, which doesn't have language specific tools integrated. You can combine this with a suite of stand alone tools (Often command line driven).
Both styles are usable, and you'll find professionals using either. I'm guessing that the former style appeals more to people with a background in web design, or for programmers coming from ASP. The latter appeals more to people coming from an open source programming background - for example C programmers.

I am novice to php. Please tell me how should I begin learning php/MySQL?

Originally Posted by aryandelhi

Which IDE/Editor and framework do you use?
Suggest the combination used by Professionals/Web Dev conmpanies.

You will learn PHP and MySQL separately. I suggest, begin with PHP and directly with PHP. There is absolutely no need to learn C, JavaScript, etc. before you start learning PHP. Discard all suggestions that tell you to spend your time on an other language first. Instead, use that time to practise PHP.

One more thing, at this time, don't bother about what professionals and companies are doing. If you must know then I can tell you that they are running in Olympics and you are about to take a walk in your backyard. It's not that you can't become a good athlete, it's just that no one can on day one. Step by step.
There is a process that you have to go through. I'm sure one day you will be using the production tools that those companies use.

The PHP manual is excellent, you will find answers to most of the questions in it. Examples are provided in the manual that you can practise. Then use your own imagination to collectively use the ideas from examples and apply in your own code. That is more useful than learning a language. In fact, that is what will make you an Industry-ready professional.

You shouldn't be searching for (out-of-scope) PHP tutorials unless you completely understand the said parts of the manual. If you must find more examples then use a good search engine e.g. Google.

Come back here anytime should you need some help.

PS: You will come to know of the best OS/HTTP server combination, IDE, framework etc. yourself. It's just a matter of time and exposure. You will decide what's good for you yourself.

That's a very ignorant view. Should work fine for a guy trying to build himself a guestbook, but not for a pro.

Do yourself a favor. Lookup the PHP manual and search how many times you can find phrases such as "like in C", "unlike C", etc in there. That alone is reason enough to go study C.
Not to mention the fact that practices such as indenting, aligning, commenting, etc and notions such as performance, optimality, development patterns, etc are not covered in the PHP manual and are best picked up by studying an actual language.

Nevermind, go ahead directly, we hate competition anyway.

Programming boils down to three things: fast, good and cheap.
Please pick two.

This 'will' help...

Hiya

I was an absolute beginner, I had no knowledge of PHP, MySQL...what platform it should be run on or anything. I recommend starting from the beginning.....like some of the others have said....completely forget the need to have learnt other programming languages, that will really only serve to complicate things for you. I know a bit of Javascript, and although there are loads of similarities, there are differences.....that even I sometimes confuse between both languages.

It will teach you the very basics, you will learn from examples........but before you learn that, you will learn how to install and run PHP and MySQL within both windows or linux environments. You will also even learn how to manipulate databases within the MySQL environment.....I found this a great benefit to me, because when implementing queries (as they are known) in the PHP language....I was already familiar with them from a previous chapter.

After you have learnt the very basics, and the few advanced techniques that are described in the book.......you can then (if you choose) move to the object oriented method...(I know very little about this currently)...for that you could obtain and read this:

I don't think saying "disregard all other opinions" is the best advice. Everyone is different and learns differently. I came from a music/pro-sound/multimedia background. If there is one thing I learned from playing music for 15 years, it was that in a pursuit that requires a high level of skill and creativity, you have to love what you do. If you don't you won't last as a professional. You have to constantly learn and develop your skill. Keep up on everything that is new.

I started with javascript and moved to asp and then PHP. I think there is some wisdom in learning a strongly typed language first, but I wouldn't pick C/C++ for one simple reason. The ins and outs of memory management in those languages, are not the best thing to present to a brand new coder, especially if their goal isn't to write desktop based applications, but rather web based ones. Learning data types is a good skill, but could be learned later after other language basics are learned.

I think you can start just fine with PHP. Just make sure for your sake and others (including those of us on this forum that have to undo what bad habits others have taught), that you learn from something recent, that doesn't teach you to use things like register globals and magic_quote_gpc, etc.. PHP v6 won't even have those features in it. Get used to it up front.

Woa, stop. The best way to learn PHP is to learn PHP, not C, DEFINATELY not C++, no other language.

After PHP, I recommend learning a client-side language such as Javascript. Not because it will help you with PHP or whatever, but because you'll learn what it can do. Im fed up of people posting on PHP forums what could easily (or only) be done by JavaScript.

Jake Arkinstall
"Sometimes you don't need to reinvent the wheel;
Sometimes its enough to make that wheel more rounded"-Molona

The linux distro isn't really that important. Any of them will work well. There are a lot of web hosts that seem to like Cent OS, Ubuntu or Red Hat, I think this mostly due to the presence of a package manager. There are other distros that have that as well.

For mostly PHP, I would recommend either PHPed or Zend. Dreamweaver code view isn't bad, and it has integrated FTP but you pay a lot for features that a PHP coder isn't likely to use. I still use it for some things, but Zend is much better for PHP.

Ihtesham, I don't think there's any need to attack what other people say.

I for one completely agree with those who say one should start with learning a strongly typed language such as C or C++ first.

I started learning PHP about 6 years ago. Well actually I started with JavaScript, then started learning PHP. After getting thoroughly confused, I decided to go learn C, then C++. I then went back to PHP and it was much easier to learn.

Do you want to learn to program, or do you want to get stuck with a specific language, e.g., PHP? Even if PHP is your goal, C and/or C++ are very good at teaching the fundamentals of programming. I would go so far as to say that you are severely limiting yourself and indeed hurting your future progress if you don't learn some strongly typed language first.

And if you do, you never know, you then might find PHP revolting because of its dynamic typing and choose Java or C#. But maybe not, but at least you'll have he experience of a strongly typed language.

It's not an easy nor fast path to learn to program well. Don't cut corners.

And if others disagree, well that's your opinion, and I've posted mine. Don't bash those who say differently.

Ihtesham, I don't think there's any need to attack what other people say.

I for one completely agree with those who say one should start with learning a strongly typed language such as C or C++ first.

I started learning PHP about 6 years ago. Well actually I started with JavaScript, then started learning PHP. After getting thoroughly confused, I decided to go learn C, then C++. I then went back to PHP and it was much easier to learn.

Do you want to learn to program, or do you want to get stuck with a specific language, e.g., PHP? Even if PHP is your goal, C and/or C++ are very good at teaching the fundamentals of programming. I would go so far as to say that you are severely limiting yourself and indeed hurting your future progress if you don't learn some strongly typed language first.

And if you do, you never know, you then might find PHP revolting because of its dynamic typing and choose Java or C#. But maybe not, but at least you'll have he experience of a strongly typed language.

It's not an easy nor fast path to learn to program well. Don't cut corners.

And if others disagree, well that's your opinion, and I've posted mine. Don't bash those who say differently.

Not to "bash" you but is typing really that important to learning PHP? I had no trouble at all going from Javascript to PHP. All the rest of PHP is very similar to C. Constructs like If statements, switch statements, etc. are exactly the same. Yes understanding data types is important, but that is really all those languages have that PHP doesn't that you can't learn with PHP itself. If typing is really that important, then I suggest variants of ECMA 4 (Actionscript 3, jScript.NET). That has the added benefit of getting a developer ready for Javascript 2.0.

Having said that, there is no reason why one can't learn PHP as a beginning programmer. It wasn't around when I first learned, but I really don't see the problem now.

Desktop apps and web apps do not have the same design considerations. If your aim is the web and you are starting out, I wouldn't recommend a compiled language (except perhaps D which has garbage collection). As I said in a previous post, it would be a waste of a new web developer's time to learn the ins and outs of manual memory management, right out of the starting gate. Not everybody has all the time in the world to learn. If you want to get up and running in a reasonable amount of time, you have to try to target what you learn a little more precisely.

PHP developers do need to know some Javascript, and it doesn't hurt sometimes to know a little Actionscript as well. After working with AS 3 for a while now, I can say, if anything will force good OOP practices on a new coder, it would be that.

Programming is a constant learning process. Time enough for learning a second, third or more language(s) after you have mastered the basics of one of them. PHP is not that bad of a first choice, especially with the increased focus on OOP in PHP and web app development in general.

As for my 2c, I think that learning a staticly typed language before jumping into the dynamic sphere makes alot of sense. Remember that PHP (and other modern dynamic languages) is dynamically typed rather than typeless and not having an understanding of typing will eventually bite a developer hard.

Now, I don't think C or C++ is the right choice for that statically typed language to learn on. But Java or C# are perfectly adequate as they have most of the good stuff of C++ without the bad stuff (manual memory management).

Do you want to learn to program, or do you want to get stuck with a specific language, e.g., PHP? Even if PHP is your goal, C and/or C++ are very good at teaching the fundamentals of programming. I would go so far as to say that you are severely limiting yourself and indeed hurting your future progress if you don't learn some strongly typed language first.

And if you do, you never know, you then might find PHP revolting because of its dynamic typing and choose Java or C#. But maybe not, but at least you'll have he experience of a strongly typed language.

I don't know what PHP version you develop in, but I don't recall having to compile any of my applications myself before running them. Including the one I'm working on now. PHP is considered an interpreted scripting language. Don't confuse new coders here just cause you want to be a smart a**.