Need advice about which tool to choose?Ask the StackShare community!

CodeIgniter

3.2K
1.5K
+ 1
466
Symfony

8.2K
5.9K
+ 1
1.1K
Add tool

CodeIgniter vs Symfony: What are the differences?

Introduction

CodeIgniter and Symfony are both popular PHP frameworks used for web development. While they serve the same purpose, there are several key differences that set them apart.

  1. Development Philosophy: CodeIgniter follows a simpler and lightweight development philosophy, focusing on minimalism and speed. It provides a small footprint and greater flexibility for developers. On the other hand, Symfony follows a full-stack framework approach, providing a structured and modular development environment with a rich set of features right out of the box.

  2. Learning Curve: CodeIgniter has a shallow learning curve, making it easier for beginners to understand and start developing applications quickly. It has simple and intuitive syntax, making it a preferred choice for simple projects and beginners. Conversely, Symfony has a steeper learning curve due to its comprehensive design patterns and more complex concepts. It requires more time and effort to master, but it offers higher flexibility and scalability for complex projects.

  3. Community and Ecosystem: CodeIgniter has a significant user community, but its ecosystem is relatively smaller compared to Symfony. Symfony, being backed by a large corporation (SensioLabs), has a thriving community and a wide range of well-documented libraries and plugins. It provides access to a broader range of tools, libraries, and reusable components, enhancing development speed and efficiency.

  4. Database ORM: CodeIgniter does not include a built-in Object-Relational Mapping (ORM) system. It allows developers to work directly with databases using a lightweight Active Record implementation. In contrast, Symfony embraces Doctrine, a powerful ORM tool, facilitating database management and manipulation. Doctrine includes advanced features like caching, query building, and database abstraction, providing greater convenience for handling database operations.

  5. Integration and Interoperability: Symfony is designed to work seamlessly with other PHP libraries and tools, offering better interoperability with third-party components. It has a more modular architecture, allowing developers to integrate and use different components independently. CodeIgniter, on the other hand, offers limited interoperability as it follows a monolithic approach, with tightly coupled components that are difficult to replace or modify without affecting the overall framework.

  6. Longevity and Maintenance: CodeIgniter has been around since 2006 and has a proven track record of stability and reliability. It has a large codebase and extensive documentation, making maintenance and troubleshooting easier. Symfony, although relatively newer (since 2005), has gained widespread adoption and has evolved into a mature and well-maintained framework. Its development team actively supports and updates the framework, providing regular updates with bug fixes, security patches, and new features.

In summary, CodeIgniter is a lightweight and beginner-friendly framework with a smaller ecosystem, while Symfony offers a more comprehensive and modular development environment with a steeper learning curve. Symfony provides better integration options, advanced database management with Doctrine, and a larger community support. However, CodeIgniter has a longer history and proven stability. Choosing between the two frameworks depends on the project's complexity, scalability requirements, and the developer's skill level.

Advice on CodeIgniter and Symfony
Quade Claxton
Needs advice
on
DjangoDjango
and
SymfonySymfony

Hi everyone! I'm starting a personal project that I've been postponing for a little while and I need a bit of advice. I thought that it will be a bit of a challenge but I figure the best way to learn is by doing!

The plan is to build an app with loads of automation build in for reporting which would make it very easy to perform tasks, The plan is to build something similar to an HR app using microservice architecture, separating services e.g. employee data, payroll (including calculations based on easily entered info like tax %), employee services (vacation, sick day allowance booking and tabulation) and automated reporting on a pre-defined schedule (bi-weekly, monthly).

I am considering Django (as I currently know a bit of Python) and Symfony (as a friend who is a developer recommended it) but I am well aware there are other (and probably better) tools out there for the job (like maybe ExpressJS/Node.js for the backend and React/Vue.js for the front).

Background:

I have got knowledge as a DevOps, Site Reliability and Cloud engineer so once the app is built I'm very comfortable taking it to deployment.

Thank you all for your help and responses.

See more
Replies (1)
Ibrahim Gunduz
Software Developer at PayU · | 2 upvotes · 44.5K views
Recommends

