PHPackages                             nikan2010/accessible-resources - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. nikan2010/accessible-resources

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

nikan2010/accessible-resources
==============================

Manage user access to various resources with caching

v1.0.2(1y ago)02MITPHPPHP ^8.0

Since May 3Pushed 1y ago1 watchersCompare

[ Source](https://github.com/nikan2010/accessible-resources)[ Packagist](https://packagist.org/packages/nikan2010/accessible-resources)[ RSS](/packages/nikan2010-accessible-resources/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (1)Versions (4)Used By (0)

🎯 پکیج Accessible Resources برای لاراول
=======================================

[](#-پکیج-accessible-resources-برای-لاراول)

این پکیج به شما اجازه می‌دهد دسترسی کاربران به منابع مختلف (مثل محصولات، دسته‌بندی‌ها و ...) را با استفاده از رابطه‌ی چندشکلی (polymorphic) و کش هوشمند مدیریت کنید.

---

✅ امکانات
---------

[](#-امکانات)

- پشتیبانی از چند مدل مختلف به‌صورت polymorphic (مثل Product, Category و ...)
- ماکروی `withAccessibleTo()` برای فیلتر کردن داده‌ها در همه مدل‌ها
- کش هوشمند برای افزایش کارایی
- فایل تنظیمات برای تعریف مدل‌ها و نقش ادمین

---

🔧 نصب پکیج
----------

[](#-نصب-پکیج)

۱. پکیج را داخل پوشه‌ی `packages/accessible-resources` در پروژه لاراول خود قرار دهید.

۲. فایل `composer.json` پروژه‌تان را ویرایش کرده و این قسمت را اضافه کنید:

```
"repositories": [
  {
    "type": "path",
    "url": "packages/accessible-resources"
  }
],
```

۳. نصب پکیج با composer:

```
composer require nikan2010/accessible-resources:@dev
```

---

⚙️ پیکربندی
-----------

[](#️-پیکربندی)

برای انتشار فایل‌های تنظیمات و مهاجرت (migration):

```
php artisan vendor:publish --tag=accessible-resources
php artisan migrate
```

سپس فایل `config/accessible-resources.php` را ویرایش کنید:

```
'resources' => [
    'product' => \App\Models\Product::class,
    'category' => \App\Models\Category::class,
],

'admin_role' => 'admin',
```

---

🧩 استفاده
---------

[](#-استفاده)

### ۱. افزودن Trait به مدل User

[](#۱-افزودن-trait-به-مدل-user)

```
use AccessibleResources\Traits\HasAccessibleResources;

class User extends Authenticatable
{
    use HasAccessibleResources;
}
```

### ۲. اختصاص دسترسی

[](#۲-اختصاص-دسترسی)

```
$user->accessibleResources(\App\Models\Product::class)->attach($productId);
```

---

### ۳. استفاده از ماکرو در کوئری‌ها

[](#۳-استفاده-از-ماکرو-در-کوئری‌ها)

```
$orders = Order::query()->withAccessibleTo(
    auth()->user(),
    'product', // نام رابطه
    'product', // کلید تعریف‌شده در فایل config
    'product_id' // (اختیاری) برای روابط belongsTo
)->get();
```

---

📦 کش هوشمند
-----------

[](#-کش-هوشمند)

دسترسی کاربر برای هر منبع تا ۱ روز کش می‌شود. برای پاک‌سازی دستی کش:

```
$user->clearCachedAccessibleResourceIds(\App\Models\Product::class);
```

---

📃 مجوز استفاده
--------------

[](#-مجوز-استفاده)

کد این پکیج آزاد است (MIT License) و می‌توانید آزادانه در پروژه‌های شخصی و تجاری استفاده کنید.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance49

Moderate activity, may be stable

Popularity2

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

3

Last Release

378d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a160b165b426b01b12b789a5d3a252c7cce3f20bfb3d9d61c7570860fe062a80?d=identicon)[nikan2010](/maintainers/nikan2010)

### Embed Badge

![Health badge](/badges/nikan2010-accessible-resources/health.svg)

```
[![Health](https://phpackages.com/badges/nikan2010-accessible-resources/health.svg)](https://phpackages.com/packages/nikan2010-accessible-resources)
```

###  Alternatives

[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[illuminate/auth

The Illuminate Auth package.

9327.3M1.0k](/packages/illuminate-auth)[olssonm/l5-very-basic-auth

Laravel stateless HTTP basic auth without the need for a database

1662.5M1](/packages/olssonm-l5-very-basic-auth)[stechstudio/laravel-jwt

Helper package that makes it easy to generate, consume, and protect routes with JWT tokens in Laravel

126117.6k](/packages/stechstudio-laravel-jwt)[scaler-tech/laravel-saml2

SAML2 Service Provider integration for Laravel applications, based on OneLogin toolkit

2737.5k](/packages/scaler-tech-laravel-saml2)[truckersmp/steam-socialite

Laravel Socialite provider for Steam OpenID.

1516.7k](/packages/truckersmp-steam-socialite)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
