Which PHP framework should you choose to learn? Modern PHP without frameworks Which PHP framework to choose.

PHP frameworks are designed to simplify the complex coding problems of PHP developers. This globally recognized programming language helps developers create exclusive web applications in a short time. In fact, the best part of PHP is its ease of adaptation. It is easier to learn compared to other scripting languages.

By using PHP frameworks, developers can significantly reduce development time, avoiding the need to code from scratch. Without a properly labeled PHP framework, it is difficult to manage the code. PHP operates on MVC (Model-View-Controller), which is an architectural pattern available in programming languages, creating a bridge between domain logic and the user interface. The task of domain logic is to work with the ability to manage the exchange of information between the database and the user interface. This simplifies the whole process.

Here is a list of 42 best PHP frameworks that you can use in 2017.

The Laravel framework has expressive and neat language rules that make web applications stand out from the rest. This framework was created to provide developers with a free, open source source code PHP framework for web applications. Adding to the popularity of this framework are certain features such as strong construction tools, large powerful applications with a dedicated inversion management container, a communicative migration framework and a tightly implemented maintenance testing program.

Being a very popular PHP framework among expert developers, Symfony is used to develop excellent websites and applications through various professional and creative methods. It is a powerful framework that helps reduce the problems of repetitive coding structures. Moreover, it guarantees a stable platform, making it one of the most sought after PHP frameworks around the world.

Considered flexible, Codeigniter is open software PHP, which managed to achieve recognition for its classic execution. In fact, it has the ability to support the next generation of application development that requires simplified coding. This means that there will be no restrictions in the coding process and no complex configuration will be required to make the framework work. In a nutshell, the beauty of Codeigniter is providing simple solutions to complex programming problems for creating web applications.

It is a fast, secure and expert PHP framework that provides powerful caching assistance and is built to work smart with AJAX. Undoubtedly, the fast development solutions of the framework make it very easy for developers to create applications in a short time. Beautifully designed with quality documentation in a tight time frame, applications built using the Yii Framework provide amazing user experience and features.

Of course, falling into the category of powerful frameworks, Cake PHP 3.0 is one of the most important PHP frameworks trusted by developers. It has been updated over the years with impromptu management sessions, ORM-based enhancements, and more. The platform also offers solutions for creating self-contained libraries with endless support for increased modularity.

Considered as a full-stack framework, this PHP framework is written using C and C++ languages. These languages ​​are added to the Phalcon performance factor. Thanks to its innovative features, Phalcon has quickly become one of the most popular frameworks for creating web applications.

Another outstanding PHP framework. A completely innovative, secure and flexible framework that coders need to create web applications. Over the years, Zend has been used in large enterprise projects. Being an open source software, this framework requires the use of object-oriented code to develop web applications. Combined with a strong standard library engine, Zend offers high performance with its MVC implementation, confirming its status as an influential and flexible framework.

This is a collection of high quality, fully tested, standalone libraries that can be used intelligently in any type of coding framework. It is specifically designed for those who believe in clean coding, fully decoupled libraries, and self-managing suites. The collection also offers trivial, thoroughly tested and standard structures.

It is a lightweight, nimble, community-driven PHP 5.3+ framework that builds on the best ideas from other frameworks. Popular as a presentation model, Fuel PHP is imbued with additional functions between controllers. It is a powerful, professional and responsive PHP framework that helps you create incredible websites.

PHP developers who are looking for a lightweight PHP framework choose PHPixie because it runs on an MVC template platform to help developers create applications in a short period of time. It is an easy-to-learn tool that flawlessly creates high-quality web applications. In addition, it offers a solid foundation for development. Requiring less configuration and easy to use, the framework will become more and more popular in the coming days.

Kohana is a stylish PHP framework with a wide range of features for creating web applications. He helps in quick creation web applications thanks to numerous integrated universal components such as translation tools, code profiling, database access, encryption, verification and much more. The framework also has excellent debugging and profiling tools to help resolve any issues. Kohana is designed to be a fast PHP framework optimized for real world processing.

