views:

109

answers:

6

I have been using PHP for quite some time now and was wondering what to study for looking into advanced topic - and what advanced topics those are. Please could you offer ideas on what type of projects or functions of PHP to use (which would give the greatest ability for me to take my PHP knowledge and skill to a higher level).

+1  A: 

Explore www.php.net site, I guess it will give a lot of inspiration for your study.

Artem Barger
+5  A: 

I would suggest you these two great books:

Sams: Advanced PHP Programming.

alt text

php|architect’s Guide to Enterprise PHP Development

alt text

.

Note: The official PHP docs are always magical and you learn a lot from it really !

Sarfraz
I think advanced is a very relative term.
Mark Tomlin
I've ordered myself a copy of the second book - it looks very good and is well reviewed. Thanks for your suggestions.EDIT: I have been doing PHP on-and-off for a couple of years but I find it hard to define my experience level. I have never attempted a project that I could not do - yet I have never attempted a vast or advanced project before.
jSherz
+1  A: 

You should take a look at http://www.phpframeworks.com/ and pick one framework, and make a project, than try another one, try to understand why different framework use different techniques for some things and the same techniques for other things.

Perhaps you should try to create your own little framework, or to extend an existing frameworks with libraries you often need.

jigfox
Thanks for the link, I've been looking into using CakePHP and it seems a good starting ground for working with an advanced system for writing code. If I find it does not suit my style or I find issues then I can always try another one. Thanks again!
jSherz
+1  A: 

If you are not already into the two bellow I would seriously suggest you start there.

  1. Objects
  2. MVC (model view controller)

If you are asking this question you probably feel that there probably is a better way to reuse your code. That there probably is a better way to split logic from structure. If that is so go with the two bellow.

It will probably take a while to get used to Objects but it be worth while.

The one best thing I can suggest you is to embrace a framework.

You'll be forced to write your code following standards and you'll get a much better notion of how advanced php software works.

Frankie
I have already looked at CodeIgniter for developing scripts and have decided it would be best to use it, or something similar - such as CakePHP - when designing my projects. The best option, in my opinion, would be for me to be able to learn how to write my own simplistic "framework" - as in using MVC without the need for an external infrastructure. Thanks for your response.
jSherz
+2  A: 

There are number of things which you can do to learn advance topics. Learn different types of php frameworks and architecture.
Explore advance open source projects such as content management systems. joomla mambo. Magento. How these are coded and their architecture are build. Try to understand the architecture and techniques has been used in them.

Explore zend framework libraries, classes and different modules.

there are different php libraries which you can explore such as image magick, ffmpeg for video, PHP curl, PHP input out stream, Read specification of php 5.2 and 5.3. what is major difference in them. what is new in php 5.3.

There is whole lot of other stuff. keep exploring and keep learning. Over the internet, there are whole world open.

If you done all that then come up one step further, Join forums and different php programer communities such as Stack overflow, Keep helping others by solving different challenging problems. Sharing is caring. more you share more you gain.

Remember: The beginning of knowledge is the discovery of something we do not understand. (Frank. Herbert)

Ghost
+1  A: 

http://www.tuxradar.com/practicalphp/

This "book" is pretty easy to read with tons of examples. It's split up into manageable sections and teaches you most of what you need to know to get started with a framework like CodeIgniter.

treeface