I want to start developing in an MVC framework, specifically CakePHP.
I see they have released 2.0.0-RC2 and was wondering if it is a waste of time to start an app in 1.3 when 2.0 is right around the corner. Should I start learning and developing in 2.0-RC2 rather as I'm guessing most of what I will learn in 1.3 now might become redundant soon?
Thank you.
I would advise against starting on a Release Candidate when you are new to the platform or programming pattern - mostly because you won't know the difference between broken/missing functionality and your lack of knowledge.
Start with the stable build, then move to the new hotness once it has an official release.
For now, you can start learning CakePHP 1.3. There is official documentation from where you can start and also you have a lot of examples on internet. When CakePHP 2.0 come stable you will be ready to work with it.
Well .. first of all , i would recommend against use of php frameworks before you have learned enough to understand how they work.
But especially large distance should be kept from Cake and other Ruby on Rails clones in PHP. They all are filled with bad practices, and it is not MVC pattern which they are implementing.
I would start with CakePHP 2.0.0-RC2 as CakePHP 2.0 is the future of CakePHP. CakePHP 1.3.x is outdated in my opinion as it is still PHP4-based...
For documentation, see the cookbook for CakePHP 2.0: http://book.cakephp.org/2.0/en/ . And if there are questions, ask in the IRC channel, or post in the Google group (or here), and/or read the source code.
Related
Are there any good resources for learning PHP/Zend (perhaps specifically) for a Ruby/Rails dev? Some sort of crash course would be ideal!
I just need to know the basics so I can work on a PHP app that has been built with the Zend Framework.
If you are in the unfortunate position of having to use the ZF, they do have pretty good documentation here, though it's not on par with Rails' (it should be enough to let you work on a legacy app though): http://framework.zend.com/manual/en/.
The PHP documentation is very good. So is the previously mentioned Zend Framework Manual and to put it all together are a couple of good quickStart tutorials:
the first is Rob Allen's ZF 1.x tutorial
The second would be the ZF quickstart
These should get you up and running...
I found the Zend certification study guide was a good reference that covers what you're expected to know. It will give you some perspective: http://www.zceguide.com/
I am a newbie in PHP Frameworks and would like to share/discuss some experience with you guys. Getting straight to the point, what I understand till now (from a newby stand of point is this):
CodeIgniter + Doctrine + Twigg = Symfony:
Zend + Doctrine + Twigg = Symfony
Symfony 2, uses php5.3 (I realy like namespace stuff remind me .Net)
but it lucks of tutorials right now (only partial jobeet translation to ver2)
I enjoy CI community and noumerous tutorials, plus using Doctrine + Twigg I could achive the same with Symfony.
Zend is more enterprise with lots of tutorials, but more difficult to grasp than CI.
So the question is should I start with CI + Doctrine or learn directly Symfony2?
Am I correct with the above assumptions?
Start with CodeIgniter if you are new to frameworks. Both Symfony and ZF have a greater learning curve and if you're not familiar with some concepts you might get fustrated in the beginning with the more complex frameworks .
I would suggest you to go with Symfony 2 since it has got lots of good stuff built around it. Take a look at this article http://www.phparch.com/2010/02/symfony-2-benchmarks/.
Hope this link is very useful on learning Symfony 2. It's a tutorials based on days (21) teaching you how to create a calendar website. Good luck.
http://symfony.com/blog/do-you-know-jobeet
More:
http://symfony2easy.blogspot.com/
http://www.dobervich.com/2011/03/03/symfony2-blog-application-tutorial-part-i-project-setup/, http://www.dobervich.com/2011/03/05/symfony2-blog-application-tutorial-part-ii-the-data-model/, http://www.dobervich.com/2011/03/09/symfony2-blog-application-tutorial-part-iii-routing-controllers-and-templates/
it really adds up to what your requirements are.
Symfony is great, though my only bash on it is that it requires PHP 5.3, which is great, but make sure your host has 5.3 support. Also the issue of using CLI bugs me.
CodeIgniter 2 on the other hand requires 5.1.6, which is good for me as my host is still on 5.2; I also like how small CI was compared to Zend or Symfony. Now like you i like some of symfony's components and i use 2 of them (swift mailer & twig) on my CI install. doesnt mean you should just junk ci and go symfony. CI is built to be a stepping stone framework that you can build on. Symfony to me is a full-fledged framework with everything and the kitchen sink.
having said all that, not all frameworks are created equal. I use CI for one project and Kohana for another. Kohana offered me something i liked that CI didnt do and thats fine.
I think you should look at the different frameworks out there, some are full featured, some are bare-bones and allow you to grow with your needs.
You may quick start with Cygnite PHP Framework. Simple yet powerful tool to build your next project. It gives you exceptional performance. Check benchmark results:
Performance benchmark results
My client wants to Migrating their custom developed php project to cake php framework. But, as of now i have only a bit of knowledge in CAKE. can anyone please let me know where do i get started CAKE php. i have already installed CAKE in my system
Where do you get started? Probably on the CakePHP website?
Seriously, watch some screencasts, download some example apps and mess around with them.
CakePHP has a sweet steep learning curve. I recommend to go with the new 1.3 version.
It is easy to start with the CakePHP Book and the API documentation. When in doubt, just look into the source code, it's all just PHP! Google should be also a good friend of yours. However CakePHP is "just" a programming framework, you must know PHP, ORM, MVC and similar concepts in advance.
i am looking for a new php(5) framework it must be lightweight(x<500kb), oop, have orm, active record built in, simple to learn, fast to use, active community and dev.
I need it for small, personal app development.
My php skills are quite low and i have .net background. I have previously used LightVc+cough and codeIgnitor php frameworks.
There are so-many frameworks there and it is quite hard to find the best.
I have checked the other threads here but they are to old to consider sustainable.
Thanks for your time.
I think you dig out the http://www.phpframeworks.com/. It has details about each and every accepted framework.
Code Igniter is very popular and also supports PHP4: http://codeigniter.com/
Unlike .NET and miscellaneous other programming languages, you really don't need a framework to write a PHP application. In fact, I'd advise against it. Learn the language, not a framework.
For someone with low PHP skills I'd say codeigniter although it doesn't have ORM built-in (it has a sort of lightweight active record class), but there are tutorials on how to use Doctrine (a good PHP ORM solution) with it.
However if you want a PHP5 only framework (as in written to take full advantage of PHP5) then I'd suggest looking at Kohana (a PHP5 only fork of codeigniter), Yii or Zend framework.
I am going to be builiding a site like ebay - with all the features of ebay. Please note my payment method is limited to paypal.
What would be the best PHP framework
to use to build this quickly,
efficiently and with the smallest
learning curve?
I have narrowed down to CodeIgniter as the major contender for this project - but having looked through the docs I couldn't find a library or class that I can use with paypal - is the same for all frameworks- surley not?
Zend framework - I considered this but although its documentation is very good, hardly any video tutorials - other frameworks seem to have lots of these especially with normal developers creating screencasts - where is the Zend community!
CakePHP - Having read the stackoverflow threads, I gathered this is a slow framework, giving developers little control as it seems to be a CMS backbone rather than a framework - agree? It was also said cakePHP and Zend have a steeper learning curve than CodeIgnitor.
I have start my short-listing again and I would appreciate any help with this.
Thanks all
You'll very likely find CodeIgniter to have the lowest learning curve. Regardless of the framework you choose, you'll have to pick up where the framework leaves off, and that is going to mean a significant amount of work on your part (if you truly want to implement all the features of ebay). There seems to be a PayPal lib in the CodeIgniter Wiki. Looks like it would be a great place to start.
Cake is not a CMS backbone, it's a framework like the others. It's just more opinionated, i.e. geared towards CRUD operations (create, read, update, delete, what you typically do in a CMS). If your application is focused on CRUD, Cake will give your development a kickstart; you can get a complete admin interface for your database tables up in, literally, minutes.
Thanks to that it may be a little slower, especially compared to "loose" frameworks like Zend, but in the end it won't matter much. You can do anything with any of these frameworks and any of these frameworks can be optimized to run as fast as possible. Try to get a simple prototype app up and running in all of them and choose the one that seems most comfortable to you.
I'd really recommend Codeigniter for speed. I've made a few things with it and it was great.
If you need some help learning Codeigniter Nettuts has been doing some really good screencasts
In the end, it won't matter. Your code for database and presentation will trump any 'problems' your framework has. The frameworks you listed are awefully similar. You'll be more or less stuck with which you pick, so pick one and learn all you can.
If you're going with codeigniter (note, maybe take a look at Kohana too, the php5 fork of CI), you can always use libs out of Zend if theres something that fits your needs.