• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
What are some prior knowledge required to get started in CodeIgniter?

#1
[eluser]Unknown[/eluser]
Do you have to have knowledge of OOP and extensive MYSQL knowledge? I want to stop building websites using CMS and build from frameworks.

#2
[eluser]xwero[/eluser]
Knowledge you can pick up as you go along. Willing to think about code separation and code reuse is more important.

A CMS is an application, a framework is the base of the application so you are going to have to do a lot of the legwork a CMS already does for you. But on the other hand your applications based on a framework don't have to follow the CMS structure.

#3
[eluser]Bramme[/eluser]
Some basic understanding of OOP is required I'd say... At least it makes it easier to understand. your mysql knowledge has to be extensive as you'll need it... If you want to make a backend with comments and categories for posts etc, you'll have to know a thing or two about joins and so, but as for the rest, you should be fine.

#4
[eluser]Randy Casburn[/eluser]
@foojae, Do you realize that you will have to code many of the CMS capabilities that make your life easier? That is why there is a CMS 'Application' that is built with CI called Expression Engine built and supported by EllisLab. If all you are doing is 'Building websites' you may find that you need a CMS or a portal development platform. If you are developing web 'applications' then you need a framework. All these concepts are quite different. It really, _really_ depends on what you intend to _do_.

Once you get beyond that question, yes you'll need to understand the nature of OOP principles and know to construct an SQL SELECT statement with all it's options (and that is a big statement my friend ;-) ).

Best Regards,

Randy

#5
[eluser]Unknown[/eluser]
[quote author="Randy Casburn" date="1213909899"]@foojae, Do you realize that you will have to code many of the CMS capabilities that make your life easier? That is why there is a CMS 'Application' that is built with CI called Expression Engine built and supported by EllisLab. If all you are doing is 'Building websites' you may find that you need a CMS or a portal development platform. If you are developing web 'applications' then you need a framework. All these concepts are quite different. It really, _really_ depends on what you intend to _do_.

Once you get beyond that question, yes you'll need to understand the nature of OOP principles and know to construct an SQL SELECT statement with all it's options (and that is a big statement my friend ;-) ).

Best Regards,

Randy[/quote]
Randy, Hello.

I should mention that I'm more interested in the application more than websites. I don't know if ExpressionEngine is capable of creating web based applications but I really want to do everything from scratch instead of relying on CMS anymore.

#6
[eluser]xwero[/eluser]
Great you are willing to create something from the bottom up. From scratch would mean you create your own framework but CI is easy enough to understand after a while working with it to make your own modifications.

Bramme and Randy mentioned OOP but there isn't that much OOP in the CI, there are even developers that complain there is too little OOP in the framework. Basically objects are a way to pseudo namespace functions and variables.
considered bad = no OO
Code:
global $var;

function a()
{
   $var = 'a';
  
}

function b()
{
   $var = 'b';
}

function show()
{
   return $var;
}
considered good = OO
Code:
class myclass
{
var $var; // for php5 only apps use public, protected or private

function a()
{
   $var = 'a';
  
}

function b()
{
   $var = 'b';
}

function show()
{
   return $var;
}

}
As you can see it isn't a big change, but one that makes your code easier to maintain and debug.


The best advise i can give you is read the user guide, dive in, look at the helpers or contributions on the wiki or forum if you think you are reinventing the wheel and pick the easiest thing to work with for you. And don't be afraid to ask questions but i guess that is not really a problem Wink

#7
[eluser]Randy Casburn[/eluser]
@xwero - (forgive - this is a hijack)
please be cautious about the "pseudo namespace" comparison. Although it may seem to make a good explanation for now, it is going to make things very confusing in the near future. In case you haven't heard, PHP v6 is adding the use of Namespaces for class declaration/instantiation.

Randy

#8
[eluser]xwero[/eluser]
it's going to be added to 5.3 first Wink

I know it's the no subtleties representation but to me it always felt like that.

#9
[eluser]Randy Casburn[/eluser]
Yes...5.3 I had forgotten! I can always count on you to set me straight. :-P


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2020 MyBB Group.