# top-think/think

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/top-think-think).**

7,888 stars · 1,602 forks · PHP · NOASSERTION

## Links

- GitHub: https://github.com/top-think/think
- Homepage: http://www.thinkphp.cn
- awesome-repositories: https://awesome-repositories.com/repository/top-think-think.md

## Topics

`framework` `orm` `route` `template` `thinkphp`

## Description

Think is a PHP web framework and object-relational mapper designed for building web applications. It functions as a structured foundation for application development, incorporating a dependency injection container to manage object lifecycles and reduce coupling between components.

The project includes a remote application debugger that allows for the inspection of internal state and variables from an external environment.

It implements a model-view-controller architecture to separate application logic and data from the user interface. This includes a request pipeline for routing and middleware processing, a template-based view rendering system, and an active record mapping system for relational database persistence.

## Tags

### Programming Languages & Runtimes

- [PHP Application Frameworks](https://awesome-repositories.com/f/programming-languages-runtimes/language-ecosystems-tooling/php-application-frameworks.md) — Implements a structured PHP framework for building web applications with MVC architecture and dependency injection.

### Web Development

- [Web Application Frameworks](https://awesome-repositories.com/f/web-development/web-application-frameworks.md) — Provides a comprehensive platform for building web applications with integrated routing, security, and architecture. ([source](https://cdn.jsdelivr.net/gh/top-think/think@8.x/README.md))
- [Middleware Pipelines](https://awesome-repositories.com/f/web-development/middleware-pipelines.md) — Processes incoming requests through a series of filtered middleware layers for authentication and logging.
- [Request Dispatchers](https://awesome-repositories.com/f/web-development/request-dispatchers.md) — Matches incoming URL patterns to specific controller actions using a predefined routing mapping table.
- [Request Pipelines](https://awesome-repositories.com/f/web-development/request-pipelines.md) — Manages the request lifecycle by routing URLs and passing them through a sequential middleware pipeline.

### Data & Databases

- [Object-Relational Mappers](https://awesome-repositories.com/f/data-databases/object-relational-mappers.md) — Provides an object-relational mapper that simplifies database interactions by mapping relational tables to objects.
- [Active Record Mappers](https://awesome-repositories.com/f/data-databases/data-models/data-to-model-mappers/active-record-mappers.md) — Implements an active record mapping system to bind database records to object-oriented models.
- [Relational Database Persistence](https://awesome-repositories.com/f/data-databases/relational-database-persistence.md) — Provides relational database persistence by connecting object-oriented code to database tables via mapping. ([source](https://cdn.jsdelivr.net/gh/top-think/think@8.x/README.md))

### Software Engineering & Architecture

- [Dependency Injection Containers](https://awesome-repositories.com/f/software-engineering-architecture/dependency-injection-containers.md) — Incorporates a dependency injection container to manage object lifecycles and reduce component coupling.
- [MVC Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/mvc-frameworks.md) — Employs an architectural pattern that separates data, presentation, and control logic for better maintainability.
- [MVC Pattern Implementations](https://awesome-repositories.com/f/software-engineering-architecture/mvc-pattern-implementations.md) — Separates application logic into models, views, and controllers to decouple data management from the interface.
- [Model-View-Controller Patterns](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/layering-presentation/model-view-controller-patterns.md) — Implements a model-view-controller architecture to decouple business logic and data from the user interface.
- [Active Record Patterns](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/design-patterns/active-record-patterns.md) — Utilizes the active record pattern to encapsulate data access logic within database-mapped objects.

### Development Tools & Productivity

- [Remote Debugging](https://awesome-repositories.com/f/development-tools-productivity/application-debugging/remote-debugging.md) — Allows for the inspection of internal state and variables from an external environment to troubleshoot issues. ([source](https://cdn.jsdelivr.net/gh/top-think/think@8.x/README.md))
- [PHP Application Debuggers](https://awesome-repositories.com/f/development-tools-productivity/php-application-debuggers.md) — Includes a remote debugger allowing developers to inspect internal state and variables from an external environment.
- [PHP Debuggers](https://awesome-repositories.com/f/development-tools-productivity/php-application-profilers/php-debuggers.md) — Includes a remote debugger to inspect internal application state and variables from an external environment.

### User Interface & Experience

- [HTML Template Renderers](https://awesome-repositories.com/f/user-interface-experience/layout-utilities/presentation-engines/template-engines/server-side-rendering-engines/html-template-renderers.md) — Generates final HTML by merging dynamic data into predefined template files using a parsing engine.
