Laravel is the de facto upgrade path for any and all web developers coming from any version of CodeIgniter. However, Laravel brings a level of complexity that can be intimidating to new developers or wasteful to experienced developers with simple requirements.
CodeIgniter is a great choice for small or medium projects that can be deployed in every kind of hosting, especially those oriented to low-cost hostings like GoDaddy. Symfony and Laravel are frameworks for highly scalable projects with hundreds of plugins available. Also, these …
The input class makes it easy to provide server-side validation and scrubbing of user input. Setting Error messages. It doesn't require constant command-line access, It's great because it has a strong community and excellent documentation, but the problem is that it tries to retain backward compatibility with PHP 4 and therefore lacks a lot of "standard" features modern frameworks have such as auto-loading.
MySQL is best suited for applications on platform like high-traffic content-driven websites, small-scale web apps, data warehouses which regards light analytical workloads. However its less suited for areas like enterprise data warehouse, OLAP cubes, large-scale reporting, applications requiring flexible or semi-structured data like event logging systems, product configurations, dynamic forms.
CodeIgniter is an excellent tool when a simple database API is needed. Postgres, MySQL, and SQLite are all abstracted into a simple-to-use
CodeIgniter's simplicity is truly its best feature, because you are able to create controllers and methods based on the http://www.example//, and immediately being developing the application.
Flexibility is also another developer-friendly feature, because developers are able to design their application in any way - controllers, models, libraries, and helpers can be located anywhere or not used at all.
Faced some issue of session management, so that's why we used the Core Session library for that. It would be great if we could improve it a little bit.
Frameworks provide the option to setup all getters/setters, so having this option in it is a great idea.
Learning curve: is big. Newbies will face problems in understanding the platform initially. However, with plenty of online resources, one can easily find solutions to problems and learn on the go.
Backup and restore: MySQL is not very seamless. Although the data is never ruptured or missed, the process involved is not very much user-friendly. Maybe, a new command-line interface for only the backup-restore functionality shall be set up again to make this very important step much easier to perform and maintain.
For teaching Databases and SQL, I would definitely continue to use MySQL. It provides a good, solid foundation to learn about databases. Also to learn about the SQL language and how it works with the creation, insertion, deletion, updating, and manipulation of data, tables, and databases. This SQL language is a foundation and can be used to learn many other database related concepts.
I give MySQL a 9/10 overall because I really like it but I feel like there are a lot of tech people who would hate it if I gave it a 10/10. I've never had any problems with it or reached any of its limitations but I know a few people who have so I can't give it a 10/10 based on those complaints.
We have never contacted MySQL enterprise support team for any issues related to MySQL. This is because we have been using primarily the MySQL Server community edition and have been using the MySQL support forums for any questions and practical guidance that we needed before and during the technical implementations. Overall, the support community has been very helpful and allowed us to make the most out of the community edition.
CodeIgniter has a very small footprint. The source code is very small sized. Setting up a project is very easy. Follows MVC pattern. Consumes low memory and CPU. Well documented. Has a built-in forum for users to discuss and get the solution for issues. Periodically updates versions and patch fixes etc.
MongoDB has a dynamic schema for how data is stored in 'documents' whereas MySQL is more structured with tables, columns, and rows. MongoDB was built for high availability whereas MySQL can be a challenge when it comes to replication of the data and making everything redundant in the event of a DR or outage.