Designed as a lightweight framework, Slim is a micro-framework that allows you to quickly create lightweight and powerful web applications. It has a robust router, image template, http caching, flash messages, secure cookies with AES-256 encryption, logging, error handling and debugging, and lightweight configurations.

Flight is a common micro framework aimed at PHP developers and is known as a fast, lightweight and flexible framework. The best part framework is that it allows developers to quickly and easily create powerful web applications. It requires PHP 5.3+.

Medoo is the most lightweight and easy to manage PHP framework used to speed up your web development process. It only takes up 13kb of space in one file. This framework is extremely easy to learn and implement, compatible with various SQL databases, such as MySQL, SQLite and MSSQL DBMS, Maria DB, Oracle, Postgre SQL, Sybase and others. The platform is provided free of charge under the MIT license. Medoo is a big relief for those developers who don't want to get confused in managing complex coding requirements.

The design of the POP PHP framework is quite heavy, but easy to use with an efficient API. It requires PHP 5.3+ and has managed to maintain its minimalism and lightweight character. Although many new features have been added, it can still be used solely as a tool, or as the basis of your applications.

This is a powerful assistant to developers in creating better websites. It uses radical technologies that eliminate security holes and mishandling like XSS as well as session recordings. The framework has strong debugging tools that help in detecting errors.

Being a powerful and easy to use micro-framework, Fat-free was created by Bong Cosca in 2009. Indeed, this is one of the lightest frameworks, weighing less than 50 kb. It was created almost entirely in PHP with features such as a URL router, multilingual application support, and a cache engine. There are many plugins for the vast database of backend operations such as MSSQL, MySQL, PostgreSQL, SQLite, Sybase, MongoDB, DB2, CouchDB and Flat File.

To be continued…

It's 2016, which means that the imperative style is no longer in fashion. “Normal people don’t write like that,” any modern developer on a large project will say, and he’ll be right.

And if you still don’t agree with him, then it’s time to update your knowledge: modern methodologies, such as MVC or OOP, will greatly simplify life for both you and your colleagues. And all these things are implemented in full by another must-have thing in 2016 - PHP frameworks.

Let's look at them in more detail and figure out which one you should choose.

Laravel

One of the most popular PHP frameworks with expressive and elegant syntax. It will make it as easy as possible to solve the main and most pressing problems, such as authentication, routing, sessions and caching. Laravel was created as an attempt to combine only the best of other PHP frameworks, as well as Ruby on Rails, ASP.NET MVC and Sinatra. One of its most important advantages is the presence of an integrated unit testing system.

Zend

A framework written entirely in an object-oriented style, using all the latest PHP innovations. Designed with minimal dependencies on other components, each of which can be used separately; however, the standard set of libraries makes it a very powerful and easily extensible development tool.Additionally, it offers a robust and high-performance MVC implementation and an easy-to-use database abstraction, among many other features that add up to make it one of the most feature-rich frameworks out there.

CakePHP

CakePHP is a framework written in PHP for creating web applications with an active and rapidly growing community. Like most other frameworks, it implements the MVC pattern. It was originally created as a clone of the popular Ruby on Rails, and many of its ideas were borrowed from there. It differs from its competitors in that it supports not only PHP5, but also PHP4.

Code Igniter

Perhaps the easiest framework to learn and use. Easily extensible, secure and uses simple and clear approaches, in a word - ideal for beginners. One of its other advantages is its speed; this framework copes with the task of working with a database much faster than its other brothers.

Kohana

Kohana, formerly Blue Flame, is an open source PHP5 web framework that uses the HMVC architectural model. Its goals are to be secure, lightweight and easy to use.

PHP Inside, an online magazine for web developers, named Kohana an "Editor's Choice... for its architecture, speed, and community."

