In computer language, a Framework is a universal, reusable software platform to develop software applications, products and solutions. In other words, we can say it is some kind of library, a piece of software.
When you setup a PHP Framework, it already has a certain folder structure. Most of the Framework uses MVC (Model-View-Controller) guideline or structure for managing the code. MVC pattern allows to separate business logics and presentation layer of your website, making its structure consistent and maintainable. It is expected from you to follow the same standards and keep everything organized in a certain way. Once you get used to this model, you will never want to go back.
The Popular PHP frameworks like CakePHP, CodeIgniter, Zend Framework, Symfony follow Model View Controller(MVC) design pattern which separates business logic from user interface making the code cleaner and extensible. The way the MVC Pattern applies to PHP applications is as follows:
Models represent your data structures, usually by interfacing with the database.
Views contain page templates and output.
Controllers handle page requests and bind everything together.
Enforcing of Good Coding Standards
Another effect of using Framework is maintaining coding standard in an efficient manner. Coding conventions are a set of guidelines for a specific programming language that recommend programming style, practices and methods for each aspect of a piece program written in this language. Using Framework makes it so much easier to code as you should.
All popular PHP Frameworks have great active communities behind them. There is no lack of support from the community, the documentation, and the developers. If you have any questions or need any clarifications, a quick search with the right keywords should almost always give you relevant results. If not, there’s still the message boards, mailing lists, the official and unofficial forums or the unofficial IRC channel.
With a framework, most of the work for code security can be done for you automatically. For example:
Any value passed to database object gets filtered against SQL injection attacks
Central input validation and filtering
All HTML generating functions, such as form helpers and URL helpers filter the output automatically
Cross Site Request Forgery (CSRF) Protection
Session Management Security
Cross Site Scripting (XSS) Protection
Encrypting cookies automatically is only a matter of changing a config option and lot more…
Framework tools are utility module for maintaining modular applications. You can actually gain per Code generation makes developers life easier by creating files and default content automatically so you don’t have to do the same thing again. Framework comes with tools that help you to do caching, benchmarks, profiling, etc… Modern frameworks are also great with dynamic loading, as they load code only as needed. Lazy loading concept is also there, to make the web page ready, till the time content is ready. Different page requests can load different amounts of library code based on what needs to be used.
Most Frameworks use a bit of mod_rewrite magic to ensure your URLs are always clean and accessible. Apache handles requests to a particular URL, and (hidden to the client) returns this URL to /index.php as a GET string. The index page instantiates your main framework object. Accessible URLS also help with SEO. URLs are great for the below reasons:
They look prettier
They are easier to remember
They help you save filespace on pages which have many links
They are easier to link to, both for you and for other webbies
They help cut down on typos because there is less confusion about what exactly to write and type
Framework provides the way to access database in an object-oriented way. Instead of directly interacting with the database using SQL queries, you can use any Object-Relational Mapping (ORM) model to manage the structure and relationships between your data. With ORM model, you can map your database table to a PHP class and a row from that table is mapped to an instance of that class.
PHP is a server-side scripting language. it is open source development system you can download it free of coast.
Created by Rasmus Lerdorf in 1994, First appeared in June 8, 1995 21 years ago. the PHP reference implementation is now produced by The PHP Development Team.
PHP originally stood for Personal Home Page, but it now stands for the recursive acronym PHP: Hypertext Preprocessor.It is currently used by more than 80% of websites, according to w3techs data, including Facebook, Baidu, Wikipedia, Twitter, Vk, etc.
PHP code may be embedded into HTML code, or it can be used in combination with various web template systems, web content management systems and web frameworks. PHP code is usually processed by a PHP interpreter implemented as a module in the web server or as a Common Gateway Interface (CGI) executable. The web server combines the results of the interpreted and executed PHP code, which may be any type of data, including images, with the generated web page. PHP code may also be executed with a command-line interface and can be used to implement standalone graphical applications.
The standard PHP interpreter, powered by the Zend Engine, is free software released under the PHP License. PHP has been widely ported and can be deployed on most web servers on almost every operating system and platform, free of charge
Three main areas where PHP scripts are used :