Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4.2 #17

Merged
merged 4 commits into from
Sep 27, 2014
Merged

4.2 #17

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 75 additions & 1 deletion contributions.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
- [Çekirdek Geliştirme Tartışmaları](#core-development-discussion)
- [Yeni Özellikler](#new-features)
- [Bug'lar](#bugs)
- [Liferaft Uygulamalarının Oluşturulması](#creating-liferaft-applications)
- [Liferaft Uygulamalarının Çekip Alınması](#grabbing-liferaft-applications)
- [Hangi Dal?](#which-branch)
- [Güvenlik Açıkları](#security-vulnerabilities)
- [Kodlama Biçimi](#coding-style)
Expand All @@ -13,7 +15,7 @@

Laravel açık kaynak bir projedir ve Laravel'in geliştirilmesi için herkes ona katkıda bulunabilir. Beceri düzeyi, cinsiyeti, ırkı, dini ve milliyeti ne olursa olsun katılımcıları bekliyoruz. Farklı, canlı bir topluluğa sahip olmak frameworkün temel değerlerinden biridir!

Aktif işbirliğini teşvik etmek amacıyla, Laravel şu anda bug bildirimlerini değil, sadece çekme isteklerini (pull requests) kabul etmektedir. **"Bug bildirimleri" başarısız kalan bir unit testini içeren bir çekme isteği şeklinde gönderilebilir.** Başarısız kalan bir unit testi, geliştirme ekibine bu bug'ın mevcut olduğunun "kanıtını" gösterir ve geliştirme ekibi bu bug'ı hallettikten sonra da bug'ın düzeltildiğinin güvenilir bir göstergesi olarak hizmet eder.
Aktif işbirliğini teşvik etmek amacıyla, Laravel şu anda bug bildirimlerini değil, sadece çekme isteklerini (pull requests) kabul etmektedir. "Bug bildirimleri" başarısız kalan bir unit testini içeren bir çekme isteği şeklinde gönderilebilir. Alternatif olarak, bir sandbox Laravel uygulaması içindeki bir bug gösterimi [ana Laravel ambarına](https://github.com/laravel/laravel) bir çekme isteği olarak gönderilebilir. Başarısız kalan bir unit testi veya bir sandbox uygulaması, geliştirme ekibine bu bug'ın mevcut olduğunun "kanıtını" gösterir ve geliştirme ekibi bu bug'ı hallettikten sonra da bug'ın düzeltildiğinin güvenilir bir göstergesi olarak hizmet eder.

Laravel kaynak kodu Github'da yönetilmektedir ve Laravel projelerinin her biri için ambarlar vardır:

Expand Down Expand Up @@ -44,15 +46,87 @@ Yeni özellikler eklerken unit testlerini eklemeyi unutmayın! Unit testleri, ye
<a name="bugs"></a>
## Bug'lar

### Unit Test Yoluyla

Bug'lar için çekme istekleri, öncesinde Laravel geliştirme ekibiyle tartışılmaksızın gönderilebilir. Bir bug düzeltmesi gönderirken bug'ın asla tekrar gözükmeyeceğinden bizi emin eden bir unit testi eklemeye çalışınız!

Eğer frameworkte bir bug bulduğunuza inanıyor, fakat onu nasıl düzelteceğinizden emin değilseniz, lütfen başarısız kalan bir unit testi içeren bir çekme isteği gönderin. Başarısız kalan bir unit testi, geliştirme ekibine bu bug'ın mevcut olduğunun "kanıtını" gösterir ve geliştirme ekibi bu bug'ı hallettikten sonra da bug'ın düzeltildiğinin güvenilir bir göstergesi olarak hizmet eder.

Şayet bir bug için başarısız kalan bir unit testinin nasıl yazılacağından emin değilseniz, frameworke dahil edilmiş diğer unit testlerini gözden geçirin. Hala yapamadınızsa, `#laravel` IRC channel (Freenode)'da yardım isteyebilirsiniz.

### Laravel Liferaft Yoluyla

Sorununuz için bir unit testi yazamıyorsanız, Laravel Liferaft size sorunu yeniden oluşturan bir demo uygulaması oluşturma imkanı verir. Liferaft, Laravel ambarının fork edilmesi ve ambara çekme isteklerinin gönderilmesini otomatize de edebilir. Liferaft uygulamanız gönderildikten sonra, bir Laravel geliştiricisi sizin uygulamanızı [Homestead](/docs/homestead) üzerinde çalıştırabilir ve sorununuzu gözden geçirebilir.

<a name="creating-liferaft-applications"></a>
## Liferaft Uygulamalarının Oluşturulması

Laravel Liferaft Laravele katkıda bulunmak için yeni ve yenilikçi bir yol sağlar. İlk olarak Composer aracılığıyla Liferaft CLI aracını yüklemeniz gerekecek:

### Liferaft Yüklenmesi

composer global require "laravel/liferaft=~1.0"

Terminalinizden `liferaft` komutu çalıştırıldığı zaman `liferaft` çalıştırılabilir dosyasının bulunması için PATH'inizde `~/.composer/vendor/bin` dizini olduğundan emin olun.

### GitHub İle Giriş Yapılması

Liferaft ile çalışmaya başlamadan önce, bir GitHub kişisel erişim tokenine kayıt olmanız gerekir. [GitHub settings panelinizden](https://github.com/settings/applications) bir kişisel erişim tokeni üretebilirsiniz. GitHub tarafından seçilmiş durumdaki default kapsamlar yeterli olacaktır; bununla birlikte, eğer isterseniz, Liferaft'ın sizin eski sandbox uygulamalarınızı silebilmesi için `delete_repo` kapsamı imtiyazını alabilirsiniz.

liferaft auth my-github-token

### Yeni Bir Liferaft Uygulaması Oluşturulması

Yeni bir Liferaft uygulaması oluşturmak için, `new` komutunu kullanmanız yeterlidir:

liferaft new my-bug-fix

Bu komut birkaç şey yapacaktır. Birincisi, [Laravel GitHub repository'yi](https://github.com/laravel/laravel) sizin GitHub hesabına fork edecektir. Daha sonra bu fork edilen ambarı sizin makinenize klonlayacak ve Composer bağımlılıklarını yükleyecektir. Ambar yüklendikten sonra, Liferaft uygulaması içerisinde sorunu yeniden oluşturmaya başlayabilirsiniz!

### Sorununuzun Yeniden Oluşturulması

Bir Liferaft uygulaması oluşturulmasından sonra, basitçe sorununuzu yeniden oluşturun. Rotalarınızı tanımlayabilir, Eloquent modelleri oluşturabilir ve hatta veritabanı migrasyonları üretebilirsiniz! Tek gereklilik, uygulamanızın yeni bir [Laravel Homestead](/docs/homestead) sanal makinesi üzerinde çalışabiliyor olmasıdır. Bu, Laravel geliştiricilerine sizin uygulamanızı kendi makinelerinde kolaylıkla çalıştırabilme imkanı verir.

Sorununuzu Liferaft uygulaması içerisinde yeniden oluşturduktan sonra, gözden geçirme için onu tekrar Laravel ambarına geri göndermeye hazırsınız demektir!

### Uygulamanızın Gözden Geçirme İçin Gönderilmesi

Sorununuzu yeniden oluşturduktan sonra, onu gözden geçirme için göndermenin tam zamanıdır! Bununla birlikte, öncelikle Liferaft uygulamanız içerisinde üretilmiş olan `liferaft.md` dosyasını tamamlamanız gerekir. Bu dosyanın ilk satırı çekme isteğinizin başlığı olacaktır. İçeriğin geri kalan kısı çekme isteğinin gövdesinde yer alacaktır. Tabii ki, GitHub Flavored Markdown desteklenmektedir.

Bu `liferaft.md` dosyasını doldurduktan sonra, değişikliklerinizin tamamını GitHub ambarınıza gönderin. Sonra da, uygulamanızın dizininden Liferaft `throw` komutunu çalıştırın:

liferaft throw

Bu komut Laravel GitHub ambarı için bir çekme isteği oluşturacaktır. Bir Laravel geliştiricisi sizin uygulamanızı kolaylıkla çekip alabilecek ve kendi Homestead ortamlarında çalıştırabilecektir!

<a name="grabbing-liferaft-applications"></a>
## Liferaft Uygulamalarının Çekip Alınması

Laravele katkıda bulanmak mı istiyorsunuz? Liferaft Liferaft uygulamalarını yüklemek ve onları kendi [Homestead ortamınızda](/docs/homestead) görme işini sancısız bir hale getirir.

İlk olarak, kolaylık olması için, [laravel/laravel](https://github.com/laravel/laravel) ambarını kendi makinenizde bir `liferaft` dizinine klonlayın:

git clone https://github.com/laravel/laravel.git liferaft

Ondan sonra, `develop` dalını yoklayın, böylece hem stabil hem de gelecek Laravel sürümlerini hedef alan Liferaft uygulamalarını yükleyebileceksiniz:

git checkout -b develop origin/develop

Sonra da, sizin ambar dizininden Liferaft `grab` komutunu çalıştırabilirsiniz. Örneğin, #3000 çekme isteği ile ilişkili Liferaft uygulamasını yüklemek istiyorsanız, aşağıdaki komutu çalıştırmalısınız:

liferaft grab 3000

Bu `grab` komutu sizin Liferaft dizininizde yeni bir dal oluşturacak ve belirtilen çekme isteği için değişiklikleri çekecektir. Liferaft uygulaması yüklendikten sonra, [Homestead](/docs/homestead) sanal makineniz aracılığıyla dizini hizmete sokmanız (serve etmeniz) yeterlidir! Sorunu debug ettikten sonra, doğru düzeltme ile [laravel/framework](https://github.com/laravel/framework) ambarına bir çekme isteği göndermeyi unutmayın!

Fazladan bir saatiniz var ve rastgele bir sorunu çözmek istiyorsunuz? Bir çekme isteği ID'si olmaksızın, `grab` komutunu tek başına çalıştırın:

liferaft grab

<a name="which-branch"></a>
## Hangi Dal?

> **Not:** Bu kesim esas olarak [laravel/framework](https://github.com/laravel/framework) ambarına çekme istekleri gönderilmesi için geçerlidir, Liferaft uygulamaları için değildir.

**Tüm** bug düzeltmeleri en son kararlı dala gönderilmelidir. Bug düzeltmeleri, düzeltilen özellikler sadece çıkacak sürümde mevcut olmadığı sürece **asla** `master` dalına gönderilmemelidir.

Güncel Laravel sürümü ile **geriye dönük tam uyumlu** **Minor** özellikler en son kararlı dala gönderilebilir.
Expand Down
10 changes: 9 additions & 1 deletion homestead.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

Laravel sizin lokal geliştirme ortamınız da dahil olmak üzere bütün PHP geliştirme deneyimini zevkli bir hale getirmeye çalışmaktadır. [Vagrant](http://vagrantup.com) Sanal Makinelerin yönetilmesi ve hazırlanması için basit, zekice bir yol sağlamaktadır.

Laravel Homestead lokal makinenizde PHP, bir web sunucusu ve diğer herhangi bir sunucu yazılımı yüklemenizi gerektirmeksizin size harika bir geliştirme ortamı sağlayan resmi, ambalajlanmış bir Vagrant "box"tur. İşletim sisteminizi karışmasını daha artık dert etmeyin! Vagrant box'ları tamamen kontrol altındadır. Eğer bir şeyler yanlış giderse, onu yok edebilir ve dakikalar içerisinde yeniden oluşturabilirsiniz!
Laravel Homestead lokal makinenizde PHP, HHVM, bir web sunucusu ve diğer herhangi bir sunucu yazılımı yüklemenizi gerektirmeksizin size harika bir geliştirme ortamı sağlayan resmi, ambalajlanmış bir Vagrant "box"tur. İşletim sisteminizi karışmasını daha artık dert etmeyin! Vagrant box'ları tamamen kontrol altındadır. Eğer bir şeyler yanlış giderse, onu yok edebilir ve dakikalar içerisinde yeniden oluşturabilirsiniz!

Homestead herhangi bir Windows, Mac ve Linux'te çalışır ve Nginx web sunucusu, PHP 5.6, MySQL, Postgres, Redis, Memcached ve muhteşem Laravel uygulamaları geliştirmek için gerekli diğer tüm güzellikleri içerir.

Expand All @@ -24,6 +24,7 @@ Homestead hali hazırda Vagrant 1.6 kullanılarak inşa ve test edilmiştir.

- Ubuntu 14.04
- PHP 5.6
- HHVM
- Nginx
- MySQL
- Postgres
Expand Down Expand Up @@ -73,6 +74,13 @@ Bir SSH anahtarı oluşturduktan sonra, `Homestead.yaml` dosyanızın `authorize

Nginx size tanıdık değil mi? Problem değil. `sites` özelliği, Homestead ortamınızdaki bir klasöre kolaylıkla bir "domain" eşleştirmenize imkan verir. Örnek bir site yapılandırması `Homestead.yaml` dosyasına dahil edilmiştir. Aynı şekilde, Homestead ortamınıza gerektiği kadar çok sayıda site ekleyebilirsiniz. Homestead, üzerinde çalışmakta olduğunuz her Laravel projesi için kullanışlı, sanallaştırılmış bir ortam olarak hizmet edebilir!

`hhvm` opsiyonunu `true` ayarlamak suretiyle herhangi bir Homestead sitesini [HHVM](http://hhvm.com) kullanır hale getirebilirsiniz:

sites:
- map: homestead.app
to: /home/vagrant/Code/Laravel/public
hhvm: true

### Bash Alias'ları

Homestead kutunuza Bash aliasları eklemek için, basitçe Homestead dizininin köküne `aliases` dosyası ekleyin.
Expand Down
2 changes: 1 addition & 1 deletion pagination.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ Laravelle geldiği haliyle ön tanımlı sayfalama sunumcusu Bootstrap uyumludur

public function getDisabledTextWrapper($text)
{
return '<li class="unavailable">'.$text.'</li>';
return '<li class="unavailable"><a href="">'.$text.'</a></li>';
}

public function getPageLinkWrapper($url, $page, $rel = null)
Expand Down