PHPackages                             metinseylan/perfectview - 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. [Templating &amp; Views](/categories/templating)
4. /
5. metinseylan/perfectview

ActiveLibrary[Templating &amp; Views](/categories/templating)

metinseylan/perfectview
=======================

Laravel 4 icin layout kontrolu ve json cevaplari

616PHP

Since Jan 6Pushed 10y ago2 watchersCompare

[ Source](https://github.com/MetinSeylan/PerfectView)[ Packagist](https://packagist.org/packages/metinseylan/perfectview)[ RSS](/packages/metinseylan-perfectview/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependenciesVersions (1)Used By (0)

PerfectView nedir ?
===================

[](#perfectview-nedir-)

Not: Kullanmayın artık. (kullanışsız)

CSS, JS gibi kaynakları kolayca yönetebilir, şablonlara sınırsız alt şablon atayabilir, ajax sorgularında ek kod yazmadan json cevap verebilir, şablonlar üzerinden base html şablonuna sayfa başlığı, script ve css leri hooking edebilir ve HEAD tagları ekleyebilirsiniz

---

Kurulum
-------

[](#kurulum)

Laravel 4 composer.json dosyasının "require" dizisine ekleyiniz

```
"metinseylan/perfectview": "dev-master"
```

ardından komut satırına

```
composer update

```

çalıştırdıktan sonra Laravel 4 config klasörü altındaki app.php dosyasının "**providers**" dizisine

```
'MetinSeylan\PerfectView\PerfectViewServiceProvider'
```

ekleyin ve yine aynı dosyanın "**aliases**" dizisine

```
'PerfectView'     => 'MetinSeylan\PerfectView\Facades\PerfectView'
```

ekleyin ve kurulum tamamlandı.

Kullanım
--------

[](#kullanım)

Öncelikle view klasörü altına bir "**base.blade.php**" adında bir dosya oluşturuyoruz bu bizim olmazsa olmaz view dosyamız oluyor çağırılan bütün view dosyaları bunun üzerinden gösterilecek.

**Örnek base dosyamız**

```

    @section('head_hook')

    {{ PerfectView::title() }}

    {{ PerfectView::tag() }}
    {{ PerfectView::style() }}
    @show

@section('content_hook')
    {{ $content }}
@show

{{ PerfectView::script() }}

```

**Basit kullanım**

```
return PerfectView::make("merhaba", $data);
```

bu örnekte merhaba adlı view şablonu base dosyamızın **$content** değişkeninde basılır.

**Wrap Kullanımı (çerçeveleme)**

```
return PerfectView::wrap("menu", $data)->make("merhaba", $data);
```

burada ise **merhaba** view şablonu **menu** şablonundaki **$content** değişkenine basıldı ve bu iki şablonda yine **base** şablonundaki **$content** değişkeninde gösterildi data detaylı açarsak **base-&gt;menu-&gt;merhaba**

**Önemli**wrap fonksiyonu sınırı yoktur örneğin

```
return PerfectView::wrap("bildirim")->wrap("ustmenu")->wrap("menu")->make("merhaba");
```

**Ayarlamalar**

herzaman base şablonu yüklemek istemeyebilirsiniz bunun için

```
return PerfectView::make("merhaba", $data, array('nonBase' => true));
```

wrap fonksiyonunu kullandınız fakat duruma göre wrap edilmiş şablonları gizleme ihtiyacı duydunuz bunun için

```
return PerfectView::make("merhaba", $data, array('onlyContent' => true));
```

**Tag, Asset ve Title**

base şablonu dışında diğer bütün şablonlardan asset ve tag ataması yapabilirsiniz

tag eklemek için (blade kullanıyorsanız php tagları kullanın)

```
PerfectView::tag('meta' => array('content' => 'içerik', 'title' => 'mesela'));
```

Asset Eklemek için

```
PerfectView::asset('js/script.js');
PerfectView::asset('css/style.css');
```

Sayfa başlığı eklemek için (title)

```
PerfectView::title('siteme hoşgeldin reyiz');
```

**Ajax cevapları**

eğer bir ajax isteği gelirse base şablonu olmadan json şeklince cevap verir örneğin

```
{
    "template":"render edilmiş html",
    "title":"sayfa başlığı",
    "script":"javascript tagı",
    "style":"css tagı"
}
```

eğer herzaman json cevabı istemiyorsanız

```
return PerfectView::make("merhaba", $data, array('ajax' => false));
```

şeklinde kullanın

bazende json cevaplarında sadece veri istenilebilir

```
return PerfectView::make("merhaba", $data, array('jsonData' => true));
```

böylece view şablonu render edilmez ve json veri olarak sadece $data ve sayfa başlığı döndürülür

**Config dosyası**
------------------

[](#config-dosyası)

**vendor/metinseylan/perfectview/config/config.php** altındadır.

```
php artisan config:publish metinseylan/perfectview
```

komutu ile "app\\config\\packages\\metinseylan\\perfectview" dizini altına alınabilir.

**Ayarlar**

'assetFolder' ile script ve css dosyalarınızın bulunduğu dizini belirtebilirsiniz

'baseView' ile base şablonunuzu belirtebilirsiniz (varsayılan "base")

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity41

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.

### Community

Maintainers

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

---

Top Contributors

[![MetinSeylan](https://avatars.githubusercontent.com/u/1490081?v=4)](https://github.com/MetinSeylan "MetinSeylan (29 commits)")

### Embed Badge

![Health badge](/badges/metinseylan-perfectview/health.svg)

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

###  Alternatives

[mustache/mustache

A Mustache implementation in PHP.

3.3k44.6M291](/packages/mustache-mustache)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[whitecube/nova-flexible-content

Flexible Content &amp; Repeater Fields for Laravel Nova.

8053.0M25](/packages/whitecube-nova-flexible-content)[mopa/bootstrap-bundle

Easy integration of twitters bootstrap into symfony2

7042.9M33](/packages/mopa-bootstrap-bundle)[limenius/react-bundle

Client and Server-side react rendering in a Symfony Bundle

3871.2M](/packages/limenius-react-bundle)[nicmart/string-template

StringTemplate is a very simple string template engine for php. I've written it to have a thing like sprintf, but with named and nested substutions.

2101.7M30](/packages/nicmart-string-template)

PHPackages © 2026

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