官术网_书友最值得收藏!

Chapter 1. Getting Started with Doctrine 2

The Doctrine project is a collection of libraries providing utilities to ease data persistence in PHP applications. It makes it possible to create complex model layers in no time that will be compatible with popular DBMS, including SQLite, MySQL, and PostgreSQL. To discover and understand Doctrine, we will create a small blog from scratch throughout this book that will mainly use the following Doctrine components:

  • Common provides utilities that are not in the PHP standard library including a class autoloader, an annotations parser, collections structures, and a cache system.
  • Database Abstraction Layer (DBAL) exposes a unique interface to access popular DBMS. Its API is similar to PDO (and PDO is used when possible). The DBAL component is also able to execute the same SQL query on different DBMS by internally rewriting the query to use specific constructs and emulate missing features.
  • Object Relational Mapper (ORM) allows accessing and managing relational database tables and rows through an object-oriented API. Thanks to it, we will directly manipulate PHP objects, and it will transparently generate SQL queries to populate, persist, update, and delete them. It is built on top of DBAL and will be the main topic of this book.

Note

For more information on PHP Data Objects and the data-access abstraction layer provided by PHP, refer to the following link: http://php.net/manual/en/book.pdo.php

To learn Doctrine, we will build together a tiny blog engine with advanced features such as the following:

  • Posts list, creation, editing, and deletion
  • Comments
  • Tag filtering
  • Profiles for author of posts and comments
  • Statistics
  • Data fixtures

The following is a screenshot of the blog:

Getting Started with Doctrine 2

In this chapter, we will learn about the following topics:

  • Understanding concepts behind Doctrine
  • Creating the project's structure
  • Installing Composer
  • Installing Doctrine ORM, DBAL, and Common through Compose
  • Bootstrapping the app
  • Using Doctrine's Entity Manager
  • Configuring Doctrine command-line tools
主站蜘蛛池模板: 江孜县| 五华县| 桃园县| 贞丰县| 休宁县| 和政县| 房产| 乐业县| 通城县| 特克斯县| 肃北| 监利县| 西宁市| 晋城| 阳山县| 南部县| 威信县| 宁远县| 友谊县| 邻水| 明水县| 金昌市| 德江县| 徐州市| 汕尾市| 卓资县| 阿荣旗| 东方市| 策勒县| 常山县| 湖南省| 鄂托克旗| 崇信县| 奉贤区| 姜堰市| 桦南县| 浮山县| 浦北县| 买车| 原平市| 唐山市|