Kohana is a fork of the famous Code Igniter framework and focuses on strict compliance with PHP 5 OOP and a transparent development model.

Symfony

A framework consisting of many components and written in PHP5 using the Model-View-Controller pattern. Offers rapid development and management of web applications, allowing you to easily solve routine tasks of a web programmer. One of its main advantages is support for multiple databases (MySQL, PostgreSQL, SQLite or any other PDO-compatible DBMS).

Yii

A high-performance PHP framework using the MVC pattern and designed for the rapid development of modern web applications. Its capabilities make it possible to implement large-scale projects such as forums, portals, CMS, RESTful web services and other complex systems in a short time. It already includes many proven and ready-to-use solutions: a query builder, ActiveRecord for relational and NoSQL databases, RESTful API, multi-level caching support and many others.

PHP is the most popular server-side scripting language in the world. It has come a long way from small, static ones built into code HTML pages, snippets, to the modern language in which most modern dynamic sites are developed.

However, with the growing complexity and functionality of modern websites, there is a need to structure and organize the development process itself. AND PHP frameworks became the most natural solution to this problem.

Why use the framework
But before we start reviewing the 10 frameworks that we have carefully selected and carefully analyzed for you, let’s explain what they are actually needed for and what benefits they provide.
The thing is that using frameworks:
  • Significantly reduces development time
  • Allows you to write well-structured, well-documented and reusable code
  • Allows you to create scalable, easily extensible applications
  • Hides from the developer the need to take care of low-level site security
  • Encourages MVC (Model-View-Controller) design to separate application logic and data presentation
  • Promotes the use of modern programming methods, primarily object-oriented.

Laravel

Despite its youth (the first release was released in 2011), it is already a completely mature product, and, according to a survey conducted by the SitePoint portal, it ranks first in popularity among PHP developers.

Now Laravel is a huge ecosystem that includes hosting and a platform for deploying applications. It has its own "Blade" handler, an elegant syntax that simplifies routine operations such as session management, queue management, caching and routing. In addition, Laravel includes the Homestead local development environment, which is part of the Vagrant package.

We regularly use Laravel in our projects. A huge advantage is that there is a website where almost all technical documentation is translated.

Symfony

Framework components Symfony 2 they use such well-known projects as Drupal and phpBB, and even Laravel, discussed above. Symfony is developed by a large community of developers and has a huge following.

Symfony Components is a set of PHP libraries that can satisfy a variety of developer needs, be it creating forms, routing, authorization, development and much more. The developers' website has an impressive portfolio of projects completed using this framework.

CodeIgniter

A lightweight framework with a long history (the first release was released in 2006). Its traditional feature is the extremely easy and fast installation process, and the almost complete absence of the need for configuration. This is an ideal choice if you want to avoid version conflicts, as it works on almost all available platforms (currently only requires PHP 5.2.4)

CodeIgniter does not fully follow the MVC paradigm - while the Controller layer is mandatory, the Model and View layers are optional. The developer can use his own coding rules and naming conventions, which certainly gives him more freedom. The core of the framework is small (about 2MB), but the functionality can be expanded using plugins from other developers.

Yii 2

Yii 2 actively uses the concept of "lazy" (or "delayed") loading, which makes it one of the most fast PHP frameworks. Uses an object-oriented approach and the DRY (Don’t Repeat Yourself) concept and allows you to create clear and easy to read code.

Yii 2 is tightly integrated with jQuery, contains a set of functions and a built-in mechanism for skins and themes, so it is ideal for programmers and front-end developers. In addition, Yii 2 includes such a powerful tool as the Gii code generator, which allows you to simplify routine operations when developing a project.

Phalcon

This framework first appeared in 2012 and quickly gained popularity among developers. It achieves the highest performance due to the fact that written in C/C++, which is reflected in its name (Phalcon is consonant with the English falcon - falcon). However, don't worry - you don't have to dive into C/C++, because all functionality is implemented in the form of PHP classes.

