adibenc / laravel-strapi
Laravel 封装 Strapi 无头 CMS,具有可扩展类
dev-master
2024-01-18 06:04 UTC
Requires
- php: ^7.3|^7.4|^8.0|^8.1|^8.2
- illuminate/contracts: ^8.37|^9.0
- laravel/framework: ^8|^9|^10
- spatie/laravel-package-tools: ^1.4.3
Requires (Dev)
- brianium/paratest: ^6.2
- nunomaduro/collision: ^5.3|^6.0
- orchestra/testbench: ^6.15
- phpunit/phpunit: ^9.3
- spatie/laravel-ray: ^1.9
- vimeo/psalm: ^5.7
This package is auto-updated.
Last update: 2024-09-18 07:40:22 UTC
README
Laravel-Strapi 是一个用于使用 Strapi 无头 CMS 的 Laravel 辅助工具。
注意:为支持 Strapi v3,请使用 2.x.x 版本
安装
您可以通过 composer 安装此包
composer require dbfx/laravel-strapi
您可以使用以下命令发布和运行迁移
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="Dbfx\LaravelStrapi\LaravelStrapiServiceProvider" --tag="strapi-config"
您需要在 .env 中定义 STRAPI_URL 和 STRAPI_CACHE_TIME:您还可以选择性地定义 STRAPI_TOKEN 以启用身份验证。不要包含 'Bearer',只需 token 本身。
STRAPI_URL=https://strapi.test.com
STRAPI_CACHE_TIME=3600
STRAPI_TOKEN=abcd1234abcd1234
用法
laravel-strapi 提供了 collection() 和 entry() 调用,以返回完整集合或集合中的特定条目。在下面的示例中,我们正在查询 strapi 集合 'blogs',然后从该集合获取 ID 为 1 的条目。
use Dbfx\LaravelStrapi\LaravelStrapi; $strapi = new LaravelStrapi(); $blogs = $strapi->collection('blogs'); $entry = $strapi->entry('blogs', 1);
还有一些有用的选项可供选择。
$sortKey
和$sortOrder
允许您指定排序的键和方向$fullUrls
会自动将您的 STRAPI_URL 添加到任何相对 URL 的前面(例如图片等)。$limit
设置您请求的项目数量$start
是与 limit 一起使用的偏移量,对于分页很有用$populate
是一个包含要填充的字段的数组
use Dbfx\LaravelStrapi\LaravelStrapi; $strapi = new LaravelStrapi(); $blogs = $strapi->collection('blogs', $sortKey = 'id', $sortOrder = 'DESC', $limit = 20, $start = 0, $fullUrls = true, $populate = ['author', 'images']); $entry = $strapi->entry('blogs', 1, $fullUrls = true, $populate = ['author', 'images']);
您还可以按如下方式访问单个类型项
use Dbfx\LaravelStrapi\LaravelStrapi; $strapi = new LaravelStrapi(); // Fetch the full homepage array $homepageArray = $strapi->single('homepage'); // Return just the ['content'] field from the homepage array $homepageItem = $strapi->single('homepage', 'content');
您还可以通过搜索自定义字段(例如 slug)来选择条目
use Dbfx\LaravelStrapi\LaravelStrapi; $strapi = new LaravelStrapi(); $entries = $strapi->entriesByField('blogs', 'slug', 'test-blog-post');
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG
贡献
有关详细信息,请参阅 CONTRIBUTING
鸣谢
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件