propel-laravel
用于Laravel框架的Propel2集成。仅支持5.x版本。 4.x版本可以在当前软件包的 初始开发人员 的库中找到。
用法
首先:您需要了解当前的软件包正处于重大的开发阶段。 我们试图保持1. *分支稳定并经过1M测试,保证这些开发者情绪稳定。Propel2似乎相当稳定,但仍在开发中,目前它要求您的安装必须具有最小的稳定性是alpha。打开你的 composer.json 并在 config 部分之后写入:
"config": { "preferred-install": "dist" }, "minimum-stability": "alpha"
需要使用以下命令的Composer包:
composer require propel/propel-laravel
在更新composer之后,将ServiceProviders添加到 app/config/app.php 中的providers数组中。
Propel\PropelLaravel\GeneratorServiceProvider::class, Propel\PropelLaravel\RuntimeServiceProvider::class,
下一步是将示例配置复制到您的 app/config 目录。
php ./artisan vendor:publish --provider 'Propel\PropelLaravel\RuntimeServiceProvider'
在提供的配置中:模式文件位于 database/文件夹中, 模型生成到 app/models ,迁移到 app/database/migrations
现在您可以通过工匠使用Propel命令,例如:
php ./artisan propel:model:build
等
对于propel的新用户,有创建示例 schema.xml 文件的命令:
php ./artisan propel:schema:create
如果您在现有数据库上尝试Propel2,则可以使用 反向数据库命令:
php ./artisan propel:database:reverse mysql
从版本2.0.0-alpha5开始,配置中有非常棒的配置节点 exclude_tables 它允许你在一个数据库中混合不同的项目表。
小提示:您可以将模式中所有生成的模型的命名空间定义为数据库的属性:
<database … namespace="MyApp\Models">
验证
Package包含Auth驱动程序绑定,它允许存储用户信息并以当前登录用户的身份获取( Auth::getUser())作为推进模型。您需要更改 config/auth.php 中的两个设置:
'driver' => 'propel', //custom auth provider implemented in current package … 'model' => MyApp\Models\User::class, //classname of user entity
架构创建和模型生成之后,您必须增强您的模型以实现所有laravel Auth要求。通用用户模型似乎如此:
use MyApp\Models\Base\User as BaseUser; use Illuminate\Auth\Authenticatable; use Illuminate\Auth\Passwords\CanResetPassword; use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract; use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract; class User extends BaseUser implements AuthenticatableContract, CanResetPasswordContract { use Authenticatable, CanResetPassword; public function getAuthIdentifier() { return $this->id; } }
静态配置
默认情况下,它会在运行时从主配置 app/config/propel.php 构建配置,但是您可以通过运行来构建静态配置 app/propel/config.php /p>
php ./artisan propel:config:convert
服务
没有提供服务。
Propel通过使用静态方法和自己的服务容器来配置和管理自己,所以没有服务被注册到应用程序中。 实际上, GeneratorServiceProvider 类将Propel任务注入具有前缀 propel的artisan任务列表中: RuntimeServiceProvider 类初始化Propel运行时配置
已知问题
- Cli命令 propel:database:reverse 将反转的模式文件保存到项目的根目录
- 初始用户创建时没有模式文件和命令,但它在我们的路线图中,并且将很快到达
作者
Alex Kazynsky写的第一个版本。 现在由 Alexander Zhuralvev 和 Maxim Soloviev 。 非常感谢每位 作者!任何错误报告和拉请求赞赏!