Categories
Laravel PHP

Laravel 4 Tavsiye ve İpucu

Merhaba Arkadaşlar ,

Bu yazımda genel olarak Laravel kullanmanın ipuçları ve geliştirme sürecinde yardımcı olabilecek tavsiyelerden bahsedeceğim. Muhtemelen bu yazı kısa başlayıp uzayacak :)) Bende olabildiğince yeni öğrendiklerimi paylaşmaya çalışacağım..

Laravel IDE AutoComplete-Helper

  • Github : Bu eklenti sayesinde Php Class’ları ve oluşturduğunuz Modeller IDE auto Complete özelliği ile hızınızı katlayabilirsiniz.
  • Php programcılarında benim büyük eksik olarak gördüğüm dökümantasyon sorunu da bu şekilde ortadan kalkmış oluyor.
    1. ide-helper:generate
    2. ide-helper:models

Laravel Generator

  • Github : Sizin için otomatik kod üreten bir eklenti başlangıç seviye iseniz kullanmamanızı öneririm. Yapılan işlemi output vermesine rağmen syntax’ı öğrenmekte fayda var :))
  • Bu eklenti ile gelen generate methodları özellikle resource deneyin “kod yazan kod”  tabirine uygun bir fonksiyon :))
    1. generate:model
    2. generate:controller
    3. generate:seed
    4. generate:view
    5. generate:migration
    6. generate:resource
    7. generate:scaffold
    8. generate:form
    9. generate:test
    10. generate:pivot

 Laravel Faker

  • Github : Bu eklenti sayesinde başlangıç aşamasındaki projelerde ki ‘dummy data’ sorununu kökten çözmüş. Rastgele anlamlı değerler ile database’imizi dolduruyor. Benim datalarım çok orjinal bana uymaz demeyin 😀 Aşağıdaki veri tiplerinin tamamı Faker tarafında destekleniyor.
    1. Kişi ( İsim , Soyad , Tam isim , Ünvan) = (Fİrstname , Surname , Name , Suffix , Prefix)
    2. Adres (Şehir , Sokak , Zip vs..)
    3.  Telefon
    4. Şirket
    5. Kredi Kartı
    6. Lorem
    7. Yazı
    8. User Agent
    9. Zaman
    10. Şifrelemeler(MD5 , SHA1 , SHA256 , Dil , Ülke)
    11. Rastgele (Sayı , yazı , değer , karakter)
    12. Internet (Web sitesi , email )
    13. Renkler
    14. Dosya
    15. Unique ID (UUID)
    16. Resim
    17. Barcode
  • Ve proje tamamen ORM ve ODM destekli Doctrine , Propel ve Mandango ile kullanılabiliyor.
  •  Sizcede mükemmel değil mi ? :))

Laravel URL Friendly SEO

  • Github : Malum işimiz web seo artık sorulmadan yapılıyor. Eğer biraz araştırırsanız  laravel için birçok seo eklentisi olduğunu göreceksiniz. Peki neden bunu tercih etmeliyiz?
    1. Static method’u model’e implement ettkiten sonra belirlediğiniz kolonlar arasında otomatik olarak Update ve Insert sırasında çalışıyor.
    2. Unique slug garantisi var.
    3. ORM ile tam uyumlu
    4. Vee tabiki eklemesi çok kolay 😀

 Laravel Sitemap

  • Github : Sitemap oluşturmak istiyorsanız , kullanılabiliecek en basit paket. Yukarıdaki seo paketinin yanında çok da güzel gidiyor. 😀

Laravel Sınırsız Kategori(Nested Category)

  • Github : Sınırsız kategorilendirme ile başınız dertte ise Baum aradığınız cevap. Açıkcası ben işin içine kategori giriyor ise direkt baum’u entegre ediyorum. Temel ihtiyacınız bütün kodlar model ile geliyor. Laravel 4 + ORM destekli diğer modeller ile kullanırken de hiç bir sorun oluşmuyor.

Yukarıda belirttiğim bütün kütüphaneleri tüm özellikleri ile kullanmaya başladığınız da ne kadar hızlandığınıza inanamayacaksınız. Özellikle kendinizi tekrarlama sınırına geldiyseniz. Laravel 4′ e geçme vaktiniz gelmiş demektir.

