Laravel Proje Ortamını Kurma ve Çalıştırma

Laravel Proje Ortamını Kurma ve Çalıştırma

Hepinize merhaba dostlarım :). Bu yazımda sizlere laravel proje ortamının nasıl kurulacağından ve çalıştırılacağından, laravel dosya yapısından bahsedeceğim. Daha önceki yazımda laravelin ne olduğundan ve kullanım alanlarından bahsetmiştim. Okumayan dostlarım varsa buradan ulaşabilir. Heyecanınızın giderek arttığını ve Laravel'e başlayacak olan dostlarımın da "Bir an önce öğrenelim de proje geliştirmeye başlayalım :)" düşüncesini seziyorum. O halde ben de sözü daha fazla uzatmadan konuya giriş yapayım :).

Laravel Proje Ortamı Kurulumu

Eveeeeet :). Artık ilk larvel projemizin kurulum aşamasına geçmiş bulunmaktayız. Kurulumu ve çalıştırmayı hatta laravel derslerini 7. versiyon üzerinden anlatmak istiyorum dostlarım. Güncelleme ile gelen 8. versiyona daha hakim olmadığım için 7. versiyon üzerinden anlatmak istedim. Sözü daha fazla uzatmadan gelelim uygulamamızın kurulumuna :). Öncelikle terminalimizi açıp (Windows üzerinden CMD, Linux veya macOS üzerinde Uçbirim) aşağıdaki komutu yazalım (İnternet bağlantınızın olması lazım :). Çünkü indirme yapacağız)

composer create-project --prefer-dist laravel/laravel:^7.0 projenizin_adi

şeklinde kodumuzu yazdık. En sondaki "projenizin_adi" yazan yere projeniizin ismini yazabilirsiniz. Biz "laravel7_giris" yazalım ve enter tuşuna basalım :). Kurulum internet hızınıza bağlı olup yükleme işlemine başlayacaktır. Kurulum esnasında aşağıdaki gibi sonuçlar çıkacaktır :)

  - Downloading facade/ignition (2.6.0)
  - Installing doctrine/inflector (2.0.3): Extracting archive
  - Installing doctrine/lexer (1.2.1): Extracting archive
  - Installing dragonmantank/cron-expression (v2.3.1): Extracting archive
  - Installing symfony/polyfill-php80 (v1.22.1): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.22.1): Extracting archive
  - Installing symfony/var-dumper (v5.2.5): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.22.1): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.22.1): Extracting archive
  - Installing symfony/polyfill-ctype (v1.22.1): Extracting archive
  - Installing symfony/string (v5.2.4): Extracting archive
.
.
.
.

şeklinde paket yükleme işlemleri gerçekleşecektir. Bu kısım yukarıda da dediğim gibi internet hızınıza bağlıdır. Kurulum kısa veya uzun sürebilir herhangi bir endişeniz olmasın :). Paketler yüklendikten sonra

Package manifest generated successfully.
73 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan key:generate --ansi
Application key set successfully.

şeklinde bir çıktı almışsanız artık kodlamaya başlayabilirsiniz demektir :). 

Laravel Projesini Çalıştırma

Evet dostlarım :). Artık laravel projemizi kurduğumuza göre şimdi yapmamız gereken tek şey laravel projesini çalıştırmak :). Şimdi aklınızda bir soru var

Hocam iyi güzel kurduk da bunu xampp üzerinden vs çalıştırmayacak mıyız ?

Güzel bir soru sordunuz dostlarım :). Xampp üzerinden sadece veri tabanı kısmında yararlanacağız :). Laravel uygulamasını çalıştırmak için xampp programına ihtiyacımız yok. Laravel kendi artisan komutlarıyla bu çalıştırma işlemini sağlıyor :).

Şimdi gelelim laravel uygylamasında kullanılan artisan komutlarına :). Proje geliştirirken birden fazla artisan komutlarını kullanacağız. Nedir bunlar diye merak ediyorsanız terminal kısmına gelip

php artisan

kodumuzu yazalım ve enter tuşuna basalım :). Karşımıza aşağıdaki gibi sonuçlar gelecektir

Available commands:
  clear-compiled       Remove the compiled class file
  down                 Put the application into maintenance mode
  env                  Display the current framework environment
  help                 Display help for a command
  inspire              Display an inspiring quote
  list                 List commands
  migrate              Run the database migrations
  optimize             Cache the framework bootstrap files
  serve                Serve the application on the PHP development server
  test                 Run the application tests
  tinker               Interact with your application
  up                   Bring the application out of maintenance mode
.
.
.
.

şeklinde uzun uzun artisan komutlarını göreceğiz. Hepsini kullanacağız diye bir zorunluluk yok dostlarım projenin gereksinimine göre kullanacaklarımızı bilmemiz bizim için yeterli olacaktır. Ama şimdilik projemizi çalıştırmak için kullanacağımız artisan komutlarından birisini bilmemiz şu an için yani laravel projesini çalıştırmamız için bize fayda sağlayacaktır. Bu komut ise "serve" komutudur :). Gelelim proje dizinimize ve

php artisan serve

şeklinde kodumuzu yazalım dostlarım. Enter tuşuna bastığımızda bizim ekranımıza aşağıdaki gibi sonuçlar gelecektir.

