Posts

Showing posts with the label Laravel

12-Validation

validation sayfası $validation=Validator::make(Input::all(),[kullaniciadi'0>'required|numeric','password','required']) if($validation->fails()) return Redirect::back()->withInput()->withErrors($validation->messages()); Geri dönüş sayfası {{ $errors->first('kullaniciadi') }} şeklinde hata gösterilir

11-Formlar

usercreate.blade.php @extends('layout.master'); @section('content'); {{ Form::open(['route'=>'users.store']) }} {{ Form::label('kullaniciadi','KULLANICI ADI') }} {{ Form::text('kullaniciadi','KULLANICI ADI') }} @stop public function store(){ $kullaniciadi=Input::get('kullaniciadi'); $user=new User; $user->adsoyad=$kullaniciadi; $user->save(); }

10-Resourceful Routing

Rotalamanın gelişmiş hali olan Resourceful Routing şöyle kullanılıyor Routes.php de Route::resource('users','UserController'); yazarsak controller/UserController.php ye gidiyor orayı da php artisan controller::make UserController yazıyor ve oluşturuyoruz. class UserController extends \BaseController {   public function index() { // } public function create() { // } public function store() { // } public function show($id) { // } public function edit($id) { // } public function update($id) { // } public function destroy($id) { // } } şeklinde otomatik olarak oluşuyor

9-Rotasyondan Kontrollere

Bir Controller dosyasını oluşturmak için Öncelikle komut satırını açıyoruz(cmd.exe) C:\xampp\htdocs dizinene ulaşıp (cd C:\xampp\htdocs) php artisan controller:make UserController yazıp controller klasörü altında bir controller dosyası oluşturmuş oluyoruz Routes.php de Route::get('listele','UserController@kullanicilar'); UserController.php de  public function kullanicilar()     {         //         $users=User::all();         return View::make('kullanici.users')->with('users',$users);     } ------route.php den değişken gönderme------ Route::get('users/{username}', 'UserController@kullanicidetay'); ------UserController.php şöyle--------- - public function kullanicilar($username){ $user=User::where('adsoyad',$username)->first(); return View::make('kullanici.userdetay')->with('user',$user); }

8-Master Sayfalar

Master.blade.php(views/layout/ altında) <!DOCTYPE HTML> <html> <head> <title>Title of the document</title> </head> <body>     @yield('content')     <br>             </body> </html> users.blade.php @extends('layout.master') @section('content') <h1>Tüm kullanıcılar</h1>     <br>             @foreach($users as $user)                <li> {{link_to("/users/{$user->email}",$user->email) }}</li>                          @endforeach @stop

7-Blade

İlk önce sayfamızda tüm kullanıcıları listeleyelim ve user/username şeklinde bir rota vereceğiz <!DOCTYPE HTML> <html> <head> <title>Title of the document</title> </head> <body>     <h1>Tüm kullanıcılar</h1>     <br>             @foreach($users as $user)                <li> {{link_to("/users/{$user->email}",$user->email) }}</li>                         @endforeach </body> </html> Routes.php de Route::get('users/{username}',function($username){        $user=User::where ('email',$username)->first();     return View::make('kullanici.userdetay')->with('user',$user);    }); son olarakviews/kullanıcı klasöru altında userdetay.blade.php de <h1>Hoşgeldiniz {{$user->email}}</h1>

6-Eloquent ORM

Elequent en basit anlatımıyla veritabanında işlem yapmak için kısayol.Burada kullanacağımız models/User.php $user=new User; dediğimizde o sayfadaki fonksiyonlara bağlanmış oluyoruz Yeni Kullanıcı oluşturma $user=new User; $user->email='ariferzin'; $user->password=Hash::make('123456'); $user->save();     2.bir metod olarak  User::create([         'email'=>'deneme',         'password'=>'123456'         ]); Veri güncelleme   $user=User::find(12);     $user->email='updateddeneme';     $user->save();

5-Filtreler

Basit Filtreleme 1 <!-- app/views/bursadamac2-2mi.php --> 2 3 <h1>Bursada maç 2-2 mi!</h1> 4 <p>Hemen yanlış anons yapın !</p>    1 <?php 2 3 // app/filters.php 4 5 Route::filter('bursadamac2-2mi', function() 6 { 7 if ((date('d/m/y') == '01/01/81') and( sonuc=="2-2")) { 8 return View::make('bursadamac2-2mi'); 9 } 10 }); Routes.php de filtreleme kullanma Bunu için iki yöntem kullanabiliriz 1 <?php 2 3 // app/routes.php 4 5 Route::get('/', array( 6 'before' => 'sonuc="2-2"', 7 function() 8 { 9 return View::make('bursadamac2-2mi'); 10 } 11 )); yani türkçesi bursadamac2-2mi.php yi göstermeden önce bi kontrol yap eğer öyleyse göster. 2.yöntem ise şu 1 <?php 2 3 // app/filters.php 4 5 Route::filter('dogumgunu', function() 6 { 7 if (true) { 8 return View::make('dogumgunu'); 9 } 10 });

4-İndirme cevapları

<?php 2 3 // app/routes.php 4 5 Route::get('dosya/indir', function() 6 { 7 $dosya = 'kartalgolgolgol.mp3'; 8 return Response::download($dosya); 9 });

3-JSON Cevapları

1 <?php 2 3 // app/routes.php 4 5 Route::get('markdown/cevap', function() 6 { 7 $veri = array('en', 'büyük', 'Beşiktaş'); 8 return Response::json($veri); 9 }); Bu yapı browser tarafından şöyle algılanacaktır  ["en","büyük","Beşiktaş"]

2-Route ile değişken taşıma

Routes.php Route::get('/',  function(){     $deg1='nası bi oyun';     $deg2='babaaaa';     $deg3='lüfen';         return View::make('hello')->with('deg1',$deg1)->with('deg2',$deg2)->with('deg3',$deg3);     } );

1-Route

Basit Rotalama şu şekilde yapılır http://domain.com/sayfa 1 <?php 2 3 // app/routes.php 4 5 Route::get('/sayfa', function() { 6 return 'Merhaba dünya!'; 7 });  Bunun yerine bir sayfaya yönlendirme yapmak için 1 <?php 2 3 // app/routes.php 4 5 Route::get('/', function() 6 { 7 return View::make('gidileceksayfa'); 8 }); //views klasörünün altında gidileceksayfa.php sayfamıza yönlendiriyor routenin metodları: 1 <?php 2 3 // app/routes.php 4 5 Route::get(); 6 Route::post(); 7 Route::put(); 8 Route::delete(); 9 Route::any();  şeklinde metodlar da mevcuttur

Form Post işlemi

1giris.php route.php UserController.php 2sonuc.php

URL::to() komutu

özellikle blade.php lerde css ve javascriptleri çağırıken şu komutu kullanabiliriz. {{ URL::to('') }} mesela <link rel="stylesheet" href="{{ URL::to('Backend/bootstrap/css/bootstrap.min.css') }}" media="screen">

Netbeans de Macro oluşturma

Tools>options>editor>code templates>language html seçiyoruz>new>abbreviation(kısayol tuşları) mesela isim olarak ben bl dedim yani bl yazıp tab tuşuna basınca {{URL::to('$cursor')}} yazacak $cursor da bunu ekrana yazınca imlecini bu $cursor yazan yere getirecek ve burdana yazmaya devam edebileceğiz

Route::get() komutu kullanımı

routes.php de Kod: Route::get('/ilk', function() { return View::make('hello'); }); yazarsak adres satırında ilk açılıs sayfası hello.php olur.hello.php view klasorunun altında yer almalı. Kod: Route::get('/', 'HomeController@showWelcome'); yazarsak controllers altında bulunan homecontroller sayfasının showwelcome fonksiyonunu calıştırır. showWelcome fonksiyonunu söyle olusturuyoruz Kod: public function showWelcome() { return View::make('hello'); } } /* hello.php sayfasını ekrana bas*/, Kod: Route:get('admin','Backend_LoginController@login');  ifadesinin türkçesi http://localhost/admin şeklinde adres satırından bir istek gelirse Backend klasöründeki LoginController.php deki login fonksiyonunu çalıştır.

Debug modunu açma kapama

Hatalarımızı görme açısında localde çalışırken hata modunu açmak isteyebiliriz. Bunun için config içerisinde app.php de 'debug' => true,  yapıyoruz

Düzenli Çalışma adına tavsiyeler

Public klasörünün altına Backend ve Frontend klasörleri oluşturma Netbeans de de Controllers altına  Backend ve Frontend klasörleri oluşturma views altına backend ve frontend klasörleri oluşturmak düzenli çalışmaya yardımcı olur. Admin için backend kullanıcılar için frontend i kullanacağız Yine controller altında BackendController.php ve FrontendController.php diye iki sayfa oluşturuyoruz. Backend klasörü altında LoginController oluşturup class Backend_loginController extends BackendController  şeklinde değişikliğimizi yapıyoruz.Böylece admin kısmıyla ön kısmı birbirinden düzenli bir şekilde ayırmış olduk.

Veritabanındaki remember_token alanı

Beni hatırla kısmı yapıldığında cookie çalnmalarına karşı varchar bir bir alan.Yeni laravel sürümlerinde bunu yapmak zorundayız.

Hash::make() komutu

$sifre=Hash::make('123456');  //123456 yı şifreliyor dd($sifre);  //echo(123456 nın şifreli hali ve exit işine yarıyor)