toplam bos. toplami onceden tanimla ve sifir degeri ver
en temel hatan başlangıç derinliğinde kalmış olman, bu döngü 2 kere sonuç ürettikten sonra tamamlanıyor. ayrıca fade kullanımını sonda yapman lazımdı ki, döngüde fade, show gibi gecikmeli komutlar aslında stabil çalışmıyor hiç kullanmasan daha iyi.
let link = cevap.link.length == cevap.baslik.length ? cevap.baslik.length : 0;
// yukarıdaki koşul yerine let link = cevap.link.length; de kullanabilirsin.
for (let x = 0; x < link; ){
$('#sonuc').append(`<a href="${cevap.link[x]}">${cevap.baslik[x]}</a><br>`);
x++;
}
bence json verinide güncelle, link ile baslık yanyana olsunlar gerek yok ayrı anahtarlar tanımlamaya. 0 [link: link, anahtar: anahtar] gibi. sen 0 a link 1 e anahtar demişsin.
anladım, önce yol haritasını çizmen daha faydalı olur özellikle ilk kez yapacaksan. veriyi nasıl saklayacağın da önemli aşama aşma bir bakalım duruma.
- 1 önce kontrol için bir koşul oluşturulması gerekiyor, herhangi bir dil parametresi almadan doğrudan erişim yapıldıysa siteye bir popup ile veya yönlendirme ile kullanıcıya bir dil seçtirebilirsin veya varsayılan dil ayarlayabilirsin. senin durumunda seçime önem veriyorsan, dil bilgisini url de parametre olarak tutalım ve diyelim ki,
!isset($dil) ? header("Location:./dil-sec.php") : header($dilUrl);
kullanıcıyı dil seçmeye zorlamış olduk.
- 2 neye ihtiyacın var? bu soru önemli, bir yönetim aracı geliştireceksen izlemen gereken yol ile içerik sistemi geliştireceksen izlemen gereken yol arasında çok fark var. ben mümkün olduğunca bu işi veritabanından uzak tutma taraftarıyım, ama içerik yönetim sistemi ise (bir blog gibi) mecburen veritabanını kullanman gerekecek. bunu netleştirdikten sonra, sağlam notlar almalısın, örneğin her şeyi php ile yapamazsın. bir input'u ele alalım, placheholder değerini javascript ile değiştirmen çok daha performanslı olur çünkü sunucu yerine kullanıcının bilgisayarının performansını kullanırsın ve dökümanın açılma hızına etkisi olur.
- 3 url'i yapılandırmak için htacces'i programlamalısın (tr|en vs) ayarladıktan sonra artık oturup dil şemasını çıkartabilirsin.
- 4 sistem nasıl olmalı? bir dakika da çok dilli bir script yazılabilir, saatlerce uğraşarakta. bu senin nasıl kod yazdığına bağlı olarak değişir. belli kod yazma standartları ve mimariler var yazacağın proje için ne tür bir teknik altyapıya sahipsin? standart olan mvc üzerine oop ile mi geliştireceksin, yoksa bildiğin kadarıyla koşullar yazıp spagetti diye tabir edilen bir script mi yazacaksın?
kendine aşağı yukarı bu tarz bir yol belirledikten sonra, çalışmaya başlayabilirsin. soru genel olarak sanırım 4. madde ile alakalı, bununla ilgili de verebileceğim tavsiye, url'den aldığın dil bilgisini mevcutta sınıf olup olmadığını kontrol etmek için kullandıktan sonra, sınıfı çalışmana dahil edebilirsin. sınıf olarak kullanmak, bilmiyorum ben öyle yapıyorum. başta wordpress gibi bir dil dosyası oluşturup satır satır okuyayım dedim, tercih etmedim. sınıf içerisinde dizi olarak tanımlayabilirsin, sınıf içerisinde hiç dizi tanımlamayıp bir txt dosyasyından okuyabilirsin, örneğin mesaj-15 dendiğinde, mesaj.txt dosyasının 15. satırını alabilirsin. varsayılan ve özel parametreler ayarlabilirsin hatta, gerektiğinde ikincil parametre'yi Messages('mesaj>15', true) şeklinde belirterek, ajaxa yanıtlarıda çoklu dil ile seçeneği ile json formatında döndürebilirsin.
verebileceğim tavsiyeler bu kadar. anlamadığın nokta olursa eğer, ilk birkaç maddeyi kendin halletikten sonra tabi, takıldığın yerlerde yardımcı olurum.
php de json dönüştürmenin yöntemi json_decode adlı fonksiyondur. bu fonksiyonun ikinci parametresi varsayılan olarak "false" ayarlıdır ve json'u objeye dönüştürür.
örnek;
$json='{
"items": [
{
"barcode": "57134497157135969",
"quantity": 5,
"salePrice": 97.5,
"listPrice": 97.5
}
]
};
$obje = json_decode($json);
echo $obje->item[0]->barcode; // çıktısı: 57134497157135969;
şimdi gelelim ikincil parametreye, bu parametre true bildirildiğinde array olarak sonuç verir;
$array = json_decode($json, true);
echo $array["item"][0]["barcode"]; // çıktısı: 57134497157135969;
jsonu dönüştürmeyi anladıysak şimdi, nasıl ekleme yapacağımıza geri dönelim. php de array_push adında bir fonksiyon mevcut. bu fonksiyon 2 parametre alır, ilki kullanılacak ve değer eklenecek array'dır (dizi), ikincisi eklenecek olan değerlerdir.
array_push($array["item"][0], array("test" => "merhaba dünya") );
// array da yer alan item pozisyonunun 0 anahtarına, test anahtarlı bir veri ekledik
$json = json_encode($array);
//sonra tekrar json'a dönüştürdük
echo $json;
/*
{
"items": [
{
"barcode": "57134497157135969",
"quantity": 5,
"salePrice": 97.5,
"listPrice": 97.5,
"test": "merhaba dünya"
}
]
}
*/
//alternatif olarak array_push kullanmadan da şunu yapabilirdik
$array["durum"] = ["status" => "false" ];
// bu kullanım array("status" => "false") ile aynıdır [] kısa array tanımlar;
$json = json_encode($array);
echo $json;
/*
{
"items": [
{
"barcode": "57134497157135969",
"quantity": 5,
"salePrice": 97.5,
"listPrice": 97.5,
"test": "merhaba dünya"
}
],
"durum":[
"status": "false",
]
}
*/
@mubado bence sadece başlığı okuyarak yanıt verdin ama, yine de sormak istiyorum; aklındakini detaylandırman veya örneklendirmen mümkün mü?
kendin mi yazacaksın scripti sıfırdan?
tanımsız dönüyor. uyarı seviyesinde bir hata.
if (isset($_GET['status']) && $_GET["status"] == "ok")
kardeş bu sefer yardımcı olamayacağım. en azından yanıt vereyim de ayıp olmasın diye düşündüm.
saatlerce uğraştım yazık ya, şaka gibi olay. prism diye bir eklenti mevcut, jquerterminal ise jqueryterminal'e bağımlı, ana bağımlılığı ise prism'e olan bir modül çıkartmış, prism ekle yeter yazıyor dökümanda. ekliyorum bakıyorum tanımsız değerler var, resmi siteye gidiyorum, modülden çok daha uzun. sonunda jeton düştü, prism'e bağımlığı olan modüle prism dedikleri için yapamamışım. terminalprism deseler, paşa paşa gidip prism'den sonra modülü dahil edicem. çok sinirlendim ya. neyse çözüldü, isimlendirme hatası yapmışlar dökümanlarında. ikiside prism ismini taşıyınca insanın aklına gelmiyor yani.
- bunu kapsayıcı olarak düşünebilirsin.
*{ color: red;}
aksi belirtilmedikçe dökümandaki her şeyin rengi kırmızı olur örneğin.
main > div *{ color: red;}
.siyah{color:siyah;}
<main>
<div>
<p>kırmızı</p>
<p class="siyah">siyah</p>
</div>
</main>
kısaca belirlenen alandaki tüm elementlere kural uygular, aksi belirtilmedikçe varsayılan tanımlamaya yarar. eğer bir yöntem içerisinde kullanılıyorsa;
main > div { *color: red;}
.siyah{color:siyah;}
color'u bozdum, bir nevi yorum satırı yerine kullandım. bir amacı yok yani.