Phalcon is quite well optimized at the kernel level, which significantly improves performance and reduces the load compared to typical MVC applications, and its basic functionality is complemented by many useful add-ons, such as a universal autoloader, a resource manager, a caching and localization mechanism, and many others. Phalcon also comes with excellent documentation, so it's definitely worth a try.

CakePHP

The development history of CakePHP goes back 10 years (the first release was released in 2005), but it still remains very popular because it is actively developing and keeps up with the times. Latest version This framework, CakePHP 3.0, contains a redesigned session manager, improved modularity by separating some components, and the ability to create independent libraries.

The project's home page presents an impressive portfolio of this framework - it has been used to create websites for such large corporations as BMW, Hyundai and Express. This is an excellent tool for developing security-conscious applications. Validation of input data, protection against SQL injection, cross-site scripting(XSS), Cross-Site Request Forgery (CSRF) - all of this is present in CakePHP

Zend Framework

Zend is a powerful and stable PHP framework that is highly customizable, so it is generally not recommended for small projects. Zend's partners include computer industry giants such as IBM, Microsoft, Google and Adobe. The upcoming Zend Framework release number 3 will be optimized for PHP 7, but will retain support for PHP 5.5.

However, the current release of Zend Framework 2 has many great features, such as encryption tools, a convenient editor that supports drug and drop and front-end technologies (HTML, JavaScript), a full-fledged online debugger, modules for testing and connecting to databases. Zend Framework was built with the Agile development methodology in mind and is designed for developing high-quality enterprise-grade applications.

Slim

Slim is a PHP microframework created according to the principle “it has everything you need. If there is something missing in it, then you don’t need it.” A minimalist framework, well suited for creating small applications for which using a full-fledged framework would be overkill. The author was inspired to create it by the Sinatra framework written in Ruby.

Slim is widely used by developers to create RESTful APIs and services. It has features such as URL routing, client-side cache management, cookie and session encryption, and support for flash messages via HTTP request. Slim has excellent documentation and new features have been added to the upcoming third release of Slim.

FuelPHP

FuelPHP is a flexible and multifunctional PHP framework that supports the HMVC (Hierarchical Model-View-Controller) paradigm, which is a further development of the MVC model. It has an additional Presenter class (formerly called ViewModel) that links the Controller and View classes, and is responsible for the logic required to generate the View.

Thanks to its modular architecture, FuelPHP is easily extensible, has useful features such as input and URL filtering, encryption, and contains its own authentication framework with its own great features and detailed documentation.

PHPixie

PHPixie is a relatively new high-performance framework, developed since 2012, designed for creating simple websites. Like FuelPHP, PHPixie follows the HMVC paradigm and is built using independent components that can also be used independently outside the framework.

On the official website you can find a training course that, according to the developers, will allow you to master PHPixie in just 30 minutes. Other components of the framework include its own ORM (object-relational mapping), a caching mechanism, an input data validator, an authorization system, a built-in HAML markup language and a wonderful routing module.

On this moment PHP is one of the most popular scripting programming languages, with the help of which the a large number of various Internet projects: from simple websites to large, highly loaded e-commerce projects. The high speed of Internet development has led to an increase in the development of various sites: business cards, corporate sites, promotional sites, portfolios, blogs, catalogues, portals, forums, online stores, large individual projects.

To facilitate the process of website development, programmers began to reuse pieces of code, grouping them into various modules and components, and combining them into special sets of ready-made tools, which were called frameworks.

Framework- a ready-made framework with a set of modules, components, extensions for fast, simple and high-quality program development.

PHP frameworks allow:

  • speed up the web application development process
  • help write simple and high-quality code
  • reuse code in projects
  • easy to scale projects
  • use modern programming practices
  • easier to test program code
  • ensure the safety of the project

In this article you will see a list of the most popular PHP frameworks with their pros and cons. To compare development tools, the following PHP frameworks were chosen:

  • Laravel
  • Symfony
  • Zend Framework
  • Codeigniter

