Laravel Doctrine 项目教程
1、项目的目录结构及介绍
Laravel Doctrine 项目的目录结构遵循典型的 Laravel 项目结构,并在此基础上添加了 Doctrine ORM 相关的文件和目录。以下是主要目录和文件的介绍:
laravel-doctrine/
├── app/
│ ├── Entities/ # 存放 Doctrine 实体类
│ ├── Repositories/ # 存放自定义仓库类
│ └── ... # 其他 Laravel 应用文件
├── config/
│ ├── doctrine.php # Doctrine 配置文件
│ └── ... # 其他 Laravel 配置文件
├── database/
│ ├── migrations/ # 存放 Doctrine 迁移文件
│ ├── proxies/ # 存放 Doctrine 代理类
│ └── ... # 其他 Laravel 数据库文件
├── resources/
│ ├── views/ # 存放视图文件
│ └── ... # 其他资源文件
├── routes/
│ ├── api.php # API 路由文件
│ ├── web.php # Web 路由文件
│ └── ... # 其他路由文件
├── vendor/ # 第三方依赖包
└── ... # 其他项目文件
2、项目的启动文件介绍
Laravel Doctrine 项目的启动文件与标准 Laravel 项目相同,主要包含以下几个关键文件:
bootstrap/app.php
:Laravel 应用的引导文件,负责创建应用实例并加载服务提供者。config/app.php
:应用的主要配置文件,包含服务提供者、别名等配置。config/doctrine.php
:Doctrine ORM 的配置文件,包含数据库连接、实体管理器等配置。
3、项目的配置文件介绍
Laravel Doctrine 项目的配置文件主要集中在 config
目录下,以下是关键配置文件的介绍:
config/doctrine.php
该文件包含了 Doctrine ORM 的主要配置,如数据库连接、实体管理器、代理设置等。以下是部分配置示例:
return [
'managers' => [
'default' => [
'connection' => 'default',
'metadata' => [
'paths' => [
base_path('app/Entities'),
],
'simple_annotations' => false,
],
'proxies' => [
'namespace' => 'Proxies',
'path' => base_path('database/proxies'),
'auto_generate' => env('DOCTRINE_PROXY_AUTOGENERATE', false),
],
],
],
'connections' => [
'default' => [
'driver' => 'pdo_mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'dbname' => env('DB_DATABASE', 'forge'),
'user' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
],
],
];
config/app.php
该文件包含了 Laravel 应用的主要配置,如服务提供者、别名等。在 Laravel Doctrine 项目中,需要确保 LaravelDoctrine\ORM\DoctrineServiceProvider
已注册:
'providers' => [
// 其他服务提供者
LaravelDoctrine\ORM\DoctrineServiceProvider::class,
],
通过以上配置,可以确保 Laravel Doctrine 项目正确加载并使用 Doctrine ORM。