Laravel Request PHP

  Laravel Request PHP




<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request; //Formdan gelen bilgiler Request Class ında tutulur
use Illuminate\Routing\Controller as BaseController;
class Controller extends BaseController
{

//Request class ı belirtikten sonra parametreye istedğimiz değeri verebiliriz.
// Re$request
public function ekle(Request $request){
$ad = $request->ad;
$soyad = $request->soyad;
}

}


/*
* detaylı request class kullanımı için linkten ulaşabilirsiniz: https://laravel.com/docs/8.x/requests
*/

Laravel Model CRUD PHP

 Laravel Model CRUD PHP

/*
bir tane model sayfası oluşturuyoruz.

console:php artisan make:model Bilgiler
*/

myProject\app\Models\Bilgiler.php
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Bilgiler extends Model
{
use HasFactory;

protected $table = "bilgiler"; //dbdeki tablo adımız.
public $timestamps = true; //created_at,updated_ad alanlarını otomatik eklmesi için true yaptık.

//Kullanıcağımız alanları burada belirlyoruz.
protected $fillable = [
"metin",
"created_at",
"updated_ad"
];
}
?>

/*
controller oluşturup buradan model işlemlerimizi gerçekleştiriyoruz.
console:php artisan make:controller ModelIslemleri

methodları route üzerinden çağırıp kullanabilirsiniz.

*/

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Bilgiler; //Modelimizi çağrıyoruz.
use DB;

class ModelIslemleri extends Controller
{
public function bilgiler(){
$bilgi = Bilgiler::get();

foreach($bilgi as $key =>$val){
echo $val->id ." - ".$val->metin ."<br>";
}
}

public function bilgilerID(){
$bilgi = Bilgiler::where("id",1)->first();
$bilgi = Bilgiler::whereId(1)->first(); //whereId baş harfini büyük olarak field adını yazarakda kullanabiliriz
$bilgi = Bilgiler::whereMetin("örnek")->first(); //whereMetin baş harfini büyük olarak field adını yazarakda kullanabiliriz
$bilgi = Bilgiler::find(1); //find kısa şekilde kullanabiliriz.

echo $bilgi->metin;


}

public function ekle(){
Bilgiler::create([
"metin" => "Örnek bir metin bilgisi girişi yapıldı",
//bir kayıtı belirtiğimizde modelde sonda bvirgül olması gerekir, bazı sunucularda hata almamak için
]);
}

public function guncelle(){
Bilgiler::whereId(1)->update([
"metin" => "metin update edildi",
//bir kayıtı belirtiğimizde modelde sonda bvirgül olması gerekir, bazı sunucularda hata almamak için
]);
}

public function sil(){
Bilgiler::whereId(1)->delete();
}

}

Laravel DB CRUD PHP

 laravel DB

Modele göre DB kütüphanesi yavaş olduğu için özel durumlarda kulanılabilir.

/*
ilk olarak bir controller oluşturup buradan veritabanı işlemlerimizi gerçekleştiriyoruz.
console:php artisan make:controller VeritabaniIslemleri

methodları route üzerinden çağırıp kullanabilirsiniz.

*/

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;

class VeritabaniIslemleri extends Controller
{
public function bilgiler(){
$veriler = DB::table('bilgiler')->get(); //get methodu tüm kayıtları çeker.

foreach($veriler as $key =>$val){
echo $val->id ." - ".$val->metin ."<br>";
}
}

public function bilgilerID(){
$veriler = DB::table('bilgiler')->get(); //get methodu tüm kayıtları çeker.

foreach($veriler as $key =>$val){
echo $val->id ." - ".$val->metin ."<br>";
}
}

public function bilgiler(){
$veriler = DB::table('bilgiler')->where("id",1)->first(); //first tek bir kayıttı getirir.
echo $veriler->id ." - ".$veriler->metin ."<br>";
}

public function ekle(){
DB::table('bilgiler')->insert([
"metin" => "Örnek bir metin bilgisi girişi yapıldı"
]);
}

public function guncelle(){
DB::table('bilgiler')->where('id',1)->update([
"metin" => "Örnek bir metin bilgisi güncellendi."
]);
}

public function sil(){
DB::table('bilgiler')->where('id',1)->delete();
}
}

