CodeIgniter Forums

Full Version: Minor PHP knowledge, what should be my next steps to advance? Back to PHP, or straight to CI?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

El Forum

I've heard a lot of great things about Code Igniter as well as for the community that it harbors.

As a user of ExpressionEngine, I've decided to take the next step and head on over to these forums in hopes of getting some opinions on the best approach of what I'm looking to achieve.. With ExpressionEngine 2.0 around the corner, I'm essentially looking to extend my knowledge so I can get around to writing some add-on's to extend EE's usage.

I've delved into PHP development before, reading a few books from Peachpit Press, but have to admit I haven't exactly tread into the more complicated subject matter. I pretty much stopped right before the books dove into OOP (Object-Oriented Programming). My knowledge, I suppose, extends up to storing, altering, and deleting something in a MySQL Database and displaying it.

Since I haven't played around with PHP for a good bit, even that is probably a bit fuzzy for me right now.

My question is, should I delve into CodeIgniter and begin from there, or go back and learn PHP all over again until I understand up and through OOP?

Is there a certain point of skill in PHP where you'd say or conclude that I'd be fully ready to come in and tackle CI? For example, if I can do "X" in PHP, I can probably go on into CI and understand or should have the potential to understand the framework without frustrations from lack of PHP knowledge.


El Forum

I'd go and learn some OOP. Good news are that Code Igniter is designed to work with PHP4, and objects are quite simpler than on PHP5.

So you can read your old book's chapters on PHP 4 objects, then learn CI, and then I'd learn PHP 5 objects, which are more powerful that PHP4 ones.

Hope that helps.

El Forum


Thanks for the advance, but I'd probably like to avoid PHP 4, as it is no longer officially supported, so perhaps my resources should just be spent going back to PHP 5 before CI I suppose? That'd be the most logical route, but I suppose I was somehow hoping for some genie to tell me that CI is the holy grail of all PHP frameworks and that I could skip even most PHP knowledge itself. Smile That's wishful thinking and part joke of course.

El Forum

I think if you have a basic grasp of object oriented principles you can dive right in to CI. Before using CI, I knew a little bit about OOP, but was nowhere near proficient. I'm stilling figuring things out, but I think CI has helped me along the way. If you understand the basics of OOP, then I'd say jump right in and learn the more complicated stuff along the way.

El Forum

[eluser]Pascal Kriete[/eluser]
CI is very light on oop, so if you understand the basics (inheritance, method overriding - the stuff you need when you want to extend things) you will definitely be alright. Even without it, you can build a complex application by simply following the user guide closely. It'll just feel very 'automagical' to you.

I would say it's more important to be familiar with the PHP documentation and have a grasp of the frequently used functions for the common data-types (strings, arrays, etc). Knowing some SQL doesn't hurt either.

El Forum

I actually thinking knowing SQL is going to be more important than knowing hardcore OOP PHP. Active Record gets a lot easier when you know what you're trying to build. Wink

El Forum

before i met CI, i hv such a limited knowledge about OOP.

but '->' marks in CI, helped me to understand to about OOP in PHP. all i have to do, just type
it explain everything u got at hand.

El Forum

To write applications in CodeIgniter you need to use PHP. If you do not know PHP you cannot write applications with codeIgniter. CodeIgniter allows you to focus on the meat of your application instead of fluff. It provides structure, flexibility and hell it speeds everything up. However it is written with PHP and thus PHP knowledge is essential.

You also need to pick up SQL as well.

I would suggest that you build a blog application with php. You can then pick up CI and convert your blogging app. This will give you a good base knowledge to go on to do bigger and better things.