Php Artık Ölüyor Mu?
-
nurulmac11 bunu yazdıneverland bunu yazdınurulmac11 bunu yazdıyolbulucu bunu yazdınurulmac11 bunu yazdı
keske olse.
phpnin oncusu sayilan laravel bile djangoyla kiyasladiginda bok gibi kaliyor. belki son surumlerinde daha iyidir bilmiyorum ben en son 5.1i kullandim ama kanser aga kanser. bastan ayaga, ayaktan basa kanser php dili
nesi bok gibi kalıyor açıklar mısın ? merak ettim, kanser eden yeri neresi ?
django ve laraveli kıyaslayınca, laravel işin bir çok amelelik kısmını senden alıp sana hazır veriyor, ve istediğin yerde de overload etmene izin veriyor. queue sundan api authenticationuna kadar her şeyin hazır ve tek bir ekipten çıkmış halde geliyor.
djangoyla 2 ay kadar uğraşıp çok fazla amelelik gerektirdiği için laravele geçtim, yanlış yaptıysam geri döneyim
en cok gozume batan ornegi vereyim, beni cildirtan nokta daha dogrusu.
migration'lar.
djangoda 1 kere model yazarsin. baska hic bir sey yazmana gerek yok. sonra yapman gereken tek sey;
./manage.py makemigrations & ./manage.py migrate
tada ! database'in tablolarin hazir. modelinde bir sey mi guncelledin;./manage.py makemigrations & ./manage.py migrate
ve bitti.
laravelde ise,
model olusturma gibi bir kafa tam anlamiyla yok zaten. bi model dosyasi olusuyor ama iici bos amk xd
sonra migrationu elle kendin yaziyorsun kirk takla atarak. tablo adini falan gidip bulman gerekiyor aq.
sonra modele bir sey mi eklemek istedin, gidip tekrar migration yaziyorsun. ulan o migrations folderi bin dosya oluyor mk.
bi digeri de folder structure. tum modelleri ana dizine yakin bi yere atiyor. ne alaka amk ne alaka ? ne isi var orda modellerin amk ? djangodaki gibi bir app mantigi olsa, her appin kendi controlleri, modeli, viewi orda dursa? cok daha kolay handle edilebilir oluyor.
Modelin içi bos degil.
En basitinden gelen attributeleri belirli bir sekle sokup kaydedebileceginiz metotlar yazabilirsiniz. Ornegin, gelen eposta bilgisinin tumunu kucuk karakterlere cevirip yazdirmak vs.
Ayrica fillable parametresini modele ekleyerek, mass assignment yapabilirsiniz. Yani insertion kisminda tek tek deger atamadan gelen requesti direk kaydedebilirsiniz, fillable degerleri disindakileri gormezden gelir.
Ayrica modelin icine relationlari tanimlarsiniz ki relational tablolar arasinda kolayca gecis yapabilirsiniz, ek sorgu yazmadan.
Ayrica model icinde sabitler ve metotlar koyarak, gelen degerleri kontrol edebilirsiniz. Bu da size basit kullanim kolayliklari saglar.
Tablo adiyla bir isiniz yok. Migration olustururken model adi verirsiniz, sonuna cogul ekini ekleyip tabloyu olusturur. Tablo adini hic kullanmadan ve bilmeden model uzerinden islemlerinizi yaparsiniz.
Ek not: python ozellikle isin ai, dl, ml kisminda onde ve oralarda daha yogunluklu kullaniliyor. bence gereksiz bir sidik yaristirma durumu olmus.
evet model dosyana bir seyler yazabilecegimi biliyorum ama bunlarin cogunu django'da ekstra efor sarfetmeden modeli olusturur olusturmaz django orm uzerinden yapabiliyorum.
model adina ihtiyaci o tabloya field eklemek icin migration yazacagimda duyuyorum cunku benden tablo adini istiyor. baska yolu var mi, varsa onu da bilmiyorum.
hacı sen php yi laraveli sevmiyosun bahane üretiyosun gibi geldi , karşılaştırdığın iki şeyin eforu arasında pek bir fark yok.
django da girip modele satır ekleyip, make migrations sonra migrate diyosun, laravelde önce make migration diyip yeni migration oluşturup sonra içine ekleyeceğin fieldı yazıp tekrar migrate diyosun.
php yi ya da laraveli sevmiyor, bilmiyor olabilirsin, bilmediğin şey daha çok vaktini aldığından zor geliyor belki.
mesela bana django nun migrationlara yaklaşımı doğru gelmedi, ben tabloma yeni bir field ekliyorsam bu field eklendiğinde neler olacağını kontrol edebilmeliyim. belki varolan veriyi transform edicem, belki daha önce tablodaki null olacak alanlara bişey yapıcam. django nun tabiki bunla ilgili bir çözümü vardır ama açıp bakmadan django sik gibi demem :p
-
Videoya göre 10 yıldır kan kaybediyor
-
DE5TROY3R bunu yazdı
Videoya göre 10 yıldır kan kaybediyor
listeye asp'nin girmemiş olması ilginç visual basic var belki ondan yazmadılar asp ile visual basic çok benziyor ondan olabilir.
-
-
Php'nin kesinlikle öleceğini düşünmüyorum. Hali hazırda çok geniş bir ekosistemi ve pazarı var. Wordpress başlı başına yeter zaten.
@arkinfes hocam videoda gösterilenler programlama dilleri. Asp bir programlama dili değil. Asp sunucu tarafında çalışan bir script-engine. Yani Asp bir tür yorumlayıcı program. Sen Asp nin anlayabileceği dillerde kodlar yazıyorsun, Asp de senin için bu kodları yorumluyor ve html üretiyor. Asp nin anlayabileceği diller nelerdir dersen; VBScript, JScript, PerlScript vs. https://en.wikipedia.org/wiki/Active_Server_Pages burayıda inceleyebilirsin.
Asp ve php nin geçmişte sıklıkla karşılaştırılma sebebi bunların çalışma şeklinin benzer olması. Php yorumlayıcısı, php programlama dili ile yazılmış kodları yorumluyor. Asp ise VBScript, JScript vb. dilleri yorumluyor. Yani her 2 teknolojide yorumlanarak html çıktısı üretiyor.
Ancak ASP.NET bambaşka bir teknoloji/framework. ASP.NET i iyi anlamak için önce .NET Framework un ne olduğunu bilmek gerekiyor. .NET Framework microsoftun geliştirdiği, uygulama geliştirme ve uygulama çalıştırma platformunun ismi. Biz uygulama geliştirme ve uygulama çalıştırma platformu yerine framework kelimesini de kullanıyoruz.
.NET Framework un arakodlu bir çalışma yapısı var. Bu şu anlama geliyor; siz .NET Framework ile bir bilgisayar programı geliştirmek isteğinizde önce .NET Framework üzerinde çalışabilen bir programlama dili seçiyorsunuz. Seçtiğiniz dil ile programınızı yazıyorsunuz. Ardından derleme işlemi gerçekleşiyor. Derleme işleminin sonucunda oluşan çıktıya arakod diyoruz. MSIL(Microsoft Intermediate Language) veya CIL(Common Intermediate Language) gibi isimlendirmeler de yapılıyor. İşte .NET Framework üretilen bu arakodu alıyor ve çalışma zamanında bilgisayarınızın işlemcisinin anlayabileceği kodlara dönüştürüyor. Çünkü yaptığınız programın nihayetinde işlemci ile konuşması gerekiyor. Ayrıca .NET Framework size class libraryler de (kütüphaneler) sunuyor. Bunlara da FCL (Framework Class Library) diyebiliriz. .NET Framework ile geliştirdiğiniz bir uygulamanın başka bir bilgisayarda çalışması için o bilgisayarda .NET Framework yüklü olması gerekiyor. Çünkü sizin .NET Framework ile oluşturduğunuz biz .exe veya .dll dosyasının içinde işlemcinin doğrudan anlayabileceği kodlar yok. İçlerinde arakod var. Bu arakodu .Net Framework alacak ve işlemcinin anlayabileceği şekle çevirecek.
Bu nedenle biz .Net Framework için uygulama geliştirme ve uygulama çalıştırma platformu veya framework diyoruz. Framework kelimesi .NET dünyasında bizim için aşağı seviyeli bir anlam ifade ediyor.
Ayrıca .NET Framework üzerinde programlama dili olarak çoğunlukla C# ı tercih ediyoruz. Neden? Çünkü C# doğrudan .NET Framework düşünülerek geliştirilmiş ve çok iyi dökümante edilmiş bir programlama dili. .NET Dünyasının amiral gemisi olan dil.
İşte ASP.NET, .NET Framework ün üzerine oturtulmuş, web uygulamaları geliştirmek için oluşturulan bir framework. Nasılki .NET Frameworkte yazdığımız programlar derleniyorsa, ASP.NET ile yazılan uygulamalar da derleniyor. Sonra bunu sunucunuza yüklüyorsunuz. Ve sunucuda .NET Framework + ASP.NET varsa uygulama çalışıyor. Bu kadar.
İlk sayfalarda ASP.NET te de framework var mı diye sormuşsun hocam. ASP.NET in kendisi zaten framework. Ancak https://aspnetboilerplate.com/ https://abp.io/ gibi projeleri kullanabilirsin ama ASP.NET tarafında bu projelere framework demek doğru olmaz bence. Kütüphane demek daha doğru olur.
ASP.NET hakkında 3-5 bir şey yazayım dedim...
-
nurulmac11 bunu yazdıneverland bunu yazdınurulmac11 bunu yazdıyolbulucu bunu yazdı
evet model dosyana bir seyler yazabilecegimi biliyorum ama bunlarin cogunu django'da ekstra efor sarfetmeden modeli olusturur olusturmaz django orm uzerinden yapabiliyorum.
model adina ihtiyaci o tabloya field eklemek icin migration yazacagimda duyuyorum cunku benden tablo adini istiyor. baska yolu var mi, varsa onu da bilmiyorum.
çeşitli framework'ler vardır. Laravel = php değildir.
laravel de içerisinde bir sürü paket olan bir çeşit framework.
siz modeli öyle kullanmak istemiyorsanız, laravel açık kaynaklıdır. istediğiniz şekle getirebilirsiniz.
Slim micro framework ile daha çok kod yazarak daha performanslı şeyler üretebilirsiniz. Ya da direk php yazarsınız. Daha bir sürü fw var, çeşit çeşit senin istediğin özelliği barındıran illaki vardır.
Daha az efor harcayın diye bir dilden üretilen frameworkler hepsi, hatta birebir django (pek bilmiyorum ama) çalışma mantığında olan bir framework da yazabilirsiniz kendiniz phpde.
framework istediğiniz gibi çalışmıyor diye php'yi gömmeyi anlamadım :D
composer sayesinde paketlerle çalışma olayı çok gelişmiş halde php'nin. Çok büyük kolaylıkları var gerçekten.
Ama biri yeni başlıyorsa bir dil öğrenmeye ben de kesinlikle python öğrenmesini tavsiye ederim. İnanılmaz trend. Arkadaş yukarda paylaşmış grafiği.
Çok çok büyük iş kapıları açar size.
neverland tarafından 24/May/20 11:28 tarihinde düzenlenmiştir -
Sanmıyorum, çünkü PHP gelişim gösteriyor, evriliyor, kim bilir gelecekte ne kadar gelişecek. Hem dünyada kullananıda azımsanmayacak kadar çok.
-
Hannibal_King bunu yazdı
Php'nin kesinlikle öleceğini düşün'müyorum. Hali hazırda çok geniş bir, Ekosistemi ve Pazarı var. Wordpress, başlı başına yeter zaten.
@arkinfes hocam video'da gösterilenler Programlama Dilleri. Asp, bir Programlama Dili değil. Asp, sunucu tarafında çalışan bir, SCRİPT-Engine. Yani Asp bir tür Yorumlayıcı Program. Sen Asp 'nin anlayabileceği dillerde kod'lar yazıyorsun, Asp de senin için bu kodları yorumluyor, ve html üretiyor. Asp nin anlayabileceği diller nelerdir dersen; VB'Script, J'Script, Perl'Script vs. https://en.wikipedia.org/wiki/Active_Server_Pages burayıda inceleyebilirsin.
Asp ve Php nin geçmişte sıklıkla karşılaştırılma sebebi; bunların Çalışma Şekli'nin, benzer olması.
Php Yorumlayıcısı, php programlama dili ile, yazılmış Kod'ları yorumluyor. Asp ise VBScript, JScript vb. dilleri yorumluyor. Yani her 2 teknoloji'de yorumlanarak, "html çıktısı" üretiyor.
Ancak ASP.NET, bambaşka bir Teknoloji/Framework. ASP.NET'i iyi anlamak için önce, ".NET Framework'ün" ne olduğunu bilmek gerekiyor. ".NET Framework" microsoft'un geliştirdiği, uygulama Geliştirme ve uygulama Çalıştırma platformu'nun ismi. Biz uygulama geliştirme ve uygulama çalıştırma platformu yerine, "FrameWork" kelimesini de kullanıyoruz.
".NET Framework'un" arakod'lu bir Çalışma Yapısı var. bu Şu anlama geliyor; siz, .NET Framework ile, bir Bilgisayar Programı geliştirmek isteğinizde ,önce .NET Framework üzerinde çalışabilen bir Programlama Dili seçiyorsunuz. Seçtiğiniz dil ile, Programı'nızı yazıyorsunuz. ardından Derleme işlemi gerçekleşiyor. Derleme İşlemi'nin sonucunda oluşan çıktı'ya, AraKod diyoruz. MSIL(M'icroS'oft I'ntermediate L'anguage) veya CIL(C'ommon I'ntermediate L'anguage) gibi isimlendirmeler de yapılıyor. İşte .NET Framework üretilen bu AraKod'u alıyor, ve Çalışma Zamanı'nda bilgisayarınızın işlemci'sinin anlayabileceği Kod'lara dönüştürüyor. Çünkü yaptığınız programın nihayetinde, İşlemci ile, Konuşması gerekiyor. Ayrıca ".NET Framework" size Class Library'ler de (kütüphaneler de) sunuyor. Bunlara FCL (F'ramework C'lass L'ibrary) de diyebiliriz. ".NET Framework" ile geliştirdiğiniz bir uygulamanın, başka bir bilgisayarda çalışması için, o bilgisayarda ".NET Framework" yüklü olması gerekiyor. Çünkü sizin ".NET Framework" ile oluşturduğunuz biz(?bir) .exe veya .dll dosyasının içinde, işlemcinin "doğrudan" anlayabileceği kodlar yok. İçlerinde AraKod var. Bu arakod'u ".Net Framework" alacak, ve işlemcinin anlayabileceği Şekle çevirecek.
Bu nedenle biz, ".Net Framework" için; uygulama Geliştirme ve uygulama Çalıştırma platformu veya FrameWork diyoruz. Framework kelimesi, ".NET" dünyası'nda bizim için, aşağı Seviyeli bir anlam ifade ediyor.
Ayrıca ".NET Framework" üzerinde programlama dili olarak, çoğunlukla C# 'ı tercih ediyoruz. Neden? Çünkü C# ,doğrudan ".NET Framework" düşünülerek geliştirilmiş ve çok iyi döküman'te edilmiş bir Programlama Dili. .NET Dünyası'nın amiral gemisi olan dil, C# 'dır.
İşte ASP.NET, ".NET Framework'ün" üzerine oturtulmuş, Web Uygulama'ları geliştirmek için oluşturulan bir FrameWork. Nasıl ki, ".NET Framework'te" yazdığımız Program'lar derleni'yorsa, ASP.NET ile yazılan uygulamalar da derleni'yor. Sonra bunu Sunucu'nuza yüklüyorsunuz. Ve sunucu'da ".NET Framework" + ASP.NET varsa, uygulama çalışıyor. Bu kadar.
İlk sayfalarda ASP.NET'te de FrameWork var mı, diye sormuşsun hocam. ASP.NET'in kendisi, zaten FrameWork. Ancak https://aspnetboilerplate.com/ https://abp.io/ gibi projeleri kullanabilirsin ama, ASP.NET tarafında bu proje'lere framework demek, doğru ol'maz bence. Kütüphâne demek daha doğru olur.
ASP.NET hakkında 3-5 bir şey yazayım dedim...
biraz düzenledim, ama muğlak(belirsiz) noktalar var ,gibi. (meselâ, Library ile FrameWork, arasındaki fark çok belirgin değil, gibi. bir de AraKod yada FrameWork, istemcinin anlayacağı bir dilde mi, binary mi yada absürd karakterler içeriyor mu? birşey daha vardı ama unutum. Bir de Derleme sonrası oluşan Çıktı ürün, çok da olunabilir bir şey değil benim bildiğim. Ama Yorumlama da böyle değil. Derlenir dediğin yerde oluşan dosya, salt html dosyası gibi anlatmışsın, sanırım. (biraz karışık oldu, ama ben böyle anladım.))
RitmFarbRacourci tarafından 24/May/20 19:59 tarihinde düzenlenmiştir -
@RitmFarbRacourci
Söyleyeceklerim .NET dünyası için geçerli yoksa framework ve library kelimelerinin anlamları platformdan platforma değişebilir.
Librarylerde bir giriş noktası(başlangıç noktası, entry point) yoktur, düşünki C# ile yazılmış 3 tane sınıf içlerinde de 5 er tane method var. Al sana library. Kütüphane işte. istediğin methodu çağır kulllan.
Framework ise akışı senden alır aşağı seviyeli işlemleri(makinaya yakın işlemleri) kendisi halleder. Gerektiğinde tekrar sana devreder. Yine senden alır. Senin için bir akış başlatır ve bu akışa dahil olabileceğin bir giriş noktasını sana verir. https://stackoverflow.com/questions/1324919/what-language-is-net-framework-written-in buraya bakarsanda .NET Framework ün C, C++ ve assembly kullanılarak yazıldığını söylemiş. Bellek yönetimi ve diğer pek çok aşağı seviyeli işlemi işte bu diller ile yapıyorlar. Böylece bizim gibi uygulama programcılığı yapan C# bilen kişilerde kolayca uygulama geliştiriyor.
Mesela Windows ortamında .NET Framework ile masaüstü uygulaması yaparken Application.Run(); şeklinde bir kod satırı vardır. Bu kod satırı aslında arka planda çok fazla iş yapıyor. Eğer sen C programlama dili ile Windows un sana sunduğu apileri kullanarak bir masaüstü programı geliştirmek istersen sadece Application.Run() yerine belkide fazladan 700-800 satır kod yazman gerekebilir. Veya sen Windows Form ile uygulama geliştirirken xxxx isimli butona basıldığında ne olacağını söylüyorsun. Kodlarını yazıyorsun. İşte framework çalışma zamanında sürekli işletim sistemi ile konuşuyor. Fareni takip ediyor. Ne zaman xxxx isimli butona tıklanırsa senin yazdığın o kodları çalıştırıyor. Framework ile programın akışı ve yaşamı süresince hep berabersiniz.
Php de framework dediğimiz yapılar php ile yazılmışken (phalcon hariç phalcon C extension olarak geçiyor phalcon.io adresinden bakabilirsin);
C# ta framework dediğimiz yapılar C, C++ ile yazılmış. Ancak yinede akışı senden alma sana geri devretme mekanizması benzer çalışıyor. Mesela codeigniter da gelen http istekleri index.php isimli bir dosya tarafından ele alınıp sonrasında ilgili akış senin controller klasöründeki php uzantılı dosyalara bırakılıyor. Özetle akışı ele alıp sana geri verme durumu var frameworkte.
Arakodun nasıl bir şey olduğunu sormuşsun. https://download.microsoft.com/download/7/3/3/733ad403-90b2-4064-a81e-01035a7fe13c/ms%20partition%20iii.pdf buradan ve https://en.wikipedia.org/wiki/List_of_CIL_instructions buradan inceleyebilirsin.
Son cümleni anlayamadım.