gbuckingham89 / valet-assistant
一个Laravel包,用于在另一个Laravel应用程序中使用Laravel Valet - 例如获取Valet所服务的站点列表。
Requires
- php: ^7.4|^8.0
- ext-json: *
- laravel/framework: ^8.0
- laravel/valet: ^2.18
- spatie/enum: ^3.11
Requires (Dev)
- mockery/mockery: ^1.4
- nunomaduro/larastan: ^1.0
- orchestra/testbench: ^6.23
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-04-06 02:00:38 UTC
README
一个Laravel包,用于在另一个Laravel应用程序中使用Laravel Valet - 例如获取Valet所服务的站点列表。
此包仅在安装了Laravel Valet的计算机上才能完全功能。
寻找Laravel Valet的UI?请查看gbuckingham89/valet-launchpad。
安装
您可以通过composer安装此包
composer require gbuckingham89/valet-assistant
您可以使用以下命令发布Laravel配置文件
php artisan vendor:publish --tag="valet-assistant-config"
使用方法
使用Laravel容器以您认为最佳的方式解析Gbuckingham89\ValetAssistant\ValetAssistant
的副本 - 例如依赖注入或通过app()->make()
。
还有一个Facade,Gbuckingham89\ValetAssistant\Facade\ValetAssistant
,如果您愿意的话。
一旦您有了实例,您可以使用以下方法
获取由Laravel Valet服务的所有项目的列表
$valetSites = $valetAssistant()->projects();
这返回一个"Project"对象集合(代表您的本地机器上的目录)。每个项目将有一个或多个"Site"对象(代表项目服务的URL)。请查看源代码或在您的IDE中使用自动完成功能来了解更多关于数据结构的信息。
检查Valet是否已安装(并可访问)
$valetIsInstalled = $valetAssistant()->isInstalled();
这简单地返回一个布尔值,指示Valet是否已安装。
故障排除
Valet未安装
如果您看到有关Valet未安装的错误(但您确信它已安装,并且您从本地终端运行which valet
时看到输出),那么很可能是运行您的PHP脚本的用户不知道Valet二进制文件的位置,或者没有权限运行它。
有两种方法可以解决这个问题;
- 通过在本地终端运行
echo $PATH
来查找您的shell的PATH环境变量的值。确保您已发布配置文件(见上文),然后在.env
文件中添加一个条目,键为VALET_ASSISTANT_ENV_PATH
,值为您的本地PATH。然后此PATH值将在此包执行shell命令时使用。它不会用于此包外的代码。 - 将
/Users/[local-username]/.composer/vendor/bin
添加到运行PHP脚本的用户的PATH环境变量中(请记住插入Valet安装下的用户名)
请自行研究并考虑通过PATH环境变量给予PHP访问额外目录的安全影响。
测试
您可以通过调用./vendor/bin/phpunit
或composer test
来运行测试套件。
当运行测试套件时,您可能在终端输出中看到以下错误:..sh: which: command not found
。这是一个已知问题,一个PR来解决这个问题当然会受到欢迎!
变更日志
请参阅CHANGELOG以获取有关最近更改的更多信息。
贡献
请参阅贡献指南以获取详细信息。
安全漏洞
请查看我们的安全策略,了解如何报告安全漏洞。
鸣谢
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。