Laravel Mıgration PHP

 Laravel Mıgration PHP

laravel mysql üzerinden tablo oluşturma işlemleri

İlk olarak myProject\.env dosyamızda bulunan mysql kullanıcı adımızı ve veribanamızı yazıyoruz.


DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=veritabani_1
DB_USERNAME=root
DB_PASSWORD=123
Daha sonra aşağıdaki işlemleri gerçekleştirebiliriz.

/*
console:php artisan make:migration bilgiler --create=bilgiler

"bilgiler" adında bir migration dosyası oluşturuyoruz.
--create="bilgiler" tabloumuz adı.

up methodu dosya çalıştırıldığında yapılacak işlemlerin bulunduğu method.
down tabloda düzeneme veya kaldırma işleminde yapılacak işlemler için kullanılır.

*/

file:myProject\database\migrations\ 2022_08_08_163637_bilgiler

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class Bilgiler extends Migration
{

public function up()
{
Schema::create('bilgiler', function (Blueprint $table) {
$table->id(); //tabloda otomatik artar olarak, AUTO_INCREMNT olarak tanımlı gelir.
$table->string('metin')->nullable(); //tabloda varchar olarak açar. "nullable" bu alan boş bırakılabilir.
$table->timestamps(); //tabloda created_at updated_at olarak iki alan açar otomatik olarak.
});
}

public function down()
{
Schema::dropIfExists('bilgiler');
}
}
?>

/*
oluşturduğumuz migrationı mysql aktarması için aşağıdaki komutu console ekranına yazıyoruz.
migrations klasorundeki tüm migrationları mysql aktrarır.

console: php artisan migrate

*/

Laravel Middleware PHP

 Laravel Middleware (Arakontrol)



/*
Yeni bir tane middleware oluşturmak için console aşağıdaki parametreleri giriyoruz.
console:php artisan make:middleware FormControl
   file:myProject\app\Http\Middleware\FormControl.php
*/

<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;

class FormControl
{
//handle -> tek fonksiyon üzerinden yönetebiliyoruz işlemlerimizi
public function handle(Request $request, Closure $next)
{
if($request->metin == "test"){
return redirect()->back();
}

return $next(request);
}
}

?>

/*
Middleware'imizin route işlemlerinde çalışması için bir tanımla yapıyoruz.
"'formcontrol'=>app\Http\Middleware\FormControl::class"
file:/Applications/Ampps/www/restapi_v1/app/Http/Middleware/Kernel.php
*/

<?php
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
'formcontrol'=>app\Http\Middleware\FormControl::class
];
?>

/*
Route dosyamız içinde middlewareimizi çağrıyoruz.
file:myProject/routes/web.php
*/

<?php
//formController classını çağırmadan önce middlewaredeki kontrolümüze bakıyor eğer orayı geçemezse formController gitmiyor.
Route::middleware('formcontrol')->post("form",['formController::class','add'])->name('form_post');
?>

Laravel API_KEY PHP

 Laravel ile api key oluşturma



//ilk önce console üzerinden bir tane Authkey adlı middleware oluşturuyoruz.
console:php artisan make:middleware Authkey

/*
file:myProject/app/Http/Middleware/Authkey.php
oluşan middleware de request header içinden gelen APP_KEY değişkene aktarıp kontrolünü sağlıyoruz.
*/
public function handle(Request $request, Closure $next)
{
$token = $request->header('APP_KEY');
if($token != 'ABCD'){
return response()->json(['message'=>'App key not fount'],401);
}
return $next($request);
}

/*
file:/Applications/Ampps/www/restapi_v1/app/Http/Middleware/Kernel.php
Daha sonra Kernel.php dosyamızda api modelimizi kullanıcağımız zaman
Authkey middleware 'ımıza çağırıp handle methodumuzu laravelde tanımlı oldugu için otomatik çağırmış oluyoruz

*/
'api' => [
// \Laravel\Sanct'm\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\App\Http\Middleware\Authkey::class,
],
//yapacağımız request isteğinde header bölümüne "APP_KEY = ABCD" ekliyoruz.

