mixdinternet/categories
Composer 安装命令:
composer require mixdinternet/categories
包简介
Pacote básico de categorias
README 文档
README
Pacote para implementar categorias em seus pacotes.
Instalação
Adicione no seu composer.json
"require": { "mixdinternet/categories": "0.1.*" }
ou
composer require mixdinternet/categories
Service Provider
Abra o arquivo config/app.php e adicione
Mixdinternet\Categories\Providers\CategoriesServiceProvider::class
Migrations
php artisan vendor:publish --provider="Mixdinternet\Categories\Providers\CategoriesServiceProvider" --tag="migrations"`
php artisan migrate
Configurações
É possivel a troca de icone e nomenclatura do pacote em config/mcategories.php
php artisan vendor:publish --provider="Mixdinternet\Categories\Providers\CategoriesServiceProvider" --tag="config"`
Utilização
- Acrescentar diretorios e arquivos ao pacote em que deseja implementar categorias
Como exemplo usaremos um pacote com o nome Flavor.
Após esses passos e necessario criar o diretorio Scopes dentro do pacote em que deseja implementar a categoria.
E dentro deste diretorio Scopes um arquivo NomePacoteCategory.php
Ex: FlavorsCategory.php que contera o seguinte codigo
<?php
namespace Mixdinternet\Flavors\Scopes;
use Illuminate\Database\Eloquent\Scope;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builder;
class FlavorsCategory implements Scope
{
/**
* Apply the scope to a given Eloquent query builder.
*
* @param \Illuminate\Database\Eloquent\Builder $builder
* @param \Illuminate\Database\Eloquent\Model $model
* @return void
*/
public function apply(Builder $builder, Model $model)
{
$builder->where('type', 'flavors');
}
}
Nesses trechos trocar de acordo com o nome do seu pacote
namespace Mixdinternet\Flavors\Scopes;
class FlavorsCategory implements Scope
$builder->where('type', 'flavors');
- Na pasta base do seu pacote criar o arquivo Category.php contendo o seguinte codigo
<?php
namespace Mixdinternet\Flavors;
use Mixdinternet\Categories\Category as BaseCategory;
use Mixdinternet\Flavors\Scopes\FlavorsCategory;
class Category extends BaseCategory
{
public static function boot()
{
static::addGlobalScope(new FlavorsCategory());
}
public function flavors()
{
return $this->hasMany(Flavor::class);
}
}
- Sera necessario alterar de acordo com o nome do seu pacote nos seguintes trechos
trocar o namespace de acordo com o seu pacote
namespace Mixdinternet\Flavors;
Incluir o arquivo anteriormente criado
use Mixdinternet\Flavors\Scopes\FlavorsCategory;
static::addGlobalScope(new FlavorsCategory());
Este e o relacionamento com o seu pacote
public function flavors()
{
return $this->hasMany(Flavor::class);
}
Arquivo de rotas do pacote
Acrescentar em seu arquivo de rotas e substituir {categoryType} pelo nome de seu pacote.
<?php
Route::group(['middleware' => ['web'], 'prefix' => config('admin.url'), 'as' => 'admin.flavors'], function () {
Route::group(['middleware' => ['auth.admin', 'auth.rules']], function () {
Route::get('{categoryType}/categories/trash', ['uses' => '\Mixdinternet\Categories\Http\Controllers\CategoriesAdminController@index', 'as' => '.categories.trash']);
Route::post('{categoryType}/categories/restore/{id}', ['uses' => '\Mixdinternet\Categories\Http\Controllers\CategoriesAdminController@restore', 'as' => '.categories.restore']);
Route::resource('{categoryType}/categories', '\Mixdinternet\Categories\Http\Controllers\CategoriesAdminController', [
'names' => [
'index' => '.categories.index',
'create' => '.categories.create',
'store' => '.categories.store',
'edit' => '.categories.edit',
'update' => '.categories.update',
'show' => '.categories.show',
], 'except' => ['destroy']]);
Route::delete('{categoryType}/categories/destroy', ['uses' => '\Mixdinternet\Categories\Http\Controllers\CategoriesAdminController@destroy', 'as' => '.categories.destroy']);
});
});
mixdinternet/categories 适用场景与选型建议
mixdinternet/categories 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 175 次下载、GitHub Stars 达 1, 最近一次更新时间为 2017 年 05 月 26 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「categories」 「laravel」 「categorias」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 mixdinternet/categories 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 mixdinternet/categories 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 mixdinternet/categories 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Categories for NetCommons Plugin
PHP Interface for Babel Street Text Analytics
Adjacency List’ed Closure Table database design pattern implementation for Laravel. Includes restore of tree
Nested Set Model for Laravel
Create and manage taxonomy (terms) in Laravel App
Manage system categories easily with a category tree
统计信息
- 总下载量: 175
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-05-26