Blade tema moturunu kullanmak istemiyorsanız ekstra birşey yapmanıza gerek yok.
Sadece view klasöründe bulunan .blade.php uzantılarını .php yapın.
Kütüphaneleri güncellemek çok basit. Composer ile bütün güncelleme işlemleri 1 tıkta yapılabiliyor.
Composer nedir ne değildir bilmiyorsan. Şu içeriklere göz at;
- Video: https://www.youtube.com/watch?v=wmqB20fnfho
- Yazılı: http://www.erbilen.net/etiket/composer-nedir/
Php sürümünü güncellemek istediğin takdirse ise, yine ekstra birşey yapmana gerek yok.
Güncelleme sunucu tarafında gerçekleşir. Sonrasında gelmiş yeniliklere bakarak yazılımında kullanabilirsin.
[Düzenleme]
Geliştirici kütüphaneyi geliştirmeyi bıraksa bile kullanabilirsin. Fakat burada popüler kütüphaneler seçmeye dikkat et. Böylece sorun yaşamazsın.
Daha öğrenim aşamasındasın, yapılacak nice uygulamalar var.
- Wordpress'de eklenti geliştirebilirsin.
- Tema satış sitelerinde tema yapıp satabilirsin.
- Xenforo gibi forum scriptlerine eklenti ve tema geliştirebilirsin.
- Kişisel portföy sayfası yapabilirsin.
- Profesyonel seviyeye geldiğinde öğrendiklerinden eğitim verebilirsin.
Aslında bunun gibi onlarca seçenek var. Zaten yapılmış diye bırakacak mısın?
Belki daha iyisini sen yapacaksın. Herşeyi geçelim türkiyede bir müşteri bulduğunda adam türkçe destek ister. Şuana kadar yapılmışların çoğu ingilizce.
Bu kütüphanelerin bazıları laravel tarafından kullanılıyor ve çok popüler kütüphanelerdir. Performans anlamında gayet iyiler. Güvenlik bakımından da sizi endişelendirecek bir şey olduğunu sanmıyorum. Bütün kodlar açık kaynaklı.
Tayfun hocanın hazırladığı boilerplate başlangıç için ufak çaplı bir örnek. Daha geniş işlerde bu boilerplate'e daha fazla kütüphane eklenebilir veya laravel gibi frameworkler kullanılabilir. Fakat doğru geliştirildiği sürece mühasabe gibi projelerde kullanılması yanlış değildir.
Sanırım aynı sayfaya post etmenin sakıncılarını merak ediyorsun.
Öncelikle şöyle başlayayım. Formdan gelen verileri aynı sayfaya göndermen ekstra güvenlik sorunu yaratmaz. Genel olarak formlarda kullanman gereken önlemleri alman yeterlidir. Peki bunlar nedir;
- CsrfToken => Sitemize girmeden bize sahte veriler göndermeye çalışanları durdurur.
- Zararlı kodlardan arındırmak. (Örnek 0.1)
- Form butonuna basılıp basılmadığını kontrol etmek (Örnek 0.2)
- Başındaki ve sonundaki boşlukları silmek (Örnek 0.3)
[Önrek 0.1]
<?php
$csrfToken = md5(uniqid());
$_SESSION['csrfToken'] = $csrfToken;
?>
<form action="" method="post">
<input name="text1" type="text">
<input name="text2" type="text">
<input name="csrfToken" value="<?= $csrfToken ?>" type="text" hidden>
<button>gönder</button>
</form>
if ($_SESSION['csrfToken'] == $csrfToken) {
//
}
[örnek 0.2]
$_POST = array_map(function($post){
return htmlspecialchars($post);
},$_POST);
[Örnek 0.3]
<form action="" method="post">
<input name="text1" type="text">
<input name="text2" type="text">
<button name="button">gönder</button>
</form>
if ($_POST['button']) {
//
}
[Örnek 0.4]
$name = trim($_POST['name']);
Geçen gün soruları geziyordum ve bir soru çok hoşuma gitti cevabı da vardı. Dedim bunu kaydedeyim zamanı geldiğinde gelip bakarım. Birde ne göreyim soruları kaydetme özelliği yok.
Siteye soruları kaydetme özelliğinin gelmesi çok rahatlık sağlar.
@burra, gelen form değeri kontrol edilir. Yani demek istediğim ekstra birşey eklemeye gerek yok.
Gelen csrf saldırılarına karşı da csrfToken kullanılır.
@burra, işlem no ya gerek yok. Zaten ajax post olarak gönderiyor verileri. Bu yüzden sadece post olup olmadığını kontrol etmesi yeterli.
Breadcrumb yapmak için ekstra bilgiye gerek yok. Bunun bir mantığı da yok. Sadece link veriyoruz o kadar.
Bootstrap breadcrumb;
Tıkla
Aynı sayfa için ajax kullanabilirsin. Ajax ile aynı sayfaya yönlendireceksin ve php kodlarını aynı sayfa içerisine yazacaksın.
if ($_POST):
// ajax ile form dan veri gelirse işleme devam et
// artık bu bölümde işlemlerin yer alacak
endif;
Ajax kısmında form ile aynı sayfaya yönlendir sayfanı, daha sonra üsteki kod yapısını ekle.
İlla farklı sayfa olmasına gerek yok. Mantık yine aynı.