让我们在 app 目录下创建一个 Helpers 文件夹。然后在 Helpers 文件夹里,创建一个 Contracts 文件夹。在 Contracts 文件夹里,创建文件RocketShipContract.php 并写入下面的内容:
- <?php
- namespace App\Helpers\Contracts;
- Interface RocketShipContract
- {
- public function blastOff();
- }
其实,Laravel 有一个神奇的功能是你可以类型提示契约,Service Provider会返回一个受它约束的具体类的实例。这实现了无与伦比的灵活性和松耦合的结构,因为你的工作将可以轻松地通过一行代码来完成。我们即将看到这是如何工作的。
- <?php
- namespace app\Helpers;
- use App\Helpers\Contracts\RocketShipContract;
- class RocketShip implements RocketShipContract
- {
- public function blastOff()
- {
- return 'Houston, we have ignition';
- }
- }