And so, let's go!

Laravel

Laravel is a free and open source PHP framework created by Taylor Otwell for developing web applications using the MVC architectural pattern.

We can say that the emergence of Laravel was influenced by other PHP frameworks.

It was created as an alternative to the Codeigniter framework (discussed below), which lacked useful features for developing web applications. Laravel is based on components of another framework - Symfony (which will also be discussed below).

The Laravel framework is very popular among Western web application developers.

With the help of the Composer package manager, the Laravel framework makes it easy to install and connect various components for use in a web application.

The implementation of the ActiveRecord template - Eloquent ORM, allows you to establish relationships between database objects of a web application and build convenient queries for data manipulation.

The class autoloading mechanism allows you to avoid manually including files via include and prevents loading of unused components.

A convenient migration system helps simplify the deployment and updating of a web application.

Laravel has built-in support for the Blade template engine, which can be used to create simple views of a web application using a special syntax.

When creating an application, you can use Artisan, a command line interface, to enter built-in commands as well as create your own.

Laravel has many useful features to make the web application development process fast, easy and high quality.

Among such functions, dd() can be noted - a convenient analogue of the standard PHP function var_dump(). The function displays variable information in a more understandable form, dividing the data into a tree of attributes and values, with the ability to search and navigate through them.

pros

  • Quite good and clear documentation.
  • A powerful ecosystem has been created around the framework. Various courses, conferences, and training materials allow us to gather around the framework a large number of developers and sponsors who are interested in the development of the tool and take part in it. Yes, there is a whiff of marketing here, and not a bad one.
  • One of the most obvious advantages of Laravel is its flexible routing system, which allows you to create the most various checks web application route. You can assign routes to special groups, use namespaces, specify route parameters, use regular expressions, configure subdomain routing, and much more.
  • Laravel has a lot of syntactic sugar. The framework's API syntax is quite simple and understandable. There are no long and complex structures here, but only short and thoughtful names of functions.
  • Laravel contains a convenient mechanism for handling errors and exceptions.
  • The framework includes built-in mechanisms for user authentication and authorization, which can be reconfigured to suit your needs.
  • Laravel provides out-of-the-box mechanisms for caching a web application using Memcached and Redis. In addition, there are convenient functions for using simple file data caching.
  • Laravel provides a clean and simple API on top of the popular SwiftMailer library with drivers for SMTP, Mailgun, SparkPost, Amazon SES and sendmail to make sending mail through your choice of local or cloud service. This includes a mechanism for building mail sending queues.
  • Laravel Cashier provides an expressive, fluent interface to the subscription billing services Stripe and Braintree.

Minuses

  • For Russian-speaking developers, without knowledge in English or poor knowledge of it, the disadvantages of the framework include a fairly small number of articles, code examples, and translations of official documentation. For those who know English at the level of reading technical documentation, this minus can be omitted.
  • Syntactic sugar in Laravel can be both a plus and a minus. It's very easy to get used to it and forget how to write pure queries and functions.
  • Violation of backward compatibility between versions of the framework.
  • Not logical arrangement of directories and files. For example, by default, the User.php model is located directly in the /app directory, which would be more logical to be located in the /app/Models directory. The resources directory with view files is located in the application root, although it would be more logical to place it in /app/resources.

Yii framework

Yii is a free object-oriented, component-based, full-stack PHP framework. Yii is based on another framework - PRADO, written in ASP.NET and subsequently ported to PHP. Shortly after the new architecture was built, the PRADO framework was renamed Yii. The name of the framework is an abbreviation of the word “Yes It Is!” The progenitor of the framework is the Chinese developer Qiang Xue.

Yii can be used to develop any kind of web application. Thanks to its component-based architecture and sophisticated caching support, the framework is suitable for developing large-scale projects such as portals, forums, content management systems (CMS), e-commerce systems, RESTful web services, etc.

