search
HomeBackend DevelopmentPHP ProblemPHP determines what framework to use

Generally, you can tell what framework is used by looking at the configuration file and the entry file that defines variables, as well as the functions called when operating database tables. For example, THINKPHP, Yii, zendframework can be easily seen. Bar

PHP determines what framework to use

PHP framework selection criteria

Among so many PHP MVC frameworks, how to choose one? Are there any good frameworks to learn and use in your projects? This is a problem that every PHPer will face.

For example, the currently popular frameworks include: ZendFrameWork, ThinkPHP (domestic), CodeIgniter, YII, etc. Everyone has different standards of good and bad. In addition, some people are used to a certain framework, and it is difficult for them to accept its excellent framework. (Recommended learning: PHP video tutorial)

So, how we should judge whether a framework belongs to us has become very prominent. Now I will give a few standards:

Performance

The so-called performance refers to several indicators such as IO, CPU usage, and PHP parsing time. The most prominent problem with current servers is that the CPU is already very fast, the memory is large enough and cheap, but the hard disk IO is not high enough. This is like having a 1 1 match between a person with an IQ of 150 and a person with an IQ of 80. It does not reflect the superiority of IQ at all.

Full-stack

Although I personally do not agree with the PHP framework being too full-stack. However, I would also be very excited if the full stack could be made elegant and simple. What is full stack? It is a framework that includes everything in WEB development. For example: uploading, paging, import and export, emails, logs, errors, QR codes, RSS, RBAC, etc. In this way, we can truly solve the trouble of implementing it ourselves and save us time. It also improves the security and portability of the code.

Is the learning difficulty steep?

After all, we have to apply it to actual projects. More people will be added to the project development in the future. If the learning difficulty is too steep, it will inevitably affect the progress of the project and the cost of later maintenance.

Currently, among the frameworks I have used, ThinkPHP has done a pretty good job, and the documentation is relatively complete and easy to understand. Switching to the YII framework I am currently using would be a headache. The documentation provided is too simple and the examples are not rich enough. Moreover, the code is not elegant enough. In some designs, it is too object-oriented, which makes it not particularly easy to operate in a language like PHP.

Whether the framework society is active

Whether a community is active or not is directly related to the future destiny of the framework. No one wants a framework that is still awesome today to end up being submerged in the long river of history just because it has not kept pace with the times. You have to spend time mastering the new framework yourself.

For example: When MongoDB was quite popular a few days ago, there were almost no frameworks at the DB layer, that is, ORM to implement the interface of this database. MongoDB may be considered in the project. At that time, several well-known and relatively fast frameworks did not support it.

As a result, our domestic ThinkPHP supports it. Although, there may be a lot of bugs. At least, to some extent, an active community is very necessary.

The size of the group used by the framework

No matter how awesome a framework is, if no one uses it. If you learn, you can only make achievements in your own one-third of an acre. Outside this circle, the effect is not obvious. PHPer learns this stuff mainly to find a high-paying and convenient job. What if, after studying for a long time, no one uses this framework in the project. That's quite sad.

The above is the detailed content of PHP determines what framework to use. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.