PHPackages                             sahvezir/base - 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. sahvezir/base

ActiveLibrary[Framework](/categories/framework)

sahvezir/base
=============

php base freamwork

v1.1.0(3y ago)021MITPHP

Since Oct 15Pushed 2y ago1 watchersCompare

[ Source](https://github.com/HasanBasri06/Base)[ Packagist](https://packagist.org/packages/sahvezir/base)[ RSS](/packages/sahvezir-base/feed)WikiDiscussions main Synced 1mo ago

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

Genel Bakış
-----------

[](#genel-bakış)

Genellikle yeni bir php projesine başlıyacağım zaman biraz vakit kaybederim, url yapısının hazırlanması ve temel kod yapısının oturması vb. şeyler, açıkcası biraz zaman kaybettiriyor, Peki neden bir freamwork kulanmıyorum (laravel, symfony). Genellikle bir freamwork kullanma amacı büyük projelerde küçük işlerle vakit kaybetmemek adına kullanılan sistemdir, peki ya küçük sistemler için (blog, portoy) gibi sayfalar için bir freamwork mü? kuralım, tabiki hayır. Bu projemde benim bir yeni php projesine başlarken kurduğum sistemin bir benzerini sizlerle paylaşıyorum. İyi çalışmalar.

Kurulum
-------

[](#kurulum)

- `composer create-project sahvezir/base [project-name]` komutunu istemcinizde çalıştırdığınız anda indirilen projeyi apache web sunucunuzun klasörüne kopyalayınız
- klasör dizininizde terminali açınız
- Açılan terminalde `php -S localhost:8000 -t .` komutu ile projenizi ayağa kaldırabilirsiniz
- `http://localhost:8000/` linkinden yararlanarak projenizi tarayıcınızda açabilirsiniz

Dökümantasyon
-------------

[](#dökümantasyon)

### Genel Bakış

[](#genel-bakış-1)

Bu freamwork benim pure php yazarken zaman kaybettiren kısmıları kısaltarak ve üstüne koyarak yeni başlanılacak olan php uygulamasını daha keyifli hale getirilmek için yapıldı. Tabi en iyisi değil 😥. Başlangıç olarak aslında herşey routerdan dallanıyor. routera gelen istek eğer get parametresindeki `$_GET["path"]` ile uyuşuyorsa size bir controller gösteriyor, artık iş sizin bu controllerda ne yapmak istediğinize kalıyor, Bütün bu işlemleri app/Kernel sayfasında görebilirsiniz.

- ### Router

    [](#router)

Bir web uygulamasında rotasyon işlemi uygulamanızın yapı taşıdır. Base bu işlemi temelden alır eğer önemli uygulamalar geliştiriyor iseniz daha güçlü bir freamwork öneririz.

[![alt text](/app/views/images/docs/app_web.php.png)](/app/views/images/docs/app_web.php.png)Yukarıda belirtilen rotasyon işlemi v1 dir. Base için ele alınmış basit bir router sistemidir. Evet üzgünüm dinamik bir rota yapısı değil, Henüz. Aslında web.php geriye bir array döndürüyor, döndürülen array içerisinde ilk değerimiz bizim endpointimiz, ilk endpointin içerisinde olan iki değer ise bizim controller ve methodumuz.

Eğer yazmış olduğunuz tüm routerları gözden geçirmek isterseniz. `php basri route:list`komutu ile erişebilirsiniz

### Controller

[](#controller)

Projenizin birçok işi üstlendiği ve ekranda gösterilecek olan verilerimizin işlendiği katmandır

[![alt text](/app/views/images/docs/controller1.png)](/app/views/images/docs/controller1.png)Yukarıda görmüş olduğunuz bir controller dir, aslında bu basit bir controllerdir. namespace adlandırıması PSR-4 den alınmadır.

### View

[](#view)

View katmanı controller da işlenmiş veriyi ekranda güzel bir görüntüyle göstermeye yarar.

`Controller::view("app", ["classes" => $methodName[2]]);`controllerda yazılmış olan bu methodumuzla controller verimizi view katmanına göndermiş bulunuyoruz.

### Models

[](#models)

Model katmanı projemizde var olan entity'lerin veritabanına karşılık gelen katmandır. Genel CRUD işlemlerimizi bu katmana yapıyoruz

### Veri Alma

[](#veri-alma)

Veritabanı işlemlerini güvenlik amacıyla Base .env dosyasında tutar, veritabanı işlemlerini .env dosyasından değiştirmeyi unutmayın 😊.

Controllerda yazıcağınız service işleminde eğer veritabanında bir veri almak gerekiyorsa bu işlemi sizin için basitleştirdik

[![alt text](/app/views/images/docs/db1.png)](/app/views/images/docs/db1.png)

Yukarda görmüş olduğunuz işlem ORM ile yapılıyor. Bu işlem sayesinde veritabanındaki `table('example')` ile belirtilen tablodaki bütün veriyi getirir.

- Where komutu

Eğer tüm veriyi çağırmak istemiyor iseniz where komutunu kullanabilrsiniz

[![alt text](/app/views/images/docs/db2.png)](/app/views/images/docs/db2.png)

- Order By

Eğer gelen veriyi bir sıraya sokmak istiyor iseniz ordeyBy methodunu kullanabilirsiniz.

[![alt text](/app/views/images/docs/db3.png)](/app/views/images/docs/db3.png)

- Limit

Eğer gelen veriyi limit koymak ister iseniz limit methodunu kullanabilirsiniz

[![alt text](/app/views/images/docs/db4.png)](/app/views/images/docs/db4.png)

### Front-End

[](#front-end)

Bu uygulamda front-end yazmak isteyen arkadaşlarımızıda yanlız bırakmıyoruz. Controllerdan göndermiş olduğunuz view sayfası sadece html ve css den oluşmasını istemiyor iseniz. config/integrated.php sayfası sizin için hazır bekliyor.Base sizin için style dosyasını hazırda bekletiyor app/views/css/style.css dosyasından ulaşabilirsiniz.

Base şuanda sadece AngularJs, tailwindcss ve jquery kapsıyor.

Örnek olarak

[![alt text](/app/views/images/docs/integrated1.png)](/app/views/images/docs/integrated1.png)

bu şekilde projenize tailwincss eklemiş oluyorsunuz

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 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.

###  Release Activity

Cadence

Every ~12 days

Total

3

Last Release

1287d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5c9753cf8f4707d2a37fc374bd726a222d2c13e6480776fc759279c447b9e75a?d=identicon)[HasanBasri06](/maintainers/HasanBasri06)

---

Top Contributors

[![HasanBasri06](https://avatars.githubusercontent.com/u/69991414?v=4)](https://github.com/HasanBasri06 "HasanBasri06 (10 commits)")

### Embed Badge

![Health badge](/badges/sahvezir-base/health.svg)

```
[![Health](https://phpackages.com/badges/sahvezir-base/health.svg)](https://phpackages.com/packages/sahvezir-base)
```

###  Alternatives

[laravel/dusk

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

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

The Doppar Framework

366.7k8](/packages/doppar-framework)[lion/bundle

Lion-framework configuration and initialization package

122.2k1](/packages/lion-bundle)

PHPackages © 2026

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