PHP can be considered more as a revolution in the web development arena. Beginning with scripting of simple web pages, PHP today has evolved into a language that powers almost 60% of the web. Well, it has been extensively modified to develop frameworks and content management systems to ease the tasks of developers. Essentially, frameworks have some pre-coded functionalities that developers require on a regular basis and content management systems are built with the end user in mind.
We assume that Core PHP means solving a Mathematical problem by using paper and pen. Frame work means solving Mathematical problem by using a calculator.
Core PHP-Solving Mathematical Problem
Only some students can achieve results by using paper and pen as same as in PHP. Only a few of the developers can write the code in an easy way and reliable format.
Core PHP uses the PHP script in its purest form. A developer needs to know the language thoroughly in order to write a clear and concise code using core PHP. Only the experts can write flawless and reliable code using its core form.
Framework – Solving Mathematical problem
Everyone can achieve the result by using the calculator as same as in PHP. Even beginners can write the code in easy way and reliable format.
Frameworks are basically time savers. They have a rich set of functionalities available so that the developer does not have to embed the same code again and again. These frameworks generally have a fixed set of rules and hence the code can be passed on from one developer to another without any hassles.
In core PHP one developer may not be able to read another developer’s code that easily. Frameworks on the other hand provide consistency in the code and are big time savers when the project needs to be handled by several developers at the same time. Frameworks rarely allow you to write bad code. This ensures less time in debugging and helps you deliver your project faster.
- Framework introduces an extra layer to wrap your business code which in turn provides better manageability and easily workability in teams. If you take an example of any MVC( Model-View-Controller)framework; you can understand that the teams can separately work on Model, Views and controller part. ORM (Object-relational mapping) provides easy scalability.
- A framework gives you some tools and function to make it easier for yourself. For example the database seeds, the form request classes, the migrations, and so on.
- In framework everything come as set of predefined codes, helpers, libraries. So, you don’t have to write your own pagination, security code or integrate someone else’s pagination, security scripts. Framework follow specific standard which makes the codes more organized. Besides, frameworks have organized MVC pattern that separate your code into 3 categories, excluding the probability of code.
- Framework is better because almost everything is provided, you need to write less code and there is less to worry about.
- Frameworks usually have security classes in the core. Some methods of Input class have flags to clean XSS from _POST or other global array.
- You need to learn more as there is a specific learning curve for specific frameworks.
- Frameworks are slower than core PHP code.
Core PHP code Advantages:
- Core PHP offers you a lot of freedom a lot of space for imagination and invention.
- If code is small; going with procedural PHP/Core PHP is good idea.
- You need to write lots of code that may already be written.
- There is more to consider about, like security (SQL Injection, XSS), organization of code, separation of business logic, view etc., (that frameworks already do it for you).
Everyone wants to move into sophisticated technologies. If any website or web applications have developed in Core PHP, it is difficult to enhance the website components, but if website or web applications has developed in Frame Work PHP, it is very easy to enhance the features.
Lets see some of the widely used PHP Frameworks:
According to Sitepoint’s recent online survey it is the most popular framework among developers. Laravel has a huge ecosystem with an instant hosting and deployment platform, and its official website offers many screencast tutorials called Laracasts.
Laravel has many features that make rapid application development possible. Laravel has its own light-weight templating engine called “Blade”, elegant syntax that facilitates tasks you frequently need to do, such as authentication, sessions, queueing, caching and RESTful routing. Laravel also includes a local development environment called Homestead that is a packaged Vagrant box.
Symfony is a flexible, scalable yet powerful PHP frameworks for MVC application. There are plenty of reusable PHP components that can can be used like Security, Templating, Translation, Validator, Form Config and more. Like Laravel, it’s alss modularize with Composer. Its goal is to make your web application creation and maintenance faster with less repetitive coding.
CodeIgniter is a lightweight PHP framework that is initially released in 2006. CodeIgniter has a very straightforward installation process that requires only a minimal configuration, so it can save you a lot of hassle. It’s also an ideal choice if you want to avoid PHP version conflict, as it works nicely on almost all shared and dedicated hosting platforms.
CodeIgniter is not strictly based on the MVC development pattern. Using Controller classes is a must, but Models and Views are optional, and you can use your own coding and naming conventions, evidence that CodeIgniter gives great freedom to developers. If you download it, you’ll see it’s only about 2MB, so it’s a lean framework, but it allows you to add third-party plugins if you need more complicated functionalities.
CakePHP is a PHP framework that support version 4 and above. It is easy to learn with fast and flexible templating. The integrated CRUD (create, read, update and delete) is a handy feature in CakePHP for your database interaction. It also has various built-in feature for security, email, session, cookie and request handling.
Yii is a generic Web programming framework, meaning that it can be used for developing all kinds of Web applications using PHP. Because of its component-based architecture and sophisticated caching support, it is especially suitable for developing large-scale applications such as portals, forums, content management systems (CMS), e-commerce projects, RESTful Web services, and so on.
Yii is a full-stack framework providing many proven and ready-to-use features: query builders and ActiveRecord for both relational and NoSQL databases; RESTful API development support; multi-tier caching support; and more.
The Phalcon framework was released in 2012, and it quickly gained popularity among PHP developers. Phalcon is said to be fast as a falcon, because it was written in C and C++ to reach the highest level of performance optimization possible. Good news is that you don’t have to learn the C language, as the functionality is exposed as PHP classes that are ready to use for any application.
As Phalcon is delivered as a C-extension, its architecture is optimized at low levels which significantly reduces the overhead typical of MVC-based apps. Phalcon not only boosts execution speeds, but also decreases resource usage. Phalcon is also packed with many cool features such as a universal auto-loader, asset management, security, translation, caching, and many others. As it’s a well-documented and easy-to-use framework.
Slim is a lightweight micro-framework for PHP inspired by Sinatra, a Ruby framework. It has a tiny size without overkill learning curve. It’s built with incredible routing system and focuses on RESTful API with all HTTP methods (GET, POST, PUT, DELETE) supports. To use it, you need at least has a PHP version of 5.2+.
Zend Framework is a scalable and full featured object-oriented PHP framework.It has an online training and certification which make it popular and used by plenty of enterprise organizations. With its OOP (object-oriented programming) and design patterns consistency, you can easily extend custom classes and use only what you need.
The Nette Framework is another player in the world of php web application frameworks – but like most others, it has its right to be here. It comes with great and powerful features, and makes life easier for web developers. Nette uses revolutionary technology that eliminates security holes and their misuse, such as XSS, CSRF, session hijacking, session fixation, etc.
Nette is modern php framework which supports AJAX / AJAJ, Dependency Injection, SEO, DRY, KISS , MVC, Web 2.0, cool URL