mwazovzky/favoritable
Composer 安装命令:
composer require mwazovzky/favoritable
包简介
Laravel Package allows app User to Favorite/Unfavorite Eloquent Model instance
关键字:
README 文档
README
Project: mwazovzky\favoritable
Description
Laravel Package. Allows app User to favorite/unfavorite Eloquent Model instance.
Version: 0.0.6
Change log:
0.0.6 frontend assets added: <favorite-vidget> vue component
0.0.5 frontend assets added: <favorite> vue component and favorite vidget (blade partial)
0.0.4 routes and controller to favorite/unfavorite model added
0.0.3 package auto discovery (as of Laravel 5.5)
0.0.2 added Model::favoritedBy() methods that define Many-To-Many Polymorphic Relationships
0.0.1 initial project scaffolding
Installation.
- Pull the package into Laravel project
composer require mwazovzky/favoritable
- For Laravel 5.4 or below register package service provider at
/config/app.php.
Package will be auto-registered for Laravel 5.5 and above.
// file config/app.php
...
'providers' => [
...
\MWazovzky\Favoritable\FavoritableServiceProvider::class
...
];
...
- Run database migration to create
favoritestable
$ php artisan migrate
- Use trait Favoritable for every Model that can be favorited by a User.
Check trait docblocks for a list of available methods.
use \MWazovzky\Favoritable\Favoritable;
- Package makes
favorite/unfavoriteendpoints available for the application via adding corresponding routes to 'web' routes group
Route::post('/favorites/{model}/{id}', 'FavoritesController@store')->name('favorites.store');
Route::delete('/favorites/{model}/{id}', 'FavoritesController@destroy')->name('favorites.destroy');
where model and id are short model class name (kebab-case for KebabCase) and
id for the model being favorited/unfavorited.
- Run artisan command to publish package assets to
/resources/assets/js/components/favoritable/Favorite.vuefolder:
$ php artisan vendor:publish --tag=assets
- Published vue component are:
<favorite>- favorite/unfavorite button<favorite-vidget>togglesfavoritequery string attribute. - Register components:
// file /resources/assets/js/app.js
Vue.component('favorite', require('./components/favoritable/Favorite.vue'));
Vue.component('favorite-vidget', require('./components/favoritable/FavoriteVidget.vue'));
Component usage
<favorite type="modelClass" :model={{ $model->favoriteAttributes() }}></favorite>
where
modelClass is a short model class name (use kebab-case for KebabCase),
$model is a model instance,
Model::favoriteAttributes() is a method provided by Favoritable trait.
Any object (e.g. model itself) that has: id, isFavoreted and favoritesCount
fields may be passed as component model property.
<favorite-vidget></favorite-vidget>
Favorite vidget requires no parameters.
mwazovzky/favoritable 适用场景与选型建议
mwazovzky/favoritable 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 38 次下载、GitHub Stars 达 1, 最近一次更新时间为 2017 年 11 月 28 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「laravel」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 mwazovzky/favoritable 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 mwazovzky/favoritable 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 mwazovzky/favoritable 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Alfabank REST API integration
Laravel package for Accurate Online API integration.
Shared RCX Laravel DataTables UI and configuration helpers.
Boot a Laravel project on any machine with one command: app:serve installs missing tools (PHP, Node, Composer, Herd, Docker), creates .env, sets up the database, runs migrations, builds assets, starts a queue worker and serves via Herd, Sail or artisan serve; app:down cleanly stops everything it sta
Branded, diagnostic error pages (500, 403, 404, 419, 503) for Filament — native Filament UI, dark mode and translations out of the box.
Turn any PDF into a Pingen-ready A4 letter (generated address cover page + A4 normalisation + safe margins) and send it through the Pingen print & mail API. Laravel-first.
统计信息
- 总下载量: 38
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-11-28