Ana içeriğe atla

Kayıtlar

Laravel Model İlişki Unit Test

Laravel Elequent modelleri laravelin en güçlü taraflarından birisi. Modelleri birbirleri ile ilişkilendirerek çok rahat veri yapılarını oluşturabiliyorsunuz. Laravele eklenen ilişkiler için unit test yazmanız gerekse bunu şöyle yapabilirsiniz. <?php namespace App\Models ; use Illuminate\Database\Eloquent\Factories\ HasFactory ; use Illuminate\Database\Eloquent\ Model ; class Account extends Model { use HasFactory ; public function investor () { return $this -> belongsTo ( Investor :: class ); } } Bu örnek modelimiz olsun. İnvestor ilişkisine birim testi yazmak isteyelim. <?php namespace Tests\Unit\Models ; use App\Models\ Account ; use App\Models\ Investor ; use Mockery ; use PHPUnit\Framework\ TestCase ; class AccountTest extends TestCase { public function test_belongs_to_investor () { $account = Mockery :: mock ( Account :: class )-> makePartial (); $account -> shouldReceive ( 'belongsTo' ) ...
En son yayınlar

Etkinlik: PHP ve Mikroservisler

Etkinlik: PHP ve Mikroservisler Dün (15 Şubat 2020) İstanbul PHP User Group’un düzenlediği “PHP ve Mikroservisler” isminde bir etkinliğe katıldım. 3 oturum yapıldı. İlk oturumda ICS Defence’da takım lideri olan Erhan Yakut “PHP ve NATS ile Mikroservis Mesajlaşma” isminde bir sunum yaptı. Mikroservis mimarisi yeni yazılım geliştirme trendlerinden. Özetle, bir uygulamanın her bir modülünün tek başına çalışan bir uygulama olması. Tek başına çalışan servislerin apiler aracılığıyla birbirleri ile konuşarak verileri bir araya getirip istemciye sunulması. Avantajlarından şöyle bahsedebilirim. Her bir servis tek başına çalıştığı için herhangi bir dilde yazılabilir. Büyük bir projede kalabalık ekipler servisleri paylaşarak geliştirip ve bakımlarını yapabilir. Mikroservis mimarisinde servislerin birbirleri arasında haberleşmesinde birden fazla yöntem kullanılabilir. Http ile apiler kendi endpointlerine erişebilir. Eğer bu yöntem kullanılırsa her servisin bir web sunucuya ihtiyacı ol...

Linux Mint'de Synergy altenatifi mouse ve klavye paylaşımı

Synergy kullanışlı bir yazılım fakat kapalı kaynak ve sahipli yazılım.  Alternatifini arıyordum. Synergy'e göre zahmetli ama o kadarda zor değil.  x2vnc* yazılımın adı. Klavye ve mouse paylaşacak bilgisayarda kurulu olacak. x11vnc bağlanılacak bilgisayarda kurulu olacak. x11vnc aslında bir vnc server tonla alternatifi var. Linux Mint'in üzerinde "Masaüstü Paylaşımı" yada "Desktop Sharing" adında VNC server kurulu geliyor fakat protokol uyumsuzlukları yüzünden sadece x11vnc ile çalıştırabildim. VNC bir uzaktan bağlantı protokolü fakat çok ayrıntı bilmiyorum. Buradaki keywordler ile çözebilirsiniz büyük ihtimalle ayrıntılı nasıl yapılır yazamayacağım. Birazda kendime hatırlatma olarak yazıyorum bunları. * http://fredrik.hubbe.net/x2vnc.html

Laravel ile formları PUT, PATCH ve DELETE gibi gönderme.

HTML formları  PUT ,  PATCH  veya  DELETE  aksiyonlarını desteklemiyor. O zaman  PUT ,  PATCH  veya  DELETE  routelarını bir HTML formundan çağırmak için,   _method  forma isminde gizli input eklemeniz gerekiyor. Değeri  _method  içerisinde gönderdiğinizde HTTP isteği gibi çalışacaktır: < form action = " /foo/bar " method = " POST " > < input type = " hidden " name = " _method " value = " PUT " > < input type = " hidden " name = " _token " value = " {{ csrf_token() }} " > </ form > İsterseniz  method_field  helper'ı ile   _method  input'unu formunuzun içine ekleyebilirsiniz.: { { method_field ( 'PUT' ) } } Kaynak: https://laravel.com/docs/5.4/routing#form-method-spoofing

Opencart 2.3+ Sipariş Geçmişi API hatası.

Eğer opencart'ta siparişleri düzenlerken "Uyarı : API erişim iznine sahip değilsiniz!" şeklinde bir uyarı alıyorsanız internette pek elle tutulur bilgi bulamayabilirsiniz. Bu hatanın asıl sebebi opencart'ın siparişe geçmiş ekleme işini site üzerinde bile API arayüzünü kullanmaya kalkması. Anlamayan arkadaşlar için kulağını ters elinle tutmak gibi bir şey. Halbuki kodların içerisinde eski usul düzenlenebileceği kodlar duruyor. Kendilerine iş aradıkları için olsa gerek. Geçiçi çözüm istiyorsanız sürekli "Ayarlar > Kullanıcılar > API" den Default hesabına ikinci sekmede "Ip Adresleri" içeriğine değişen IP adresini sürekli girmek gerekiyor. En kolay çözüm. https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=28323 yukarıdaki linkte bulunan extension'u siteye kurduğunuzda siz ip adresiniz değiştikçe kendisi otomatik eklenecek. Nasıl kurulacağını bilmiyorsanız. Araştırmaya devam. ...

Laravel 5.2 validation hata mesajları çalışmıyor.

Laravel'de yeniyim ve ilk sorunumla karşılaştım vatana millete hayırlı olsun. Sorunun sebebini bulamasam da çözümünü buldum. Sorundan bahsedeyim. Basit bir formum var ve formda post ettiğim verilerin doldurulması zorunlu kontrolü yaptırıyorum. Kontrol yapıyor fakat otomatik oluşan hata mesajını ekrana basmıyor. Çalıştığım örnekte view üzerinden erişebildiğim global bir değişkende bulunan hata mesajı ekrana basmıyor. route tanımlamalarında 'web' middleware ile çalışmam gerekiyordu. Hatanın sebebi olarak bu middleware da çalışmam oldu. Sistem zaten varsayılan tüm route tanımlamalarında web middleware ile çalışıyormuş. Bende extradan tanımlayınca çiftlendi. route üzerinde web middleware'ı kaldırınca durum düzeldi. Hatayı çözümünü bulduğum link aşağıda. https://laracasts.com/discuss/channels/general-discussion/witherrors-not-working