Laravel development server started: http://127.0.0.1:8000
[Thu Mar 25 08:03:17 2021] PHP 7.4.8 Development Server (http://127.0.0.1:8000) started

şeklinde bir çıktı bizi karşılayacaktır. Burada diyor ki bize "Kardeşim senin projelerini rahatlıkla geliştirmen için 127.0.0.1:8000 portunu ayarladım. Rahat rahat çalışabilirsin :)". Biz de hemen browser sayfamıza gidip bu adresi yazdığımızda karşımıza aşağıdaki gibi bir çıktı geliyor

şeklinde laravel uygulama sayfası çıkıyor :). Her şey tamamdır bu adıma kadar :). Şimdi ise gelelim laravel klasör yapısını incelemeye

Laravel Klasör Yapısı

  • APP Klasörü: Uygulamamızın ana klasörü olarak diyebiliriz dostlarım. İçerisinde yönlendirmeler, model dosyası, hata sayfaları, yetki kontrolü olmadan erişime kapatma (middleware), veri tabanı işlemleri için model oluşturma vs. hepsi buradadır. Yani uygulamamızın çekirdeği olarak denebilir.
  • Bootstrap Klasörü: Şimdi aklınıza modelleme için kullandığımız bootstrap kısmı gelebilir ama öyle düşünmeyin dostlarım modelleme kısmını içermiyor. Uygulamamız içerisinde kullanacağımız cache modülü, önbellek ile çalışma durumunda bu klasöre itiyaç duyarız.
  • Config Klasörü: İngilizce configurations sözcüğünden türetilmiş olan ve laravelin vazgeçilmez yapısı olan bu klasörümüz laravel uygulamamızın gerekli ayarlarını (saat,tarih,dil ayarı,mail ayarları,database ayarları vs.) içerisinde barındırır.
  • Database Klasörü: Database kasöründe ise bizim veri tabanı üzerinde oluşturacağımız tabloların ve tablo kolonlarının genel bilgisi, o tablo içerisine varsayılan olarak kayıt yükleme (seeding) işlemleri yer almaktadır
  • Public Klasörü: Bizim uygulama çalıştırma ve ürün geliştirme işlemlerinde özellikle modelleme dosyalarını sakladığımız klasördür. En önemli özelliklerinden birisi de içerisindeki index.php dosyası üzerinden bütün isteklerin geçmesi yani uygulamamızın işlevsellik kazanmasında o index.php dosyasının kullanılmasıdır :).
  • Resources Klasörü: İsminden kaynaklar diye bir çıkarım yapılsa da temel amacı bizim view dosyalarımızı barındırmaktır. Ziyaretçi Kısmı, Admin Kısmı sayfaları burada barındırılır :).
  • Routes Klasörü: Uygulamamız içerisinde rota dosyalarımızı saklamamızda ve yeni bir istek oluşturmamızda (get - post istekleri) bize yardım sağlar :)
  • Storage Klasörü: Dosya işlemleri yapacağımız zamanlarda, cache kullanımlarında ve uygulama ile ilgili log kaydı tutacağımız zamanlarda bize yardımcı olur :). Laravel'in büyük artılarından birisidir bunlar
  • Test Klasörü: PHPUnit framework yapısını kullanarak uygulama geliştirme aşamasında test işlemlerimizi yapmamızda bize olanak sağlar :)
  • Vendor Klasörü: Laravel projemizi kurarken bir sürü kütüphane indiğini görmüşsünüzdür. O kütüphaneler vendor klasörü altında tutulur. Aman ha sakın silmeyin derim :)
  • .env Dosyası: Bu dosya içerisinde de bizim uygulamamızın url si, database ayarları, mail gönderim ayarları yer almaktadır. Proje geliştirirken veya uygulamamızı deploy ederken üzerinde gerekli ayarlamalar yapacağız :).


Eveeet dostlarım :). Bu yazımda laravel proje ortamı kurulması ve çalıştırılması, laravel klasör yapılarından dilim döndüğünce bahsettim. Umarım faydalı olmuşumdur. Eksik veya hatalı bir anlatım yapmış isem benimle iletişime geçerek bu hataların çözülmesinde katkıda bulunabilirsiniz :). Başlarrda biraz karmaşık gelebilir dostlarım anlıyorum. Bu aşamda sizlerden istediğim her yazımın altında da dediğim gibi "İstikrarlı ve Azimli Olmak, Bolca Pratik Yapmaktır :)". Bu dediklerimi hayat felsefeniz yaptığınız sürece başarı sizin için kaçınılmaz olacaktır :).

Hayallerinizi gerçekleştirmeniz ve güzel yerlere gelmeniz dileklerimle... İyi çalışmalar dilerim :)

Muhammed Fatih BAĞCIVAN
Yazar Hakkında

Kendi Halinde Bir Backend Developer

Önceki YazıHangi Yazılım Dili Hangi Alanda Kullanılır ?
Sonraki YazıJavascript Map Fonksiyonu Kullanımı
Yorumlar (0)
Bu Yazıya Ait Hiçbir Yorum Bulunamadı (veya admin onaylamadı). İlk Yorum Yapan Sen Ol
Yorum Yapabilirsiniz