Yii implements an MVC (Model-View-Controller) architectural pattern to use and promotes code organization based on this pattern.

Yii is a full-stack framework, providing many proven and ready-to-use features: query builder and ActiveRecord for relational and NoSQL databases, RESTful API, multi-level caching support, etc.

Yii is an extremely extensible framework in which you can replace almost every piece of code and develop the necessary extensions.

Yii provides Gii, a visual interface for automatically generating controllers, models, and views.

Minuses

  • Weak ecosystem around the framework among the English-speaking segment of developers. The community is too spread out in different places: several forums with little activity, stackoverflow, etc.
  • Although the framework allows you to make code simple, it is far from elegant. If its syntax is compared with the Laravel framework, then it is inferior.
  • Yii lags behind the language, standards and other frameworks. New updates with truly useful features don't come out very often.
  • There is too much coupling between the backend and frontend parts of Yii2. The framework suggests using jQuery library and Bootstrap, which are built into the core of the framework by default. This disadvantage is planned to be corrected in new version Yii 3 framework, making its components less coupled.
  • Not a very flexible routing system: there is no way to group routes.

Symfony

Symfony- a free PHP framework for quickly developing web applications and solving routine tasks for web programmers. The development and support of the framework is sponsored by the French company Sensio.

Symfony consists of a collection of unrelated components that can be reused across projects.

Many large projects have been developed using Symfony:

  • content management systems: Magento, Drupal, Opencart
  • social bookmarking service Delicious
  • French video hosting Dailymotion
  • phpbb forum engine

In particular, Symfony influenced the development of the Laravel framework, where its components were involved.

Symfony allows you to install third-party packages, libraries, components and customize them using configuration in YAML, XML, PHP, and .env file formats.

Symfony does not provide a database component, but does provide tight integration with the Doctrine library.

Symfony provides a mailer feature based on the popular Swift Mailer library. This mail program Supports sending messages from your own mail servers, as well as using popular mail providers such as Mandrill, SendGrid and Amazon SES.

The internationalization engine allows you to install and translate web application messages based on the selected language or country.

Symfony offers a system for logging application errors, as well as connecting the Monolog logging library.

pros

  • Strong ecosystem around the framework, with a good community and many developers.
  • Good and constantly updated documentation for all versions of the framework.
  • Lots of different unrelated components to reuse.
  • Offers a mechanism for functional and unit tests to find errors in a web application.
  • Suitable for complex and busy web projects. e-commerce.

Minuses

  • Despite good documentation, the framework is difficult to learn.

Zend Framework

Zend Framework is a free, object-oriented PHP framework for developing web applications, developed and maintained by Zend. This framework is usually most used when developing large commercial projects.

The main sponsor of the Zend Framework is Zend and Rogue Wave, but many others have contributed components or important features to the platform. Companies like Google, Microsoft, and StrikeIron partner with Zend to provide interfaces to web services and other technologies they want to make available to ZF developers.

Zend is involved in the development of the core of the PHP programming language.

Zend Framework uses Composer as a package dependency manager. PHPUnit is used to test the web application, and Travis CI service is used for continuous integration.

Zend Framework follows the PHP-FIG standards and includes a PSR-7 implementation for HTTP message interfaces.

Multiple database support: MariaDB, MySQL, Oracle Database, IBM DB2, Microsoft SQL Server, PostgreSQL, SQLite and Informix.

Flexible memory or file system caching mechanism.

pros

  • Great for developing commercial web applications.
  • Object-oriented approach to development.
  • Unrelated components for reuse across projects.

Minuses

  • Not suitable for rapid project development.
  • There are few useful development materials for the Russian-speaking segment of developers.

Codeigniter

CodeIgniter is a popular open source PHP micro-framework for developing web systems and applications. Developed by EllisLab, Rick Ellis and Paul Burdick.

In CodeIgniter, components are loaded and procedures are executed only on request, not globally. The system makes no assumptions about what might be required beyond the minimum core resources, so the default system is very lightweight.