Kimlere Önermiyorum?

  • SQL bilginiz düşük ise ORM ilişkilerini anlamak size zor gelebilir.
  • Database şema oluşturma bilginiz düşük ise altyapı kurmak zor gelebilir.
  • Dökümantasyon okumayı sevmiyosanız size zor gelebilir.(Ozaman framework kullanmazdık zaten dediniz 😀 )
  • OOP bilginiz düşük ise Model yapılarını anlamak size zor gelebilir.
  • Öğrendiğiniz ilk Framework Laravel ise diğerleri size zor gelebilir.
  • Depency Injection ve Function Chaining tabirleri size zor gelebilir.
  • Konsola uzaksanız , .net tarzı bir dil kullanıyorsanız bunlar size uzak gelebilir.

 

NOT : Yukarıda belirttiğim maddeler kesinlikle sizi Laravel’den caydırmak amaçlı değildir. 1 haftalık bir süreçte öncelikle kendiniz bu noktalarda geliştirirseniz. Laravel’e çok daha hızlı adapte olabilirsiniz.

Muharrem Tığdemir

Categories
Laravel PHP

Laravel 4 Artisan ve Ayarlar

Merhaba Arkadaşlar  ,

 Bu yazımda Laravel konsol komutları ile ilk ayarlarının düzenlemesinden bahsedeceğim.  Eğer  Laravel kurulumunu henüz yapmadıysanız ilk yazımı okumanızı tavsiye ederim.

Laravel 4 Kurulumu

Yazının devamında hem artisan kullanarak hemde manuel düzenlemeyi aynı anda göstereceğim.

Laravel  .htacces SEO URL

  • Options +FollowSymLinks
    RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    Yukarıdaki rewrite komutunu laravel proje klasörünüze .htaccess dosyası olarak ekleyin.

Artisan Key Generate

  • php artisan key:generate

    veya app/config/app.php dosyasından ‘key’ => ‘YourSecretKey!!!’ değiştirin.

Artisan Make Controller

  • php artisan make:controller CustomerController

    Otomatik Controller ekleyen bu komut bence çok kullanışlı. Manuel oluşturmak için , app/controller içine controller

Artisan Up Down

  • php artisan up
    php artisan down

    Yayındaki sitenizi bakıma aldığınızda veya update yapıyorsanız. Aradağınız komut kesinlike down ve up. Bakımda görünecek sayfanın ayarları için /app/start/global.php  App:down fonksiyonunu editleyebilirsiniz.

Artisan Routes

  • php artisan routes

    Routes komutu ile bütün belirlediğiniz yönlendirmeleri auth , action , filter durumları ile ayrıntılı olarak görebilirisniz.

Laravel Artisan routes
Laravel Artisan Routes

Artisan Serve Port

  •  php artisan serve --port=80

    Serve methodu ile laravel projemizi yayınladığımızı önceki yazıda test etmişttik. “–port” parametresi yayın portunu değiştirebiliriz.

 

 

Muharrem Tığdemir

Categories
Laravel PHP

Laravel 4 XAMPP Kurulum

Merhaba Arkadaşlar ,

Bu yazımda popüler php framework’leri arasında kendi yer edinen laravel kurulumundan bahsedeceğim localhost olarak da XAMPP kullanacağım. Öncelikle Composer bilgisayrınızda kurulu değil ise;

Composer Kurulumu için tıklayın.

Örnek Composer Kullanımı için tıklayın.

Composer kurulumunu tamamladıktan sonrası aslında oldukça basit composer bizim kurulum ve güncelleme gibi birçok işlemi yapacak.

Laravel sitesine giderek veya benim kullandığım son sürüm olan 4.1 versiyon laravel.phar dosyasını indirin ve c:\xampp\htdocs içine kopyalayın.

Categories
Uncategorized

Crossdomain.xml SWF Güvenlik-Security Error

Merhaba Arkadaşlar ,

Bu yazımda crossdomain.xml den biraz bahsetmek istiyorum. Bu tabiri görmeye başladığınızda Online Streaming ,  Flash  network kütüphanesin kullanıyor veya server’a uzak bağlantı deniyorsunuz demektir. Karşılaşacağınız hata flash için türkçe  olarak

* Güvenlik Sanal Alanı Ihlali * 

veya

* Security Sandbox Violation * 

şeklinde karşınıza çıkabilir. Swf compile edince çalışıyor localde çalışmıyor ise debug mod’u çalıştırın(Ctrl+Shift+Enter)

Aşağıda örnek olarak verdiğim dosyası server’ınızın root dizinine kaydedin sorun çözülecektir.

Örnek Crossdomain.xml dosyası

<?xml version="1.0"?>

