Can anyone suggest me a nice and simple framework for PHP ?
I have tested CodeIgniter and it seems simple. I have been reading about CakePhp, but it seems a bit more complicated than CI. Maybe there are other nice frameworks that could be worth looking at?
I am the creator of a small framework named Laravel. It is RESTful by design, extremely simple, and has great documentation.
Other features include a beautifully simple ORM and session / cache drivers.
Try the simple php framework
http://code.google.com/p/simple-php-framework/
Also, see this question on Stackoverflow.com since your question is more suited to that site
https://stackoverflow.com/questions/526040/simple-php-framework
Picora is a nice an clean PHP-Framework. Its even small enough to read the whole source and understand exactly what it does. Unfortunately the main developer drop maintaining it but you can find the source on GitHub.
I've written two articles/turorials about it (in german):
http://aaron-mueller.de/artikel/einstieg-in-das-picora-framework
http://aaron-mueller.de/artikel/modell-relationships
QCodo seems to be back under active development. I'm not sure what's changed in its fork, QCubed -- I think they just branched while QCodo was stagnating, but it also might be worth looking at.
http://alternativeto.net/software/codeigniter/ is a good source for CodeIgniter alternatives.
Go for Laravel. It is a great Awsome Framework for the Web Artisans.
It has greate security.
It has ORM.
It has Migrations.
It has clean Syntax.
It has beautiful Templating Engine.
It has Awsome Documentation.
It has Active Community and also increasing day by day.
Good Luck for you :)
Love for Laravel.
"Cheers!Enjoy coding"
Related
I need to re-architect a PHP application that is entirely procedural. Pretty much every WTF-ism you can ever think of is in this which means that it's likely to be more of a rewrite than anything else.
I want to stagger this and would like to do it with MVC.
Can anyone recommend a PHP framework that is going to help me?
The current database (MySQL) is OK - but the code isn't.
Some updates:
* I consider myself to be very skilled in web programming but I do very little in PHP
* A lot of experience in MVC
* No issues with Design Patterns
* The project is an ecommerce platform
* I am coming from a mainly .NET background
You should take a look at CodeIgniter. It's fast, stable and easy to learn.
I use Codeigniter pretty much all time. It's quite easy to use and it has a light footstep (it loads only classes you use).
CakePHP 2.0 beta has pretty much everything you'd want in a framework. It's fast and it's really good once you've picked it up.
If you have previous experience in Ruby on Rails => Yii
Else if you have previous experience in Django/Spring => Symfony2
Else if you have no experience in any framework & fast way learnig => CodeIgniter
CodeIgniter is probably the simplest answer. It's easy to learn and well documented. However, I prefer Zend Framework because of the templating system, the extensive library, and the new ZF tool. However I found the learning curve on ZF to be a tad steep. I recommend getting a CURRENT book to learn ZF. "Easy PHP Web Sites with Zend Framework" is very good.
http://www.wjgilmore.com/books/read/easy_php_websites_with_the_zend_framework
if you want other decision it's symfony(herder) or Yii(very easy to learn).
Simple project are creating by using(CI), if you project is harder use symphony or Yii.
If you want became ninja FrameworkDev learn Zend
I'm building this web site for my friend's startup. The site when its complete should be able to handle 10,000 users at a time and should have great security.
I've been developing the site individually till now and everything seems to be pretty feasible, but some of my developer friends suggest that i move to a framework.
What are the pros and cons of moving to a framework?
Also i have developed a pretty big part of the website till now, so can i just move it into a framework environment. I've never worked on any kind of framework before.
Cons of going to a framework:
a learning curve
you may have to approach things differently then you would normally
performance overhead (probably slight)
Pros (of a GOOD framework):
much of the mundane coding is already done
helps you write clear, compartmentalized code
libraries included to help you with security, database communication, etc
easier for other developers to jump into the project
bug fixes from the framework's community
The number one benefit of moving to a framework is that the people who developed the framework already solved (most of) the problems you would face if you would do everything yourself. I think this argument should be enough to answer your question.
If you need help in choosing a framework, stackoverflow has lots of already answered questions in this area. You should take a look at some of the opinions already posted and decide what you need.
Why do you want to invent the wheel over and over again? Building your own system is, in my opinion, only usefull if you want to learn how to build such a system and get familiair with the basics of a CMS. The problem with it is that you have to do all the debugging yourself which will take ages. With a framework, other people already did that work for you, so you can make progress much faster.
There is no thing like a best framework. I have worked with Zend Framework and Kohana 3. Both are really nice frameworks but if it was up to me I would take Kohana. Remember there are many more frameworks and this is not a complete comparison. Just give it a google and choose the one you feel most comfortable with.
Good luck!
I would suggest the Zend Framework as per your requirement.Just look at site view futures,but it some what difficult to learn in start.But if you want customization then Core php is the best.For security you have to know the things some better way like sql injection & design the architecture according to it.For faster development you can also move to ROR.
Have Dream Day
Further to my comments, I find working with other peoples frameworks rather a procrustean endeavour. Because I wrote it, I know my framework inside out and can rattle code off very quickly whereas when I am coding for a popular framework like CodeIgniter, Zend or Symfony it takes me that little bit longer to remember how I'm supposed to do something in the way they want me to.
Of course, a lot of the hurdles, common tasks and security issues will have been encountered and solved for you if you use a framework. However, if you've already written a large part of the website code then refactoring it to leverage a framework could be quite a substantial undertaking unless you've been quite clever with your initial architecture and have things loosely coupled.
I'm embarking on a very big exercise to build a CMS in php. It's actually my attempt to learn PHP in a fun (and hardcore) way coming from a Java background. Java is all object oriented so oop is in my blood, but I'm finding that OOP hasn't made it yet to PHP. Most PHP is still being written today the old way without the new concepts.
I'm trying to find an example PHP CMS that's written as object oriented. I hear Xoops is. Any others you know of? or any OOP libraries in general that you know of that could help me in a CMS project.
I would suggest symfony framework as it is well documented and functional framework that helped building many web applications.
http://www.symfony-project.org/
PHP5 is pretty OOP. Look for CMSes and frameworks that only work on PHP5. For example, Kohana
Concrete5 is a pretty complex OOP based CMS. Might be a harsh start but I've learned a lot by working with it.
again, +1 for symfony, but this is a large project and getting to know symfony will consume most of your time, yet if you want to dive in, its documentation is really great.
since you are trying to build your own CMS, get started with easy to grasp frameworks and build upon them. Don't waste your time on everything that has been already done. I recommend you Codeigniter MVC Framework http://codeigniter.com and for CMS, PyroCMS http://pyrocms.com which is built upon codeigniter is cool. Codeigniter is really easy to get along, and documentation is very neat and clean.
Further, if you like to start with a simple php framework, here's what Tyrehall has done, http://github.com/tylerhall/simple-php-framework . This project can act as a base for your CMS
No one seems to have mentioned Kohana the PHP 5 only framework.
Kohana has a pretty active and very helpful community to back it up (#kohana on freenode in particular).
edit: Upon closer inspection I see someone has already mentioned Kohana.
what you will notice is that what is more important to most cms (and framework) developers is MVC pattern implementation. Most MVC implementations in php do in fact use oop practices (some stricter than others)
+1 for symfony, and another I'd like to recommend is Kohana (built on CodeIgniter)
Also have a look at their forums, as both already have a cms or 10 built using these frameworks.
Using these frameworks brings you about 60% there, as a lot of the rudimentary tasks are taken care of.
edit
also remebered this one: fatfree framework it's quite lightweight: http://fatfree.sourceforge.net/
Have a look at Phundament 3.
Phundament 3 is an application foundation built upon a set if independent Yii modules and extensions such as user, rights, yiiext, gtc, ckeditor, jquery-file-upload, p3widgets and p3media.
The combination of p3widgets and p3media provides basic content management system (CMS) features, like dynamic widget creation and file management.
Combined in ckeditor, p3media acts as a ckfinder plugin which gives you the full power of HTML and media files for content creation via p3widgets.
It comes with a very minimalistic setup which integrates perfectly into an Yii web application skeletion and installs with one single command.
as some folks suggested here, you should start with Codeigniter because it's really easy to dive in. Its documentation is very well structured and easy to read. But I think Codeigniter seems to be very old now.
What I really recommend to you is Laravel. There's another Framework you should look into, that's FuelPHP. But for me, Laravel has absolutely changed to way I'm writing my PHP code. It is the best framework I've ever seen in my life. It's so elegant that you will instantly fall in love with.
If Laravel suits you, I recommend you to follow this online course by Jeffrey Way # Tutsplus.com. You will love it!
Good luck :)
Have you seen CakePHP?
http://cakephp.org/
Its a MVC framework for PHP. Its pretty robust and can be used in a fully object oriented manner.
Recently I have started studying cakePHP and I love the way it's organized. But I don't seem many useful tutorials for it as codeIgniter. Am I missing anything? Shall I switch?
PS I'm a computer engineering student and have only little time to study web dev. so i need to save time.
Regarding your question here are the points in favor of Codeigniter
very quick to get started with (that means not too much switching time)
does not bind you with naming conventions and directory structures (in cakephp, you can configure it to your satisfaction, but again you should know where to configure)
will give you a basic idea of MVC design pattern and how to make use of it to create a web application. You can build on this knowledge by using other frameworks to get to know how to make better use of it.
as far as beginners are concerned, documentation and community support of Codeigniter is very helpful
Hope this helps.
The decision is up to you.
The key thing is to stick with a framework so you learn enough to be productive. They're all pretty much the same but jumping between them will confuse you and delay your learning curve.
One of the benefits of codeigniter is it's documentation.
Depending on how much you used cakephp, you may need to realize that frameworks other than codeigniter often have more libraries and auto-generating funcionality (is that the right word?). Not to say that there's a shortage of commonly used libraries.
But honestly codeigniter's learning curve is so low you (If you already understand a little php) should be able to dive right in and see what you think. I honestly can't remember life before codeigniter (vanilla php).
I have been reading that Kohana is good for my project. So now I want to get started. My PHP knowledge is 2 years old and very limited now. But I am experienced with object oriented programming and other patterns, since I develop in Objective-C. I know a little bit about databases.
People told me the Kohana documentation is horribly poor. So, where do I start as a newcommer?
this might not be the best way but
1. i watched the 2 tutorial videos on the codeignitor framework and tried a small example
2. i switched to kohana and tried the same thing and haven't looked back
i am quite familiar with php, so your mileage may vary
You'll definately want to start from the Kohana 101 wiki.
You may find it here.
As mentioned by petsagouris, the 101 wiki is a good resource for seeing examples of how to use the framework. It's also worth reading the docs as well. Even though they aren't as good as CI's they still contain a lot of useful information.
However if you want to get the most from the framework I recommend you invest a couple of hours looking through the code of the classes that you use (e.g. Kohana, ORM and if you're feeling brave, Database).
The files are very well documented and the experience will help you solve problems more quickly as you will know how Kohana works, and where to look if something isn't quite working as you expected.
If you want to avoid the pain of setting up the initial environment, I have released a vagrant dev environment with a base checkout of Kohana 3.3.1. Jumping right into the code is usually the best way to go. Hopefully this helps.
Intro to Vagrant with Kohana and Zen Kommerce