The components of the framework are loosely coupled and independent of each other. The fewer components depend on each other, the more flexible and reusable the system becomes.

Although CodeIgniter is quite fast, the amount of dynamic information displayed on pages will be directly dependent on the server resources, memory, and processing cycles used, which affect page loading speed.

Therefore, CodeIgniter allows you to cache pages for maximum performance. using the built-in caching component.

CodeIgniter served as the basis for the development of new frameworks: Kohana and Rain Framework. Many CodeIgniter ideas have been applied to the Fuel PHP and CodeLighter frameworks.

pros

  • Excellent documentation and English-speaking community.
  • High performance framework.
  • Small size of the framework.
  • Provides light and simple solutions for development.
  • Suitable for rapid development of small sites and web applications.
  • The framework's structure does not require strict coding rules.
  • Does not require complex setup, almost zero configuration.
  • MVC web application architecture.
  • Weak coupling of components.
  • Lots of plug-in libraries and helpers.

Minuses

  • Long stagnation in the development of Codeigniter 3. It has now passed to new owners the British Columbia Institute of Technology (BCIT) and is in the development stage of a new version - CodeIgniter 4.

The pros and cons of frameworks will be replenished and changed as it is possible, studied and worked with them.

A brief summary table describing the features of the frameworks:

Zend Framework

Codeigniter

License

BSD MIT New BSD License MIT

Documentation

excellent

not bad

Community

strong English, Russian weak

strong Russian, English weak

strong English speaking

strong English speaking

strong English language, decline of Russian language

Additional packages and extensions

Installation via Composer

Database

MySQL, Postgres, SQLite and SQL Server

MySQL, MariaDB, SQLite, PostgreSQL, CUBRID, Oracle, MSSQL

MySQL, PostgreSQL, SQLite or any other PDO-compatible DBMS)

MariaDB, MySQL, Oracle Database, IBM DB2, Microsoft SQL Server, PostgreSQL, SQLite and Informix

MySQL, PostgreSQL, MSSQL, SQLite, Oracle.

Logging

Migrations

Safety

Defence from SQL injection, XSS, CSRF

Conclusion

Laravel is currently the most promising PHP framework and is suitable for creating both small and large web projects.

Engage in development new projects on Yii2 It is still possible to continue to carry out existing projects. Version 3 is still in development, so Yii is in its infancy and it is better to use another framework for this, for example, Laravel.

Symfony and Zend Framework are best used for large commercial projects with a long development period.

CodeIgniter is not dead, but new owners are continue development of CodeIgniter 4.

A very important factor in the development of frameworks is commercial guide around the framework. If it does not have sponsors, then sooner or later the development team will simply lose all interest in participating in the development of the framework. Marketing plays a significant role in the development of the framework. There is no popularity and PR around the framework, which means there are no developers interested in developing the framework.

PHP frameworks are an indispensable tool for quick construction of the foundation of any site. They will help speed up the development process and make a high-quality project, avoiding programming all parts from scratch. Whether or not to use this or that PHP framework is your decision.

We continue to talk about the most popular and useful tools for working with languages. This time we will talk about PHP frameworks.

Laravel

This framework has gone through a rapid journey from just promising to one of the leaders of the PHP movement. Short description looks like this: open source, working with the MVC architectural model, convenient and intuitive interface, extended functionality.

The last point is manifested in the following possibilities:

  1. Support for third-party modules, of which there are a considerable number, which significantly expands the standard capabilities of the framework.
  2. Reverse routing, allowing you not to waste time updating links while working - everything happens automatically.
  3. Eloquent ORM design patterns that help in defining strict relationships between database objects.
  4. Automatic loading of classes. This, on the one hand, reduces the amount of code due to the absence of the need to write include..., on the other hand, unused classes are not included with all the consequences.
  5. Unit testing - availability large number tests to prevent the accumulation of errors.
  6. Database version control system. If you expect to frequently update your product in an unimportant manner, this function will allow you not to waste time on the same type of entries.