Hi. I guess it all depends on what your goal is. If you wanna make fast prototyping Django or ExpressJNodeJS might be really good candidates. You can write your services quickly and easily by using anyone of them. Maybe we can also put Laravel in the same category.

Symfony is also another application framework that comes with many reusable components. It provides great flexibility with the configuration and dependency management solutions. So that you can inject or override anything, anytime without doing something hack-ish. You don't have to depend on any components that come with the framework and, replace them with whatever you prefer unless encounter any integration issues. I can say that Laravel also provides most of the Symfony futures as it uses its components under the hood. However, my personal experience with Laravel was not so good because it made me feel like I use a modernized version of Codeigniter. But anyway. :) So if I have to choose one of them, I would choose Symfony.

From the backend perspective, all of those have some pros and cons. For example, If strict type declaration is important for you and you don't like code magics like monkey patching etc., maybe Python and NodeJS might not be good candidates and maybe you could choose Symfony/php. However, in this case, you'll be missed out on the most powerful future of NodeJS which is non-blocking io. if you plan to do IO-intensive works, I think it would be a big loss.

So, maybe I can recommend you to have a look at typescript + NestJS also. https://nestjs.com/ The futures that NestJS provides might be a good balance between the strengths of Symfony and NodeJS.

As I'm backend dev., I haven't work too many frontend projects but from my personal experience, I loved ReactJS more than Vue although Vue was simpler. Maybe a front-end developer can give us more helpful details about those.

Hope it helps.

See more
Needs advice
on
CodeIgniterCodeIgniter
and
LaravelLaravel

I need to build a web application plus android and IOS apps for an enterprise, like an e-commerce portal. It will have intensive use of MySQL to display thousands (40-50k) of live product information in an interactive table (searchable, filterable), live delivery tracking. It has to be secure, as it will handle information on customers, sales, inventory. Here is the technology stack: Backend: Laravel 7 Frondend: Vue.js, React or AngularJS?

Need help deciding technology stack. Thanks.

See more
Replies (8)
anas mattar
Technical Lead at DPO International · | 19 upvotes · 128.6K views
Recommends
on
LaravelLaravelVue.jsVue.js

It's better to use Laravel with Vue.js and also laravel is very lightweight and speed performance.

See more
Jagdeep Singh
Tech Lead at Founder + Lightning · | 8 upvotes · 115.6K views
Recommends
on
LaravelLaravel

