# The Definitive Guide to Yii 22.0

> Table of contents of the guide: getting started, application structure, requests, key concepts, databases, forms, output, security, caching, REST and testing.

This tutorial is released under the [Terms of Yii Documentation](https://www.yiiframework.com/doc/terms/).

All Rights Reserved.

2014 (c) Yii Software LLC.

## Introduction

- [About Yii](/docs/guide/intro-yii/index.md)
- [Upgrading from Version 1.1](/docs/guide/intro-upgrade-from-v1/index.md)

## Getting Started

- [What do you need to know](/docs/guide/start-prerequisites/index.md)
- [Installing Yii](/docs/guide/start-installation/index.md)
- [Running Applications](/docs/guide/start-workflow/index.md)
- [Saying Hello](/docs/guide/start-hello/index.md)
- [Working with Forms](/docs/guide/start-forms/index.md)
- [Working with Databases](/docs/guide/start-databases/index.md)
- [Generating Code with Gii](/docs/guide/start-gii/index.md)
- [Looking Ahead](/docs/guide/start-looking-ahead/index.md)

## Application Structure

- [Application Structure Overview](/docs/guide/structure-overview/index.md)
- [Entry Scripts](/docs/guide/structure-entry-scripts/index.md)
- [Applications](/docs/guide/structure-applications/index.md)
- [Application Components](/docs/guide/structure-application-components/index.md)
- [Controllers](/docs/guide/structure-controllers/index.md)
- [Models](/docs/guide/structure-models/index.md)
- [Views](/docs/guide/structure-views/index.md)
- [Modules](/docs/guide/structure-modules/index.md)
- [Filters](/docs/guide/structure-filters/index.md)
- [Widgets](/docs/guide/structure-widgets/index.md)
- [Assets](/docs/guide/structure-assets/index.md)
- [Extensions](/docs/guide/structure-extensions/index.md)

## Handling Requests

- [Request Handling Overview](/docs/guide/runtime-overview/index.md)
- [Bootstrapping](/docs/guide/runtime-bootstrapping/index.md)
- [Routing and URL Creation](/docs/guide/runtime-routing/index.md)
- [Requests](/docs/guide/runtime-requests/index.md)
- [Responses](/docs/guide/runtime-responses/index.md)
- [Sessions and Cookies](/docs/guide/runtime-sessions-cookies/index.md)
- [Handling Errors](/docs/guide/runtime-handling-errors/index.md)
- [Logging](/docs/guide/runtime-logging/index.md)

## Key Concepts

- [Components](/docs/guide/concept-components/index.md)
- [Properties](/docs/guide/concept-properties/index.md)
- [Events](/docs/guide/concept-events/index.md)
- [Behaviors](/docs/guide/concept-behaviors/index.md)
- [Configurations](/docs/guide/concept-configurations/index.md)
- [Aliases](/docs/guide/concept-aliases/index.md)
- [Class Autoloading](/docs/guide/concept-autoloading/index.md)
- [Service Locator](/docs/guide/concept-service-locator/index.md)
- [Dependency Injection Container](/docs/guide/concept-di-container/index.md)

## Working with Databases

- [Database Access Objects](/docs/guide/db-dao/index.md): Connecting to a database, basic queries, transactions, and schema manipulation
- [Query Builder](/docs/guide/db-query-builder/index.md): Querying the database using a simple abstraction layer
- [Active Record](/docs/guide/db-active-record/index.md): The Active Record ORM, retrieving and manipulating records, and defining relations
- [Migrations](/docs/guide/db-migrations/index.md): Apply version control to your databases in a team development environment
- [Sphinx](https://www.yiiframework.com/extension/yiisoft/yii2-sphinx/doc/guide)
- [Redis](https://www.yiiframework.com/extension/yiisoft/yii2-redis/doc/guide)
- [MongoDB](https://www.yiiframework.com/extension/yiisoft/yii2-mongodb/doc/guide)
- [ElasticSearch](https://www.yiiframework.com/extension/yiisoft/yii2-elasticsearch/doc/guide)

## Getting Data from Users

- [Creating Forms](/docs/guide/input-forms/index.md)
- [Validating Input](/docs/guide/input-validation/index.md)
- [Uploading Files](/docs/guide/input-file-upload/index.md)
- [Collecting Tabular Input](/docs/guide/input-tabular-input/index.md)
- [Getting Data for Multiple Models](/docs/guide/input-multiple-models/index.md)
- [Extending ActiveForm on the Client Side](/docs/guide/input-form-javascript/index.md)

## Displaying Data

- [Data Formatting](/docs/guide/output-formatting/index.md)
- [Pagination](/docs/guide/output-pagination/index.md)
- [Sorting](/docs/guide/output-sorting/index.md)
- [Data Providers](/docs/guide/output-data-providers/index.md)
- [Data Widgets](/docs/guide/output-data-widgets/index.md)
- [Working with Client Scripts](/docs/guide/output-client-scripts/index.md)
- [Theming](/docs/guide/output-theming/index.md)

## Security

- [Security Overview](/docs/guide/security-overview/index.md)
- [Authentication](/docs/guide/security-authentication/index.md)
- [Authorization](/docs/guide/security-authorization/index.md)
- [Working with Passwords](/docs/guide/security-passwords/index.md)
- [Cryptography](/docs/guide/security-cryptography/index.md)
- [Auth Clients](https://www.yiiframework.com/extension/yiisoft/yii2-authclient/doc/guide)
- [Best Practices](/docs/guide/security-best-practices/index.md)

## Caching

- [Caching Overview](/docs/guide/caching-overview/index.md)
- [Data Caching](/docs/guide/caching-data/index.md)
- [Fragment Caching](/docs/guide/caching-fragment/index.md)
- [Page Caching](/docs/guide/caching-page/index.md)
- [HTTP Caching](/docs/guide/caching-http/index.md)

## RESTful Web Services

- [Quick Start](/docs/guide/rest-quick-start/index.md)
- [Resources](/docs/guide/rest-resources/index.md)
- [Controllers](/docs/guide/rest-controllers/index.md)
- [Filtering Collections](/docs/guide/rest-filtering-collections/index.md)
- [Routing](/docs/guide/rest-routing/index.md)
- [Response Formatting](/docs/guide/rest-response-formatting/index.md)
- [Authentication](/docs/guide/rest-authentication/index.md)
- [Rate Limiting](/docs/guide/rest-rate-limiting/index.md)
- [Versioning](/docs/guide/rest-versioning/index.md)
- [Error Handling](/docs/guide/rest-error-handling/index.md)

## Development Tools

- [Debug Toolbar and Debugger](https://www.yiiframework.com/extension/yiisoft/yii2-debug/doc/guide)
- [Generating Code using Gii](https://www.yiiframework.com/extension/yiisoft/yii2-gii/doc/guide)
- [Generating API Documentation](https://www.yiiframework.com/extension/yiisoft/yii2-apidoc)

## Testing

- [Testing Overview](/docs/guide/test-overview/index.md)
- [Testing environment setup](/docs/guide/test-environment-setup/index.md)
- [Unit Tests](/docs/guide/test-unit/index.md)
- [Functional Tests](/docs/guide/test-functional/index.md)
- [Acceptance Tests](/docs/guide/test-acceptance/index.md)
- [Fixtures](/docs/guide/test-fixtures/index.md)

## Special Topics

- [Advanced Project Template](https://www.yiiframework.com/extension/yiisoft/yii2-app-advanced/doc/guide)
- [Building Application from Scratch](/docs/guide/tutorial-start-from-scratch/index.md)
- [Console Commands](/docs/guide/tutorial-console/index.md)
- [Core Validators](/docs/guide/tutorial-core-validators/index.md)
- [Docker](/docs/guide/tutorial-docker/index.md)
- [Internationalization](/docs/guide/tutorial-i18n/index.md)
- [Mailing](/docs/guide/tutorial-mailing/index.md)
- [Performance Tuning](/docs/guide/tutorial-performance-tuning/index.md)
- [Shared Hosting Environment](/docs/guide/tutorial-shared-hosting/index.md)
- [Template Engines](/docs/guide/tutorial-template-engines/index.md)
- [Working with Third-Party Code](/docs/guide/tutorial-yii-integration/index.md)
- [Using Yii as a micro framework](/docs/guide/tutorial-yii-as-micro-framework/index.md)

## Widgets

- [GridView](https://www.yiiframework.com/doc-2.0/yii-grid-gridview.html)
- [ListView](https://www.yiiframework.com/doc-2.0/yii-widgets-listview.html)
- [DetailView](https://www.yiiframework.com/doc-2.0/yii-widgets-detailview.html)
- [ActiveForm](https://www.yiiframework.com/doc-2.0/guide-input-forms.html#activerecord-based-forms-activeform)
- [Pjax](https://www.yiiframework.com/doc-2.0/yii-widgets-pjax.html)
- [Menu](https://www.yiiframework.com/doc-2.0/yii-widgets-menu.html)
- [LinkPager](https://www.yiiframework.com/doc-2.0/yii-widgets-linkpager.html)
- [LinkSorter](https://www.yiiframework.com/doc-2.0/yii-widgets-linksorter.html)
- [Bootstrap Widgets](https://www.yiiframework.com/extension/yiisoft/yii2-bootstrap/doc/guide)
- [jQuery UI Widgets](https://www.yiiframework.com/extension/yiisoft/yii2-jui/doc/guide)

## Helpers

- [Helpers Overview](/docs/guide/helper-overview/index.md)
- [ArrayHelper](/docs/guide/helper-array/index.md)
- [Html](/docs/guide/helper-html/index.md)
- [Json](/docs/guide/helper-json/index.md)
- [Url](/docs/guide/helper-url/index.md)