You can easily and gently restore your body's natural ability to fall asleep by knowing why your body is not relaxing enough to fall into natural sleep patterns. Cure your insomnia tonight! Get it now!
I've used them both extensively, and here is more or less my take: CakePHP + Solid support (irc.freenode. Org @ #cakephp can be very helpful) + Great documentation + Shades of RoR if you are into that + Good amount of plugins available - Generated queries can become unsightly - Overall pretty large overhead CodeIgniter + VERY small footprint + Greater control of application flow + Great documentation + Very little configuration - Not quite as many plugins available - Less automagic in some places Overall, I have met people that live and die by both of them. They both have their place in my heart so I'm not really going to "pick a side" - just take a look at both of them and decide which one is for you.
Please also note that the minuses I put under both are things that are very easy to overcome, just kind of giving an overview of my personal experiences.
46 Less automagic is a plus! ;) – Mario Feb 15 '09 at 22:12 there's a CI channel on freenode, also. #codeigniter – Jason Shultz Aug 10 '10 at 21:16 6 @mario are you serious?
As a previous CI programmer I stick by CakePHP hands down. The AutoMagic increases my development speed by hours. – Angel S.
Moreno Aug 29 '10 at 7:32 4 The "automagic" is just a bunch of conventions. CodeIgniter gives you enough control to make your own conventions which is MUCH more useful. The #codeigniter IRC on Freenode is usually pretty active too.
– Phil Sturgeon Sep 16 '10 at 11:34 3 @Phil: The pendulum swings both ways. – Paolo Bergantino Sep 16 '10 at 16:29.
I've developed several applications using both. Here is the conclusion I've come to: CodeIgniter is, without a doubt, the most well-documented and approachable PHP MVC framework out there. CakePHP's documentation is also very good, but the learning curve is slightly higher.
CodeIgniter's models are optional and serve no function other than code separation. There's no integrated CRUD and its "Active Record" class is really just an alternative SQL syntax. It also doesn't support table associations.So, you will be building many large queries essentially from scratch.
CakePHP's models are far more advanced and similar to those in Ruby on Rails. It supports table associations, has integrated CRUD, and behaviors.In addition, CakePHP has command line tools (Bake) that allow you to generate all the code for basic CRUD operations. Tweak a few things here and there and you've got a working prototype in minutes.
CodeIgniter lacks some essential libraries that are needed in most applications (i.e. Authentication and ACL). You will need to rely on 3rd party libraries in many of your applications.
CakePHP has integrated Auth and ACL, but both frameworks integrate with 3rd party libraries easily. Since CodeIgniter lacks much of the automation that CakePHP brings, there are no strict conventions to follow (this can be viewed as good or bad). This makes CodeIgniter a more flexible framework.
Furthermore, its lack of features and automation do give it an advantage when it comes to speed. CodeIgniter is one of the fastest PHP MVC frameworks out there. That said, the framework is rarely the bottleneck in your in application...and you should be choosing a framework based on productivity, not its execution speed.
Both frameworks have large and helpful communities. CodeIgniter has their official forums and an IRC channel. CakePHP has a google group and an active IRC channel.
CakePHP is currently the most popular PHP MVC framework with the largest community behind it.In conclusion, if you want a fast, flexible, well-documented framework, and don't mind writing extra code and relying on 3rd party libraries, go with CodeIgniter. If you want a powerful, feature-rich framework that does most of the heavy lifting through automation, and you don't mind having to follow strict conventions, go with CakePHP.
8 Very well put. Welcome to stackoverflow. – rick Feb 19 '09 at 17:58 7 "you should be choosing a framework based on productivity, not its execution speed" That is, unless the execution speed is unacceptable.
– Adriano Varoli Piazza Jun 13 '09 at 14:49 1 I would agree with Action that a lot of developers get too hung up on performance and scalability. Any of the major frameworks can support large scale sites with adequate performance. So I think other attributes such as productivity, maintenance, ease of use, etc become more important.
– pbreitenbach Jul 4 '09 at 0:34 1 "CodeIgniter lacks some essential libraries" The same could be said of cakePHP – ascotan Aug 14 '09 at 21:01 I do everything faster in codeigniter than in cakephp. – runrunforest May 25 at 15:05.
Here is a good benchmark comparison of some PHP frameworks, speed-related. Here's one that's more recent. Still 18 months behind, but at least the link isn't dead: phpframeworks.com/news/p/49/php-framewor....
2 Only problem is that is from 2008. :( – Jason Shultz Dec 4 '10 at 4:27 Here's one that's more recent. Still 18 months behind, but at least the link isn't dead: phpframeworks.Com/news/p/49/php-framework-comparison-benchmarks – Axeva Jun 14 at 14:57.
I never used codeigniter but I can say that CakePHP it's easy and quick to start with. My guess is that you should do the tutorials on both website. The blog tutorial is great to start with but doesn't show all you can do.By default, CakePHP use the prototype libs, but I head there is a port of the Ajax helper to JQuery.
The community of CakePhp is awesome. If you need help. Log on irc.freenode.
Org and go to the #cakephp channel. You should get answered within minutes. There is no real configuration to do to be up and ready with cakephp.
What I like the most about CakePHP is how you don't need to write SQL to find complex stuff. You can add behaviour to your models to make them do special stuffs. But there is only one way to find out really what choice do you prefer the most.
Try them out both.
1 +1 just to affirm cakePHP is a nice bit of kit – annakata Feb 15 '09 at 21:31.
CodeIgniter is everything you need and nothing you don't. It's the perfect place to start writing a custom web-application. I'm not comparing this against CakePHP though, as I've never really dug into Cake PHP.
What CodeIgniter is missing is a Joomla style extensions website where programmers can share their hooks, helpers, and libraries.
I use cakephp and have only tried a tutorial of CI. I think that if you want to finish your site faster, cakephp has more things like mvc code generation, the magic where everything just works when you setup your models correctly. Also the bakery, book.cakephp.Org, IRC, google groups, and many blogs will help you hit the ground running.
The community is mostly friendly and there are a lot of people who are very willing to help.
Both frameworks are great, but I find CodeIgniter better in terms of performance.
I can agree with the view points on both frameworks. But as always whats feature rich isn't always good and vice versa. That being said, CakePHP has many helpful features, but that costs something in both performance and complexity.
The same can be said about CI, except that I personally find it much faster to learn and integrate. Yes, it lacks in ACL and many other things but it makes up for all of that in performance and its lightweight enough to just pop in and go. Every time I think about using cake in an app, I always think about its performance and how well it will handle when under pressure.
Keep in mind that this is not a necessarily a bad reflection on cake. I just personally, want to get in, design, integrate my design, test and launch.
Here is my take on this discussion. If you are working with a large data model, building lots of screens, you will want CAKE. Most of this type of work is done in large companies.
If you are building your screens without so much database stuff, but links to other sites (and even their data), with a lot of javascript, then I like CI. Having done both tutorials, CI has a way cooler and a better explained manual. CI is just SMOOTH.
Cake is not bad, but makes a lot of assumptions that they assume you should now, so you have to go look a lot of stuff up. What I don't understand, is why CAKE, with that big development group, does not have near the coolness of CI ... in the web site.
I have experience with codeigniter and now I am trying to learn more deeply cakephp as other frameworks like Yii. I thing that cakephp is better in many cases than CI (as this page already writes) but some benchmarks say that CI is much faster.
Both frameworks are very good but I like to work in ci. Because it is light weighted and simple to use ..
I almost fear putting this kind of post together as it's bound to pull the fanatics (in the negative sense of the word) out of the woodworks. Right off the bat, let me just say that I've tried to be as fair and honest in this assessment and I've tried to keep it just to the facts while interjecting what my preferences are. I'm pitting these two frameworks against each other but there really isn't a clear winner.
Each has its strengths and weaknesses and ultimately falls to what your preference for certain features might be. Why compare these two? CakePHP and CodeIgniter are quite similar in their approach on a number of things, including their support for PHP4.
Any mention of one inevitably leads to someone mentioning the other. They both attempt to create an MVC architecture which simply means they separate the (data) Model from the Controller (which pulls data from the model to give to the view) from the View (what the user sees). They both use Routing which takes a URL and maps it to a particular function within a controller (CakePHP calls these actions).
CodeIgniter supports regular expressions for routing, whereas you'll have to wait until CakePHP 1.2 for that feature. They both support Scaffolding which is an automated way of generating a view based on the model. Scaffolding is meant for simple prototyping and CodeIgniter takes it a step further by requiring a keyword in the URL to even access the scaffolding.
I'm guessing one could omit the keyword, leaving this feature essentially optional. I prefer not to have to use the keyword as I sometimes build personal projects not intended for public eyes and using a keyword would be a nuisance. I believe much of CodeIgniter's appeal is its simplicity in its approach.
Most of the work is done in the controller, loading in libraries, getting data from the model, and pulling in the view. Everything is in plain sight and you can really see how things work. CakePHP's simplicity comes via automation (euphemistically referred to as "automagic").
It makes the coding process quicker but harder to figure out "what is going on" without popping your head into the core. For me, I like to understand how everything works and I've had to poke around under the hood more than once. For people just getting started, things probably look a little daunting.
Note: the method chaining in the second part of this example is only available in PHP5. You can also create a model object, load it in and build custom methods to handle a custom task. You'd want to do this in the model and not the controller to help isolate code into the MVC silos.
CakePHP takes a slightly different route by automatically loading in the model that matches the current controller (controllers tend to be named similarly to the models they are associated with). You can turn off this automated loading and even assign different models that should be loaded by the controller instead. CakePHP also takes things further by establishing all the model associations for you, allowing for some really easy querying.
I chose this particular query because it shows two different concepts. The first is the fact that I can access the Comment model via the Post model (assuming I've defined that association in the Post model). The second is the fact that I have a method called findAllByPostId.
CakePHP allows records to be grabbed via findByX and findAllByX queries where X is equal to the field name you're trying to find. Where I think Cake shines is in its ability to pull in all associated data automatically. This query would automatically pull in all the comments associated with this Post.
Really handy stuff. When working with models, you'll inevitably have to handle data validation. Data validation in CodeIgniter is handled via a validation class.
A set of rules get defined and assigned to the validation object. The validation object automatically (I assume) validates the data passed via the URL or form. From there, you can decide how that gets handled.
The validation class can also help automate some of the process of setting error messages for specific fields. CakePHP handles its validation through the model itself in one of two ways. The first uses a single test against each field defined in a validate variable declared in the model.
This works okay for simple stuff but it quickly becomes a cumbrance. Beyond simple validation, I take advantage of the beforeSave callback to perform any custom validation, invalidating any fields that fail. It's a toss up for me as to which one "wins".
CakePHP 1.2 will have its validation system reworked a bit to allow for more flexibility. CakePHP handles this fairly well by using a default layout (which you can easily switch at runtime). The layout has two variables be default: title_for_layout and content_for_layout.
Each action automatically links to a particular view which gets spat into place. Again, it's the "automagic" approach. As long as you name your files a specific way, controllers automatically get linked to models and views.
It's easy enough to override all of this, too, and define your own layouts or view files. There's no convenient way to get the generated view data, however, making custom built caching mechanisms difficult to implement. CodeIgniter takes a very straightforward approach: like include files, almost.
Each file gets loaded in and processed. There's a templating class but it doesn't simplify things much beyond the built-in view handling. You can mimic the CakePHP approach by always including the header and footer calls but it's not as seamless.
CodeIgniter offers hooks allowing view and caching mechanisms to be overridden and replaced with a custom system. CodeIgniter in my mind wins this hands down with classes for FTP, Email, File Uploading, XMLRPC, Zip encoding and more. CakePHP on the flip side comes pretty light but tries to make up for it using the Bakery.
You can, like CodeIgniter, easily drop in 3rd party classes for any features you might need. Interestingly, although I haven't tried it, you could probably drop in many of the CI classes into CakePHP without issue. CakePHP allows for application-wide changes to be done via the base application controller that all other controllers inherit from.
Likewise, you can create global model methods using the application model file. However, you can fine tune things at the controller level using any of the controller-level callbacks (beforeFilter, afterFilter and beforeRender). Things like auto-loading helpers and components can also be specified easily at the individual controller level.
CodeIgniter allows for the auto-loading of helpers, libraries and plugins but does this application-wide. Documentation is key to understanding any framework well enough to develop within it. CodeIgniter has a complete list of all components with each method and property documented within.
CI also has forums and a wiki which feature a lot of user-submitted code. CakePHP, on the other hand, isn't as well organized. The manual is starting to show its age with some sections not really going much beyond what the API offers.
Because of the format of the original documentation, you can also get it in other formats such as CHM and PDF. CakePHP has the Bakery which contains user-submitted articles, components, etc. The dev team also hangs out heavily on the IRC channel (#cakephp at irc.freenode.net). Finally, there's the CakePHP Google Group which is pretty active.
I'm a pretty pragmatic individual and I honestly feel that these two frameworks have a lot going for them. They take a much simpler approach to application development than the complexity that is something like Symfony. I'm still personally a fan of CakePHP over CodeIgniter for much of the "automagic" that I mentioned.
And it's shortcomings have been getting addressed with each new iteration (1.2 will be a considerable leap over 1.1 but it will still be awhile before it's released). This comparison was based on the documentation for CodeIgniter 1.5.2 and having used CakePHP 1.1. I have specifically avoided the subject of performance due to the amount of time required to design, develop and test such a thing.
It is best to see a physician to get a formal diagnosis for an anxiety disorder, but it is possible to identify common symptoms. These may include: irritability, restlessness, anticipating the worst, trouble concentrating, feelings of apprehension/dread, tremors & twitches, muscle tension, shortness of breath, and insomnia.
Anxiety disorder affects more people than you think. Millions of people suffer from anxiety disorders however the majority of them keep in to themselves. That's why it's important for more people to learn what it is so they can help their friends and family.
The best thing you can do is find a good experience doctor and therapist. There is a fine line between anxiety and anxiety disorder. It is safe an often natural to feel anxious during the day for example, you are in a job interview and you're not sure if you going to get the job, so you try your best, even harder than usual.
This type of anxiety keeps you on your toes. However some people with anxiety disorder might react differently in some situations. Anxiety attacks that leave you completely confused, dazed, scared, can often be the symptoms to anxiety disorder.
If you know someone or if you feel that you are over reacting and always worried about small things in life you should consult a therapist. When consulting a therapist or doctor make sure you check to see if they are experienced in treating patients with anxiety disorders because there are often confused with other disorders such as phobias, obsessive compulsive disorder, panic disorder, or depression. How a patient develops anxiety is often unknown however what is known is that everyone starts of the same way.
When an individual is born they have an automatic response mechanism that keeps them out of harms way, ie pain or being hurt. For some reason as we grow older our perception and reaction to situation changes and this is how anxiety disorder is formed. Symptoms of anxiety disorder is often described to increase your heart rate, pressure on the chest, light-headed, shaky, queasiness, urination or bowel disorders.
Being extremely scared The need to escape to a safer place People are starting at you You may experience a delusion that you are sick You should always consult a professional doctor or therapist before coming to any conclusion that you have anxiety disorder. They will be able to better advise and prescribe a treatment that best suits your situation.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.