As you understand, this is not a complete list of features that Laravel developers provide their clients. For a complete list, please visit the official website or plunge into the world of this framework in person - you will definitely like it.

CodeIgniter

This framework, which is already more than 11 years old, has gained fame due to its unpretentiousness in terms of the resources used, simplicity, convenience, a huge amount of documentation designed for developers of any level, and the absence of restrictions. At one time, Laravel was created precisely as a competitor to CodeIgniter, so until recently it was a universal reference point.

Despite its simplicity, like any popular framework, CodeIgniter also has a couple of useful features:

  1. Great support from the CodeIgniter Reactor community, including libraries, modules, templates and documentation.
  2. Templates for working with databases that are very similar to SQL syntax.
  3. Server-side caching capability.
  4. Using a package manager to quickly include libraries from the command line.

But CodeIgniter is not going to deviate from the basic idea of ​​simplicity and accessibility. Therefore, you shouldn’t expect this framework to do everything for you, although formally this is possible.

Symfony

Despite the fact that the release of the third version took place back in 2015, it is the second version of Symfony that single-handedly holds 3rd place in popularity among frameworks. The reason here is similar to CodeIgniter - speed and overall simplicity. But so that this does not conflict with functionality, the user is asked to choose one of 3 versions for specialized work:

  1. Standard Edition - for getting to know each other and performing common tasks. The Hello World Edition distribution is based on it, which contains exactly one optimization script for further use in benchmarks.
  2. Symfony CMF - adaptation for developers working with CMS systems.
  3. REST Edition - optimization for working with REST architecture (online stores, search engines, etc.).

Symfony is stereotypically considered to be a framework for command line enthusiasts. Indeed, the built-in SensioGeneratorBundle interface will help you get a whole skeleton for your code from one line of text.

An undoubted advantage will be the availability of official documentation in Russian. It is worth mentioning that it is available only for the first version of Symfony, but among the unofficial releases you will find translations of official releases and independent high-quality documentation.

Yii

Yii is touted in many rankings as Symfony's main competitor. There are indeed reasons for this: both languages ​​work with full stack, both have source codes on GitHub, both represent template development quite well. However, while Symfony provides only a model and a controller, Yii provides full MVC interaction. In addition, the interface in Yii is much more convenient, code generation using the Gii browser element is a little more powerful, and in fact, Yii will allow you to save more time on development, and the application will run a little faster.

Nette Framework

Perhaps the least known of the top PHP frameworks, which is surprising given its 13 years of age and wide capabilities. Here are some of them:

  1. One of the most productive PHP frameworks.
  2. Perfect for beginners, the learning curve is quite smooth.
  3. Powerful Tools to help: Tracy - for tracking errors, Latte - a fast and intuitive template generator, Tester - a utility for high-quality testing of your application in close to real conditions.
  4. Possibility of collective work of several developers on one project.
  5. Excellent documentation and friendly community (and not only in Czech).

In general, if you haven’t tried Nette yet, we recommend it; if you find any shortcomings, be sure to write in the comments.

Short line

CakePHP is a popular Ruby on Rails clone, only focused on PHP. All the benefits are also similar.

FuelPHP is a lightweight framework that has not received due recognition due to lack of uniqueness and high expectations. As you understand, this does not affect real work for the worse.

Phpixie - one of the main features of this framework is updating. You no longer have to wait several months for a new revision. Found -> downloaded the fix -> continue working. The principle is something like this.

Fat-Free is a very lightweight, fast and simple framework for quick development. Minimum of extraneous worries.

Slim - this framework is easy to learn and get started with PHP, but is practically not in demand in the adult professional world of the web.

Phalcon is an excellent framework with high performance, negligible load on memory and file system. Minus - the project is quite crude and with big amount underwater C-stones.