PHPackages                             tubasaygin/yii2-products - 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. [Framework](/categories/framework)
4. /
5. tubasaygin/yii2-products

ActiveYii2-extension[Framework](/categories/framework)

tubasaygin/yii2-products
========================

Yii2 Products Module

031PHP

Since Jan 20Pushed 5y ago1 watchersCompare

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

READMEChangelogDependenciesVersions (1)Used By (0)

 Products Modülü:
==================

[](#-products-modülü-)

Bu modül, ürün yaratma, ürünleri kategorize etme, silme ve düzenleme işlemlerini yapabilmek için yazılmıştır.

[![record](https://user-images.githubusercontent.com/70032538/104810148-e67c8b00-5803-11eb-9f6f-34347ac88c24.gif)](https://user-images.githubusercontent.com/70032538/104810148-e67c8b00-5803-11eb-9f6f-34347ac88c24.gif)

- Modül, iki tablodan oluşmaktadır. Bunlar; product ve product\_category tablolarıdır. Tablolar birbirine foreign key ile bağlıdır.
- Modül ürünleri filtreleme işlemlerini gerçekleştirmektedir. Bunu yaparken de product\_category tablosunu kullanır.
- Filtreleme işleminin yanında, ürün ekleme, silme, güncelleme ve yeni bir kategori ekleme, silme, güncelleme işlemlerini yapabilmektedir.

###  KURULUM

[](#-kurulum-)

---

Modülü packagist.org sayfasında yeni bir depo olarak oluşturup projenize ekleyerek kullanabilirsiniz. Bunu yapmak için aşağıdaki komutu çalıştırın:

```

 composer require --prefer-dist tubasaygin/yii2-products "dev-main"

```

Bu işlemi yaptıktan sonra projenizde backend/config klasörü altında main.php dosyanıza modül yolunu verin

```

 'modules' => [
        'products' => [
            'class' => 'tubasaygin\products\Module',
        ],
    ],

```

Bu işlemleri bitirdikten sonra;

```

  vagrant up

```

komutunu çalıştırmalısınız.

Son olarak veritabanı işlemlerinin de sağlanabilmesi için:

```

 php yii migrate/up --migrationPath=@vendor/tubasaygin/products/migrations

```

Artık modülü kullanabilirsiniz!

### Modül Tantımı

[](#modül-tantımı)

Modül, bir ürün yaratırken kullanıcıdan isim, fiyat gibi bilgilerin yanında aynı zamanda tarih ve yüklenecek dosya bilgilerini de ister. Bu bilgiler alınırken widget kullanılmıştır. Bu widgetları komut yardımıyla projeye eklemeniz gerekebilir:

```

 composer require 2amigos/yii2-date-picker-widget:~1.0

```

Bu eklenti sayesinde tarih widgetını hazır bir şekilde kullanabilirsiniz. Ürünün resmini yüklerken de; indirdiğiniz dosya web altındaki uploads klasörüne kaydedilecektir. Bunun yanında veritabanında da dosyanın konumunu görebilirsiniz. Aşağıda bununla alakalı bir ekran görüntüsü görüyorsunuz:

[![Ekran Görüntüsü (111)](https://user-images.githubusercontent.com/70032538/104810722-a4eddf00-5807-11eb-80f9-c84188091ea9.png)](https://user-images.githubusercontent.com/70032538/104810722-a4eddf00-5807-11eb-80f9-c84188091ea9.png)

Controllers
-----------

[](#controllers)

Controller sınıflarında behaviors() fonksiyonu altında "access" tanımlanmıştır. Böylece kullanıcı giriş yapmadan herhangi bir değişiklik iznine sahip olamamaktadır. Aşağıda bununla ilgili bir ekran kaydı görüyorsunuz: [![record](https://user-images.githubusercontent.com/70032538/105158707-539f6180-5b1f-11eb-8b91-f2053ead040b.gif)](https://user-images.githubusercontent.com/70032538/105158707-539f6180-5b1f-11eb-8b91-f2053ead040b.gif)

Ayrıca ProductController'da actionCreate() fonksiyonu altında düzenlemeler yapılmıştır. Yeni bir çalışan oluşturulduğunda ve fotoğrafı yüklendiğinde bu fotoğraflara veritabanından ulaşabilmenin yanında modül altındaki web/uploads klasöründen de ulaşabilmesi için UploadedFile kullanılmıştır, ve UploadedFile projeye import edilmiştir.

```

 use yii\web\UploadedFile;

```

Views
-----

[](#views)

Product views'inin içinde çalışanların departmanlarına göre filtrelenebilmesi için ArrayHelper kullanılmıştır. Yukarıda ilk verilen ekran kaydından bu işlemin yapılabildiğini görebilirsiniz... ```

 use yii\helpers\ArrayHelper;

```

Aynı zamanda product view'inin altında \_form.php dosyasında widgetların kullanılabilmesi, upload olaylarının gerçekleşebilmesi için aşağıdaki kod parçası eklenmiştir:

```

  ['enctype' => 'multipart/form-data']]); ?>

```

Layouts
-------

[](#layouts)

Layouts dosyası advanced projesinin altında hazır gelenin haricinde yeni bir tane oluşturulmuştur. Tasarımda komple bir değişiklik yapılmamıştır. Kullanıcı çalışanlara ve departmanlara kolayca ulaşabilmesi için aşağıdaki kod parçası eklenmiştir: ```

 ['label' => 'Products', 'url' => ['/products/product/index']],
 ['label' => 'Categories', 'url' => ['/products/product-category/index']],

```

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity31

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/3fe5c4a945cfec671bba0b49ec3a1797be7489fade04e48a7264da8d766b9dc4?d=identicon)[tubasaygin](/maintainers/tubasaygin)

---

Top Contributors

[![tubasaygin](https://avatars.githubusercontent.com/u/70032538?v=4)](https://github.com/tubasaygin "tubasaygin (15 commits)")

### Embed Badge

![Health badge](/badges/tubasaygin-yii2-products/health.svg)

```
[![Health](https://phpackages.com/badges/tubasaygin-yii2-products/health.svg)](https://phpackages.com/packages/tubasaygin-yii2-products)
```

###  Alternatives

[laravel/telescope

An elegant debug assistant for the Laravel framework.

5.2k67.8M192](/packages/laravel-telescope)[spiral/roadrunner

RoadRunner: High-performance PHP application server and process manager written in Go and powered with plugins

8.4k12.2M84](/packages/spiral-roadrunner)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M259](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

708181.8M596](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)

PHPackages © 2026

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