Laravel Router PHP

 Laravel Route İşlemleri



Basit Route
  • get
  • post
  • view çağırma
  • controller çağırma
 
myProject/routes/web.php
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Ornek;

/* 1.)
localhost:8000/deneme
url get methodu ile açıldığında ekrana 'bu bir deneme sayfasıdır' yazdırır.
*/
Route::get('deneme', function(){
echo 'bu bir deneme sayfasıdır';
});


/* 2.)
localhost:8000/deneme2
url get methodu ile açıldığında ekrana myProject\resources\views\
içinde oluşturulan deneme2.blade.php sayfası açılacaktır.
view() komutu views klasoru içinde bulunan blade şablonlarını açar.
*/
Route::get('deneme2', function(){
return view('deneme2');
});


/* 3.)
localhost:8000/testsayfasi
Laravel controller dosyası oluşturmak console ekranına aşağıdaki komutu yazıyoruz.
console:php artisan make:controller Ornek
myproject\app\Http\Controllers\Ornek
Ornek.php içine public bir "test" adında method tanımlıyoruz.

url post methodu ile açıldığında Ornek.php içindeki test methoduna çağırır.

*/
Route::post('/testsayfasi',[Ornek::class,test]); //laravel 8 ile gelen routelama yöntemi.


/* 3.)
localhost:8000/testsayfasi
myproject\app\Http\Controllers\Ornek
Ornek.php içine public bir "test2" adında method tanımlıyoruz.
methodun içine $isim değişkenini tanımlıyoruz. public test2($test){ view('deneme2',['ad'=>$isim]); }

url get methodu ile açıldığında Ornek.php içindeki test2 methoduna çağırır.

*/
Route::get('/testsayfasi/{isim}',[Ornek::class,test2]); //laravel 8 ile gelen routelama yöntemi. ?>

Detaylı Route
  • Route get methodu
  • Route post methodu
  • Route put methodu
  • Route delete methodu
  • Route match methodu
  • Route any methodu
  • Route prefix methodu.

//*basit get route çağrımı
//Route::get('test',function(){
// dd('test');
//});

//*Birden fazla request methodunu çağırmak için.
Route::match(['get','post'],'test','HomeController@test');

//*Put ve Delete methodunun kullanımı örnek
Route::put('/test','Homecontroller@update')->name('update');
Route::get('/delete','Homecontroller@getdelete')->name('delete');
Route::delete('/delete','Homecontroller@delete')->name('delete');

//*Tüm istekleri karşılıyan method
Route::any('test-any','HomeController@anyTest')->name('test-any');


//*consoledan bu şekilde oluşturunca bize hem methodları hemde routeları da oluşturuyor
//*only diyerek index ve create rotları kullanabiliriz.
//*except yapınca index ve create hariç diğerlerini kullan diye biliriz.
//Route::resource('posts','PostController')->only('index','create');
//php artisan make:controller PostController --resource

//* Urlden parametre almak
//id nin yanındaki soru işareti parametre gelebilir gelmeyede bilir demek.
Route::get('/post/{lang}/{id?}','PostController@getPost');


//*Grouplama prefix işlemleri
Route::prefix('admin')->middleware('auth')->group(function(){
Route::get('/','AdminController@index')->name('admin.index');
});
//* Gelen değeri hem request den alabiliriz hemde route belirtiğimiz değişken adı ilede alabiliriz., sırasının bir önemi var route daki sıra ile aynı olmaldır.
//* eğer route id soru işareti verirsek static bir değer vermemiz lazım.
public function getPost(Request $request,$lang,$id=null)
{
dd($request->lang);
dd($id);
}

<form action="{{route('update')}}" method="POST">
@csrf
//formdan put olarak gönderme yöntemleri.<br>
@method('PUT')
{{method_field('PUT')}}
<input type="hidden" name="_method" value="PUT">
<input type="text" name="name" value="TEST">

<input type="submit" class="submit" value="g">
</form>

Powtoon Animasyolu Video Slayt Oluşturma

