Ben programlamanın öğrenilmesi değil algoritma ve mantığın öğrenilmesinden yanayımdır.
Framework ler ile çalışmak insanları tembelleştirir ve mantık yoksunluğunda bırakır.
Amerikayı yeniden keşfetmek değil amerikanın nasıl keşfedildiğini öğrenmek ve gerekiyorsa aynı şekilde veya farklı nasıl keşfedilebilir diye kendimiz bunu denemeliyiz.
ORM kullanmak varken sql mi yazsın dediğiniz kişinin elinden ORM algısını alırsanız sudan çıkmış balığa döner normal sql yazarken inner join kullanamaz yazamaz.
Hazır yapılar insanları düşünmekten alıkoyar.
Sql injection, XSS vb. tüm saldırıların sadece saldırı türü olduğunu bilip POST tan önce bu fonksiyonlar ile temizlemeliyim demek güzel bir yazılımcı yapmaz sizi.
Sql injection, XSS, Cross Script vb. yapıları detaylı şekilde öğrenmek ezbere bir fonksiyon çağırmaktan bence daha önemlidir.
Pure PHP ile beraber Pure SQL yazarak çalışmak sistemsel dağınıklık yaratabilir mi ? Evet !
Pure PHP ve Pure SQL'i tam anlamıyla öğrenmeden Framework ile ekip çalışmasına girilebilir mi ? Evet !
Eğer ki sadece ticari açıdan düşünecekseniz size hak verebilirim.
Ama ben çok büyük projelerin hem ios / android hem backend php hemde veritabanı bölümlerinde tek başıma çalıştım.
Hiç bir framework yapısı yoktur ki size atıyorum veritabanına kayıt fonksyionu sunsun ve siz bununla hem ios hem android hem php/mysql üçlüsünde kaydetme imkanı sunsun.
Bu arkadaş 2 gün sonra android oyun yazmak veya JAVA / C# vb. diller ile masaüstü programcılık yapmak isterse Wordpress / Codeigniter / Zend hiçbiri işine yaramayacak.
Sadece framework'un vermiş olduğu tembellik ile yeni framework arayışına geçicek.
Pure PHP ile ömrünüzün sonuna kadar veritabanına kayıt için Pure SQL yazmıyorsunuz. 1 tane fonksiyon oluşturuyorsunuz kendi pratik algoritmanıza göre ve zamanla bunu geliştiriyorsunuz.
R10 da PHP yazılımcısıyım diyen kişilerin çoğuna ben şuan takvim yazın desem hiçbiri yazamaz.
Çünkü çok basit 2 for döngüsünün içinde haftanın doğru gününde ayın 1i demek algoritmaya bakar programlama dili veya framework'e değil.
Özetle : Arkadaş algoritma öğrensin ve gerekiyorsa amerikayı yeniden keşfetsin. Ömrünün sonuna kadar aynı dilde iş yapmayacaksa şayet kullandığı dilin Pure halini sonuna kadar öğrenip kendi fonksyionlarını, sınıflarını, MVC yapısını inşa etsin. Ben bugün kendi kodlarım arasında Zend'in içinde görüp "bu yapı daha mantıklıymış" diyip bir kısmını alıp yıllardır kemik fonksiyonum olan fonksiyonlarımı sınıflarımı geliştirmişliğimde var.
Hocam algoritma öğrenmek tabii ki fw öğrenmekten daha önemlidir. Konuya yazdığım ilk mesajda öncelikle php ve oop nin öğrenilmesi gerektiğini belirttim zaten. Ama öğrendikten sonra fw kullanmak zaman kazandırır. Kullanmamak daha iyi bir seçenek değildir. Size katıldığım nokta algoritma öğrenilmesidir. Ama öğrendikten sonra fw kullanmak mantıklıdır. Tabii ki ticari olarak yaklaşıyorum olaya, herkes para kazanmak için çabalıyor sonuçta.
Hem ios, hem android hem de web uygulaması olan bir projenin tamanına hitap edecek bir framework yoktur elbet. Ama bunun da çözümü api'dir. Ben de böyle durumlarda api geliştiriyorum. Artık 100 farklı platform da olsa sadece frontendi yazıp api ye istek göndermek kalıyor geriye. Api yi ruby ile yazmışsınız, php ile yazmışsınız yada nodejs ile yazmışsınız farketmez, algoritma geliştirmeyi bilen geliştirici altından kalkar. Ama nodejs te yeniden bir express yazmaya, rubyde yeniden bir ruby on rails yazmaya yada php de lumen yazmaya gerek yoktur. Apimizi fw ile yazmak mantıksız mıdır sizce? Fw kullanmak da algortimayı köreltmez, kullanıldığı dilin syntax ını kolaylaştırır, fonksiyonları daha kolay ve kısa isimlerle çağırılmasını sağlar.
Düz php de
<?php
foreach($users as $user){
echo "$user->name";
}
?>
yazmak yerine laravelde
@foreach($users as $user)
{{$user->name}}
@endforeach
yazmak sadece okunabilirliği arttırır.
Daha az syntax hatası yapmamızı sağlar,
ama foreach i bilmeyen adam için ikisi de aynı anlama gelir.
bcrypt('password') diyerek laravelde şifremizi hashleriz. Bunu gidip de bir sabit oluşturup, sonra şifremize sabiti ekleyip daha sonra bunu pure php ile hashlemek 3 adım gerektirir. Neden?
Çoğu yerde hız da kazandırır. Ama dediğiniz gibi bcrypt nedir bilmeyince sadece hashledim diyebiliriz. Ona yapacak birşey yok, piyasanın %60 ı ne yaptığını tam bilmeden yapıyordur eminim. Bunu en çok bu forumda görüyorum. JS soruları php kategorisinde soruluyor, PHP soruları js kategorisinde soruluyor, çünkü adam hangisi ne iş yapıyor bilmiyor ki, youtube da izlediği birkaç video ile php geliştirici oluyor.
Haklı olduğunuz yanlar daha fazla ikinci mesajınızda. Altyapıyı bilmeden fw kullanmak sadece o fw yi öğretir. Ama bilip de kullanmamak sadece ve sadece zaman=para kaybettirir diye düşünüyorum.