ne yapmak istediğini tam anlayamadım, verdiğin fonksiyon hiçbir şey yapmıyor? istek objen yok bir kere içinde. eğer istekleri bir fonksiyondan kolayca yöneteyim diyorsan şöyle bir şey yazabilirsin;
function request(url, method, data, calback) {
const request = new XMLHttpRequest();
request.open(method, url);
request.addEventListener('load', callback)
request.send(data);
}
kullanırkende;
const data = {
name: 'tayfun,
surname: 'erbilen'
}
request('ajax.php', 'POST', data, function(e) {
console.log(e.currentTarget.response); // istekten dönen cevabın
})
Her emoji her platformda gözükmeyebiliyor. Ben mac'den baktığım için apple'ın simgesi çıkıyor. Ama windowsta dediğin gibi boş kare bir şey çıkıyor :)
Sırasıyla yapılacaklar
1- app ve core dahil altındaki tüm klasörlerin baş harfleri büyük olmalı.
2- App/Bootstrap.php
içinde new Router
kısmındaki klasör isimlerininde baş harfini büyültmeyi unutma.
3- composer.json
dosyanda helpers
dosyalarının klasör isimlerinide baş harfini büyük yapmayı unutma.
4- SQLite ile ilgili bir hata alırsan yine App/Bootstrap.php
dosyasında db bağlantı ayarına şunu ekle
$capsule->addConnection([
// diğer ayarların burada
// ek olarak bunu ekle
'options' => [
\PDO::ATTR_EMULATE_PREPARES => true
]
]);
1- php'nin 8. sürümüyle yapılan benchmark teslerine bakma şansın oldu mu?
2- işte buna denecek söz yok :D ama sırf bu yüzden back-end dili tercih edilmez
3- php'nin yazımına çirkin diyenler laravel'i hiç incelememişler bence :D
şaka bir yana, ikisini öğren derim. ikisininde avantajlarını bilerek ona göre projelerde tercihini yaparsın.
öncelikle değil java
javascript
olacak onu düzelterek başlayalım.
sweetalert2'nin ilgili javascript kodunu sayfana dahil et
<script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>
daha sonra kullanmak için
Swal.fire({
title: 'Başlık!',
text: 'Açıklama buraya gelecek',
icon: 'success',
confirmButtonText: 'Tamamla'
})
javascript history api kullanacaksın
https://developer.mozilla.org/en-US/docs/Web/API/History_API
burada pushState
metodu ile link değiştirebilir
onpopstate
metodu ile değişiklikleri algılayıp ona göre işlem yaptırabilirsin
yani döngüye sokamazsın diyor çünkü array değil Array.from(this.files)
ya da [...this.files]
ile mapleme yapman gerekir belki orada kaçırmışsındır dersi
eğer şunu eklersen dosya ve klasör isimlerini hariç tutacağı için css dosyaların da çalışacaktır
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
sayfaya sonradan eklenen içeriğe event eklemek için vanilla jsde bir tık uğraşmak gerekebiliyor, şu fonksiyon ile yapabilirsin
function live (eventType, elementQuerySelector, cb) {
document.addEventListener(eventType, function (event) {
var qs = document.querySelectorAll(elementQuerySelector);
if (qs) {
var el = event.target, index = -1;
while (el && ((index = Array.prototype.indexOf.call(qs, el)) === -1)) {
el = el.parentElement;
}
if (index > -1) {
cb.call(el, event);
}
}
});
}
live("click", "div.sonradan-eklenen", function (e) {
// ne istiyorsan
});
group by
ile verileri gruplayıp count ile saydırarak bakabilirsin. Örneğin
SELECT *, count(telefon) as total FROM tablo_adi GROUP BY telefon
Böylece eğer telefon
değeri 1'den büyükse aynı tablo içinde daha fazladır, kaç tane olduğunu yine telefon
değerinin çıktısından görebilirsin.
Bu tabi bir yaklaşım yöntemi, ne için kullanacağında önemli farklı çözümler olabilir.