Laravel Spark:如何开启团队计费?
Laravel Spark: How to turn on Team Billing?
在 Laravel Spark 中打开团队计费是否有已知的科学依据?
也就是说,如果您想使用Laravel Spark的团队计费功能,您需要create your project with the team-billing选项。
但是,(假设,他撒了谎)如果您 没有 使用 --team-billing
标志创建项目并且突然需要团队计费功能,是否有如何打开它?
如果没有,是否有您需要更改的文件的文档列表?
我意识到我可以生成两个新项目,一个有团队计费,一个没有,然后比较生成的项目以自己执行此操作,但这似乎是一条容易出错的路线。在走那条路之前,我想知道这方面是否有已知的科学依据。
根据文档 (https://spark.laravel.com/docs/4.0/teams),它所需要的只是将特征 Laravel\Spark\CanJoinTeams
添加到您的用户模型中:
If you installed your application without the --team-billing
flag but still want to enable teams later, you may simply add the Laravel\Spark\CanJoinTeams
trait to your User
model.
There is an open issue with people discussing this. 从这个 post 开始,它可能但不是很干净,并且可能容易出错。
一般建议是重新开始一个启用团队计费的新项目,然后移植您需要的代码。
我自己对此进行了一些调查,并有一个截至 2017 年 7 月 14 日有效的解决方案。这可能会在未来的 Spark 更新中发生变化,所以 YMMV。请参阅下文了解检查系统之间差异的最佳方法。
启用团队计费
首先,如其他地方所述,您需要将 Laravel\Spark\CanJoinTeams
特征添加到您的 App\User
class.
#File: app/User.php
use Laravel\Spark\CanJoinTeams;
use Laravel\Spark\User as SparkUser;
class User extends SparkUser
{
use CanJoinTeams;
/* ... */
}
其次,您需要在 Spark 提供商中添加 团队计划(而不是个人计划)。即这些默认值。
#File: app/Providers/SparkServiceProvider.php
public function booted()
{
Spark::useStripe()->noCardUpFront()->trialDays(10);
Spark::freePlan()
->features([
'First', 'Second', 'Third'
]);
Spark::plan('Basic', 'provider-id-1')
->price(10)
->features([
'First', 'Second', 'Third'
]);
}
需要
public function booted()
{
Spark::useStripe()->noCardUpFront()->teamTrialDays(10);
Spark::freeTeamPlan()
->features([
'First', 'Second', 'Third'
]);
Spark::teamPlan('Basic', 'provider-id-1')
->price(10)
->features([
'First', 'Second', 'Third'
]);
}
用于团队计划。另外,如果不是很明显,您可以同时为一个系统 个个人计划和团队计划。
区分 Spark 版本
如果您多年后来到这里,并且想了解您的 Spark 版本需要什么,这是我发现的最佳方法。
首先,创建一个带有团队计费的Spark项目
spark new project-name --team-billing
然后将 project-name
文件夹重命名为 with-team-billing
mv project-name with-team-billing
然后,对一个项目做同样的事情没有团队计费
spark new project-name --team-billing
mv project-name without-team-billing
然后,使用您最喜欢的 diff 命令递归地比较这两个文件夹
diff -r with-team-billing without-team-bill
bbdiff with-team-billing without-team-bill
创建同名的两个项目很重要,因为会生成许多 node/npm 文件,其中包含缓存的文件路径值。它们与我们的目标无关,只会弄乱 diff 结果。
在 Laravel Spark 中打开团队计费是否有已知的科学依据?
也就是说,如果您想使用Laravel Spark的团队计费功能,您需要create your project with the team-billing选项。
但是,(假设,他撒了谎)如果您 没有 使用 --team-billing
标志创建项目并且突然需要团队计费功能,是否有如何打开它?
如果没有,是否有您需要更改的文件的文档列表?
我意识到我可以生成两个新项目,一个有团队计费,一个没有,然后比较生成的项目以自己执行此操作,但这似乎是一条容易出错的路线。在走那条路之前,我想知道这方面是否有已知的科学依据。
根据文档 (https://spark.laravel.com/docs/4.0/teams),它所需要的只是将特征 Laravel\Spark\CanJoinTeams
添加到您的用户模型中:
If you installed your application without the
--team-billing
flag but still want to enable teams later, you may simply add theLaravel\Spark\CanJoinTeams
trait to yourUser
model.
There is an open issue with people discussing this. 从这个 post 开始,它可能但不是很干净,并且可能容易出错。
一般建议是重新开始一个启用团队计费的新项目,然后移植您需要的代码。
我自己对此进行了一些调查,并有一个截至 2017 年 7 月 14 日有效的解决方案。这可能会在未来的 Spark 更新中发生变化,所以 YMMV。请参阅下文了解检查系统之间差异的最佳方法。
启用团队计费
首先,如其他地方所述,您需要将 Laravel\Spark\CanJoinTeams
特征添加到您的 App\User
class.
#File: app/User.php
use Laravel\Spark\CanJoinTeams;
use Laravel\Spark\User as SparkUser;
class User extends SparkUser
{
use CanJoinTeams;
/* ... */
}
其次,您需要在 Spark 提供商中添加 团队计划(而不是个人计划)。即这些默认值。
#File: app/Providers/SparkServiceProvider.php
public function booted()
{
Spark::useStripe()->noCardUpFront()->trialDays(10);
Spark::freePlan()
->features([
'First', 'Second', 'Third'
]);
Spark::plan('Basic', 'provider-id-1')
->price(10)
->features([
'First', 'Second', 'Third'
]);
}
需要
public function booted()
{
Spark::useStripe()->noCardUpFront()->teamTrialDays(10);
Spark::freeTeamPlan()
->features([
'First', 'Second', 'Third'
]);
Spark::teamPlan('Basic', 'provider-id-1')
->price(10)
->features([
'First', 'Second', 'Third'
]);
}
用于团队计划。另外,如果不是很明显,您可以同时为一个系统 个个人计划和团队计划。
区分 Spark 版本
如果您多年后来到这里,并且想了解您的 Spark 版本需要什么,这是我发现的最佳方法。
首先,创建一个带有团队计费的Spark项目
spark new project-name --team-billing
然后将 project-name
文件夹重命名为 with-team-billing
mv project-name with-team-billing
然后,对一个项目做同样的事情没有团队计费
spark new project-name --team-billing
mv project-name without-team-billing
然后,使用您最喜欢的 diff 命令递归地比较这两个文件夹
diff -r with-team-billing without-team-bill
bbdiff with-team-billing without-team-bill
创建同名的两个项目很重要,因为会生成许多 node/npm 文件,其中包含缓存的文件路径值。它们与我们的目标无关,只会弄乱 diff 结果。