<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">

-<cross-domain-policy>

<site-control permitted-cross-domain-policies="all"/>

<allow-access-from to-ports="*" domain="*"/>

<allow-http-request-headers-from domain="*" headers="*"/>

</cross-domain-policy>

Burada dikkat edilmesi gereken domain paramatreleri  eğer serverdaki dosyalarınıza sadece belirli bir serverdan ulaşmak istiyorsanız , domain (*) değiştirerek istediğiniz IP’lere erişime açabilirsiniz.

Daha ayrıntılı bilgi için burayı inceleyebilirsiniz.

Muharrem Tığdemir

 

Categories
Java

Netbeans Java kullanılmayan import temizlemek

Merhaba Arkadaşlar ,

Bu yazımda Java Projelerimiz temizlemek ve gereksiz import’ları netbeans ile kolayca nasıl temizleyeceğimizi göstereceğim.

  1. Projeye sağ tıklayarak ‘Inspect and Transform’ sekmesini açalım

Image

  1. Configuration ‘Organize Imports’ seçerek Insecpt diyoruz. Image2

Resimde gördüğünüz gibi bütün kullanılmayan import’lar listelendi.  Do Refactoring diyerek işlemi tamamlayalım. Kullanılmayan import’lardan tamamen kurtulmuş olduk 😀

Muharrem Tığdemir

Categories
Hatalar Java JSF

javax/servlet/jsp/jstl/core/LoopTagStatus Hatası

Merhaba Arkadaşlar ,

Caused by: java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.LoopTagStatus

Yukaridaki hatayı alıyor iseniz muhtemelen JSTL fonksiyonlarından foreach veya datatable gibi döngü içeren componentları kullanıyorsunuz.

        <c:forEach items="#{mainController.databases}" var="databases">
            <h:outputText value="#{databases.name}" />
        </c:forEach>

JSF 1.2 ile bu sorun çözüldü. Aşağıdaki depency projenize ekleyin veya güncelleyin sorun çözülecek

  <dependency>
	<groupId>javax.servlet</groupId>
	<artifactId>jstl</artifactId>
	<version>1.2</version>
  </dependency>

 

Muharrem Tığdemir

 

Categories
MongoDB

MongoDB-CRUD ve Komutlar Örnek-Part-1

Merhaba Arkadaşlar ,

Bu yazımızda MongoDB CRUD işlemlerinden bahsedeceğim. Bu sırada konsolu aynı şekilde takip ederseniz. İşinize yarıyacak temel komutları da görmüş olacağız.

Import

Categories
Java MongoDB

MongoDB-Java-5-Genel Örnek

Merhaba Arkadaşlar ,

MongoDB’ye bağlanmayı , veriçekmeyi , MVC Map object ile veri göndermeyi , Freemarker tempalate ve Spark Framework hakkında önceki yazılarda örnek verdik. Bunların hepsini bir örnekte toplayalım.

Categories
Java MongoDB

MongoDB-Java-4-FreeMarker

Merhaba Arkadaşlar ,

Bİr önceki yazımda Spark Framework’ü Projemize eklemiş ve test etmiştik. Ancak web projesi geliştirirken mutlaka HTML çıktılara ihtiyacımız var. Bunun için Lightweight bir Java Template Engine olan Freemarker kullanıcaz. Ayrıntılı bilgi  http://freemarker.org/ bu linkten alabilirsiniz.

Categories
Java MongoDB

MongoDB-Java-2-Maven

Merhaba Arkadaşlar ,

Henüz MongoDb hakkında bilginiz yok ise ilk yazımı okumanızı tavsiye ederim

Nelere İhtiyacımız var ?

  • Bir adet Eclipse
  • Eclipse Maven Plugin’i (m2Eclipse tavsiyedir)
  • Çalışmayı bekleyen bir MongoDB (İlk yazıdan faydalanabilrsiniz.)

Eclipse’den yeni bir maven projesi oluşturalım

File->New->Other (Maven Project)

 

pom.xml dosyasına gerekli olan mongodb kütüphanesini ekliyoruz. Örnek pom.xml şu şekilde olmalı.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>mongo</groupId>
  <artifactId>mongoproject</artifactId>
  <version>0.0.1-SNAPSHOT</version>

 <dependencies>
	  <dependency>
		<groupId>org.mongodb</groupId>
		<artifactId>mongo-java-driver</artifactId>
		<version>2.11.3</version>
	</dependency>
</dependencies>            
</project>