Go for Laravel 8 (not 7, obviously because it's the latest version and has a lot of new features and bug fixes) when it comes to backend coding.

Go for Vue.js (if you don't have any preference) because it is having by default configuration setup in Laravel).

Pick MySQL or PostgreSQL both work fine.

If you know GCP, go for it, otherwise go for Heroku.

Avoid spending time on hosting setup - prefer PaaS based solutions.

In Laravel, try Laravel Breeze or Jetstream - these might make the development much faster - at least for the basic setup that is there.

See more

40-50k should not be a problem at all for the database nor for any frontend/backend combo. Laravel works pretty well with Vue.js, for example; and you can include Elasticsearch in the combo if you really need fulltext search capabilites in your app. That will be much more decisive in the final product than the frontend stack chosen.

See more
Brandon Miller
Recommends
on
GolangGolangNode.jsNode.js

I don't know anything really about CodeIgniter, but I do know that microservices are a great choice for e-commerce, as they tend to have a lot of different moving (but not necessarily connected) parts. That being said, and if you have a choice, I'd recommend Go personally. But node isn't the worst option if Go isn't something you're comfortable with.

If you know typescript and want an entire framework to work with, go wth Angular. AngularJS, to my knowledge was deprecated. React is great, popular, and you'll find a ton of support.

See more
Vlad Macovei
Full stack developer at EasyDo Digital Technologies · | 4 upvotes · 63.3K views
Recommends
on
LaravelLaravelNuxt.jsNuxt.js

I highly recomand using the Vue based Nuxt framework for the front end. It is not required to use the server render feature and the folder based routing and stores are really nice to work with. In addition it brings component auto import and lots of plugins neatly integrated (authentication, i18n, socket.io, etc.). If in the setup process you also chose Vuetify as a component library you will cover 98% of needed components.

As for Laravel vs CodeIginter I would chose Laravel as the safest bet. Sadly, CodeIgniter development slowed down after the main contributor's death. It is also worth mentioning, as others did, that the initial boost Vue got is from Laravel's creator and community. The simplicity and ease of use mindset is shared.

See more
Nic Rosental
Recommends
on
Vue.jsVue.js

I can't speak to Angular since I haven't used it for at least 3 years (I wasn't a fan back then) but both React and Vue are great frameworks and will do the job just fine. Since you are using Laravel for the back end I'd recommend Vue. There's a lot of overlap between the communities and most Laravel developers I know do favor Vue over React.

See more
Prashant Singh Ahluwalia
Head of Engineering - AIOps at Microsoft · | 2 upvotes · 52.1K views
Recommends

If your customer is an enterprise, I'll strongly recommend leveraging Azure or AWS for building and hosting your backend. AWS API Gateway + AWS Lambda + AWS RDS would be a good combination. You might want to run everything in your VPC if security / privacy are your top concerns.

See more
Recommends
on
LaravelLaravel

Laravel is the best tool in php and I know it also if i don't develop in php. Vue.js is the future. In combination with https://bootstrap-vue.org/ is THE solution.

Best regards

See more
Needs advice
on
GolangGolangNode.jsNode.js
and
SymfonySymfony

I'm about to begin working on an API, for which I plan to add GraphQL connectivity for processing data. The data processed will mainly be audio files being downloaded/uploaded with some user messaging & authentication.

I don't mind the difficulty in any service since I've used C++ (for data structures & algorithms at least) and would also say I am patient and can learn fairly quickly. My main concerns would be their performance, libraries/community, and job marketability.

Why I'm stuck between these three...

Symfony: I've programmed in PHP for back-end in a previous internship and may do so again in a few months.

Node.js: It's newer than PHP, and it's JavaScript where my front-end stack will be React and (likely) React Native.

Go: It's newer than PHP, I've heard of its good performance, and it would be nice to learn a new (growing) language.

See more
Replies (1)
Max Musing
Founder & CEO at BaseDash · | 6 upvotes · 191.3K views
Recommends
on
Node.jsNode.js
at

Go with Node.js. There's something really satisfying about being able to use a single language across your entire tech stack. Especially once you integrate GraphQL, which is effectively JSON.

Your second best option is Go, but the ecosystem around Node.js is quite a bit stronger. This will play a big factor when you start building functionality like file management, messaging (especially in real-time), and authentication. The libraries and documentation are just stronger for Node.

See more
Needs advice
on
CodeIgniterCodeIgniterLaravelLaravel
and
Node.jsNode.js

Hi, We are thinking to rebuild a website and need your suggestion on which platform to choose from NodeJs, Laravel & CodeIgnitor. Since it's an education base website and there will be multiple functionalities like the use of graphics, video, animation and off-course forms for lead generation. Please advise us which tool to use to build the website considering load-time, server security, code vulnerability, etc.

See more
Replies (4)
Recommends
on
LaravelLaravel

It has the necessary packages for what you need, in addition to optimizing your time with what is needed.

See more
JT Turner
Lean Software Programmer · | 1 upvotes · 191K views
Recommends
on
Phoenix FrameworkPhoenix Framework

Node.js is great but if I had a choice for something like this I would pick Elixir and Phoenix. They have LiveViews and channels which be one step up then the other 3 plateforms. It will also scale better and respond faster. Last will probably far less code as well.

See more
Recommends
on
Node.jsNode.js

Node.js is the perfect tech to real-time features like chats, forums, quizzes and polls. Additionally it has great support for objects storage like Mongodb and its important for file media management.

See more
abdul mobeen
Backend Engineer(PHP◆Laravel◆CodeIgniter◆APIs◆Microservices) at StarsLeague · | 0 upvotes · 190.4K views
Recommends
on
Node.jsNode.js

I would suggest you to pick the right stack for the right purpose. My suggestion would be to go for Microservices approach and break your app into smaller pieces according to the type of functionality like you mentioned above. E.g if you would be expecting the high traffic on you platform, then Node.js can be used as the endpoint there to handle that traffic. Normal form processing can be done in Laravel but I would not suggest codeigniter as managing code is difficult there.

So this way you can decide do architecture you app and can use the best of the feature from all the languages. Even it would be easier for you to manage your app based on the functionality and team who will be working on that. Hope you would like my suggestions.

See more
Decisions about CodeIgniter and Symfony
Danilo Polani
Senior Software Engineer at WeRoad · | 7 upvotes · 89.9K views

For a full-stack app or just simple APIs I'd go 100% with Laravel. You get a clean architecture, beautiful documentation and friendly and always growing community: the project is yours, from A to Z. With their docs and resources like Laracast you can start from zero and build what you want, when you want. The learning curve is definitely smaller when compared to Symfony and, with the help of a bit of "magic" (Facades etc.) you get the same results in the half of the time with cleaner code.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of CodeIgniter
Pros of Symfony
  • 88
    Mvc
  • 76
    Easy setup
  • 70
    Open source
  • 62
    Well documented
  • 36
    Community support
  • 25
    Easy to learn
  • 21
    Easy
  • 14
    Fast
  • 11
    HMVC
  • 9
    "Fast","Easy","MVC"
  • 9
    Language Suppert
  • 7
    Powerful
  • 6
    I think it is best. we can make all types of project
  • 6
    Easy, fast and full functional
  • 6
    Open source, Easy to setup
  • 5
    Customizable
  • 5
    Beginner friendly framework
  • 4
    Super Lightweight, Super Easy to Learn
  • 3
    CLI
  • 2
    Easily Extensible
  • 1
    Powerful
  • 177
    Open source
  • 149
    Php
  • 130
    Community
  • 129
    Dependency injection
  • 122
    Professional
  • 80
    Doctrine
  • 75
    Organized
  • 71
    Modular architecture
  • 47
    Smart programming
  • 45
    Solid
  • 20
    Documentation
  • 15
    LTS releases
  • 10
    Easy to Learn
  • 9
    Decoupled framework components
  • 9
    Robust
  • 8
    Service container
  • 8
    Bundle
  • 8
    Good practices guideline
  • 7
    Simple
  • 7
    Powerful
  • 6
    Flexible

Sign up to add or upvote prosMake informed product decisions

Cons of CodeIgniter
Cons of Symfony
  • 6
    No ORM
  • 1
    No CLI
  • 9
    Too many dependency
  • 7
    Lot of config files
  • 4
    YMAL
  • 2
    Feature creep
  • 1
    Bloated

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

What is CodeIgniter?

CodeIgniter is a proven, agile & open PHP web application framework with a small footprint. It is powering the next generation of web apps.

What is Symfony?

It is written with speed and flexibility in mind. It allows developers to build better and easy to maintain websites with PHP..

Need advice about which tool to choose?Ask the StackShare community!

What companies use CodeIgniter?
What companies use Symfony?
See which teams inside your own company are using CodeIgniter or Symfony.
Sign up for StackShare EnterpriseLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with CodeIgniter?
What tools integrate with Symfony?

Sign up to get full access to all the tool integrationsMake informed product decisions

What are some alternatives to CodeIgniter and Symfony?
Laravel
It is a web application framework with expressive, elegant syntax. It attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, and caching.
WordPress
The core software is built by hundreds of community volunteers, and when you’re ready for more there are thousands of plugins and themes available to transform your site into almost anything you can imagine. Over 60 million people have chosen WordPress to power the place on the web they call “home” — we’d love you to join the family.
Yii
Yii comes with: MVC, DAO/ActiveRecord, I18N/L10N, caching, authentication and role-based access control, scaffolding, testing, etc. It can reduce your development time significantly.
Kohana
Kohana is an elegant, open source, and object oriented HMVC framework built using PHP5, by a team of volunteers. It aims to be swift, secure, and small.
CakePHP
It makes building web applications simpler, faster, while requiring less code. A modern PHP 7 framework offering a flexible database access layer and a powerful scaffolding system.
See all alternatives