Powtoon Studio, Powtoon'unuzu kolayca oluşturabileceğiniz, tüm araçlara hızlı erişim sağlayacak şekilde tasarlanmıştır.
Bu makale, Studio'nun çeşitli bileşenlerini tanımanıza yardımcı olacaktır.


Tüm dökümana ulaşmak için linke tıklayabilirsiniz.
https://support.powtoon.com/en/the-basics/getting-started



1. Aşama

Bu, Powtoon'da bulunan tüm içeriği kullanarak sahnenizi oluşturduğunuz alandır.

2. Slayt Paneli

Slayt paneli, tüm slaytları küçük resim görünümünde görüntülemek için kullanılır. Slayt ekleme , silme ve çoğaltma dahil birçok eylemi gerçekleştirmek için bu görünümü kullanabilirsiniz .

3. Zaman Çizelgesi
Zaman çizelgesi, slayttaki tüm nesnelerin zamanlamasının görsel bir temsilidir. Daha fazla bilgi için zaman çizelgesine giriş bölümüne bakın.

4. Ses Kontrol Düğmesi
Ses Kontrol paneline erişmek için bu düğmeye tıklayın. Daha fazla bilgi için Ses kontrol panelini anlama bölümüne bakın.

5. Sekmeler
Sekmeler (Sahneler, Arka Plan, Metin vb.), Powtoon Studio'daki tüm içeriğe giriş noktalarıdır.


6. Sahne Araçları



a. Kafes
Izgarayı açıp kapatmak için bu anahtarı değiştirin. Daha fazla bilgi için bkz. Nesneleri ızgarayı kullanarak hizalama .

B. En Boy Oranı
Powtoon'unuzun görüntüleneceği platforma en uygun en boy oranını seçin. Bu ayar Powtoon sahnesinin boyutunu tanımlar.
Bir en boy oranı seçtikten sonra (varsayılan, yatay dışında), sahne alanı değişecek ve sahnenin dışına yerleştirilen nesneler Powtoon'a dahil edilmeyecektir.
Yatay (16:9): Bu, varsayılan en boy oranıdır ve Powtoon'unuz YouTube'da görüntülenecekse kullanılmalıdır.
Kare (1:1): Powtoon'unuz öncelikle sosyal medyada (Facebook, Instagram) veya bir haber kaynağında görüntülenecekse bu en boy oranını seçin.
Dikey (9:16): Powtoon'unuz öncelikle bir mobil cihazda görüntülenecekse bu en boy oranını seçin.

C. yakınlaştır
İstediğiniz yakınlaştırma yüzdesi ayarını seçmek için kaydırıcıyı kullanın.

7. Üst Çubuk




a. Hızlı Menü
Powtoon'un ana seçeneklerine erişmek için tıklayın.

B. Benim Powtoon'larım
Powtoon'larım sayfasına erişmek için Powtoon'a tıklayın .

C. Stüdyo Modu
Düzenle ve Oluştur modları arasında geçiş yapmak için bu kaydırıcıyı değiştirin . Daha fazla bilgi için Yeni Powtoon Oluşturma bölümüne bakın.

D. Yardım
Powtoon yardım kaynaklarına erişmek için tıklayın.

E. Düzenlemek
Temel düzenleme işlevine erişmek için tıklayın: kes, kopyala, yapıştır, sil.
Bu özelliğin yalnızca sahnede bir nesne seçildiğinde etkin olacağını unutmayın.

F. Okları Geri Al/Yinele
Gerçekleştirdiğiniz eylemleri geri almak veya yinelemek için bu okları kullanın.

G. Powtoon Başlığını Düzenle
Powtoon'unuzun adını düzenlemek için bu alana tıklayın.

H. Kaydet Düğmesi
Değişiklikleri kaydetmek için Kaydet'e tıklayın .
Değişikliklerinizi kaydettikten sonra, Kaydedildi görüntülenecektir.

i. Ön izleme
Powtoon'unuzu önizlemek ve dışa aktarma işlemine başlamak için tıklayın .

J. Paylaş
Başkalarının izlemesi için Powtoon'unuzun paylaşılabilir bir bağlantısını oluşturmak için tıklayın
k. İhracat
Dışa aktarma işlemini başlatmak için tıklayın.