没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Doctrine Manual
Doctrine Core Team
1.0
November 26, 2008
Doctrine Manual
2
Contents
1 Getting started 13
1.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2 Checking PDO driver installation . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.1 Sandbox Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.2 SVN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.3 SVN externals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.4 PEAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.5 Zip-package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4 Starting new project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.5 Working with existing databases . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5.2 Making the first import . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.6 Creating tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.6.2 Getting export queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.6.3 Export options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.7 Generating models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.8 Auto loading models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.8.1 Conservative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.8.2 Aggressive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.9 Command line interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.10 My first project tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.10.2 Download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.10.3 Package Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.10.4 Running the CLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.10.5 Defining Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.10.6 Test Data Fixtures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.10.7 Building Everything . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.10.8 Running Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.10.9 User CRUD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2 Connection management 31
2.1 DSN, the Data Source Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.2 Opening a new connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3 Lazy-connecting to database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4 Managing connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5 Connection-component binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Contents Doctrine Manual
3 Basic schema mapping 35
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2 Table and class naming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3 Table options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4 Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4.1 Column naming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4.2 Column aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4.3 Default values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4.4 Data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4.4.2 Type modifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.4.3 Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.4.4.4 Integer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4.4.5 Float . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4.4.6 Decimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4.4.7 String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4.4.8 Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4.4.9 Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4.4.10 Blob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4.4.11 Clob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4.4.12 Timestamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.4.4.13 Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.4.4.14 Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.4.4.15 Enum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.4.4.16 Gzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.4.4.17 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.5 Constraints and validators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.5.2 Notnull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.5.3 Unique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.5.4 Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.6 Record identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.6.2 Natural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.6.3 Autoincremented . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.6.4 Composite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.6.5 Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.7 Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.7.2 Adding indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.7.3 Index options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.7.4 Special indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4 Relations 67
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2 Foreign key associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.1 One-To-One . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.2 One-to-Many, Many-to-One . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.3 Tree structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.3 Join table associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.3.1 Many-to-Many . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.3.2 Self-referencing (Nest relations) . . . . . . . . . . . . . . . . . . . . . . . . 75
4.3.2.1 Non-equal nest relations . . . . . . . . . . . . . . . . . . . . . . . 75
4.3.2.2 Equal nest relations . . . . . . . . . . . . . . . . . . . . . . . . . 76
4
Doctrine Manual Contents
4.4 Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.4.1 Simple inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.4.2 Concrete inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.4.3 Column aggregation inheritance . . . . . . . . . . . . . . . . . . . . . . . 80
4.5 Foreign key constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.5.2 Integrity actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.6 Transitive Persistence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.6.1 Application-level cascades . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.6.1.1 Save cascades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.6.1.2 Delete cascades . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.6.2 Database-level cascades . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5 Schema Files 89
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.2 Short Hand Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.3 Expanded Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.4 Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.4.1 Detect Relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.4.2 Customizing Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.4.3 One to One . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.4.4 One to Many . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.4.5 Many to Many . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.5 Features & Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.5.1 Connection Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.5.2 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.5.3 Enums . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.5.4 ActAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.5.5 Listeners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.5.6 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.5.7 Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.5.8 Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.5.9 Column Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.5.10 Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.5.11 Global Schema Information . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.6 Using Schema Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6 Working with objects 103
6.1 Dealing with relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.1.1 Creating related records . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.1.2 Retrieving related records . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.1.3 Updating related records . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
6.1.4 Deleting related records . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
6.1.5 Working with related records . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.1.5.1 Testing the existance of a relation . . . . . . . . . . . . . . . . . 107
6.2 Many-to-Many relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.2.1 Creating a new link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.2.2 Deleting a link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.3 Fetching objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.3.1 Sample Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.3.2 Field lazy-loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.4 Arrays and objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.4.1 toArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.4.2 From Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5
剩余322页未读,继续阅读
dugubenyu
- 粉丝: 3
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页