Doğrudan kapsayıcı bir div içine alabilirsiniz.
Örn 2.kodu kullanıyorsanız:
echo $kelimeler; yerine echo "<div>$kelimeler</div>"; yazarsınız.
Hata kodlarını görebilmek için sayfanın üstünde bir yere şunları yazmayı deneyebilirsiniz:
error_reporting(E_ALL);
ini_set('display_errors', 1);
Önceki mesajımı düzenledim. Noktalı virgül hatası olabilir...
function div($content) { return "<div>$content</div>"; }
function section($content) { return "<section>$content</section>"; }
function strong($content) { return "<strong>$content</strong>"; }
function span($content) { return "<span>$content</span>"; }
function i($content) { return "<i>$content</i>"; }
function ul($content) { return "<ul>$content</ul>"; }
function li($content) { return "<li>$content</li>"; }
$kelimeler = "";
$anlamlar = "";
$birlesikler = "";
foreach($h as $item) {
foreach($item["anlamlar"] as $anlam) {
$anlamlar .= li(i($anlam["ozellik"]).div($anlam["anlam"]));
};
foreach($item["birlesikler"] as $birlesik) {
$birlesikler .= li(span($birlesik));
};
$kelimeler .= div(
div(strong("Kelime: ").span($item["kelime"]))
.section(div(strong("Anlamlar")).ul($anlamlar))
.section(div(strong("Birleşikler")).ul($birlesikler))
);
};
echo $kelimeler;
Kodları test etme imkânım yok şu an. Varsayımsal olarak yazdım.
Hata veriyorsa sunucuda hata gösterimini açmalısınız yoksa hatayı göremeyiz.
Kodları if(count($h)) {...} içine alabilirsiniz.
print_r($h); komutunuzun çıktısı nedir?
Aşağıdaki örneklerden kendinize uygun olanı seçebilirsiniz.
En yakına yuvarla: round()
https://www.php.net/manual/en/function.round.php
round(3.4); // 3
round(3.5); // 4
round(3.6); // 4
round(3.6, 0); // 4
round(5.045, 2); // 5.05
round(5.055, 2); // 5.06
round(345, -2); // 300
round(345, -3); // 0
round(678, -2); // 700
round(678, -3); // 1000
round( 1.55, 1, PHP_ROUND_HALF_UP); // 1.6
round(-1.55, 1, PHP_ROUND_HALF_UP); // -1.6
round( 1.55, 1, PHP_ROUND_HALF_DOWN); // 1.5
round(-1.55, 1, PHP_ROUND_HALF_DOWN); // -1.5
round( 1.55, 1, PHP_ROUND_HALF_EVEN); // 1.6
round(-1.55, 1, PHP_ROUND_HALF_EVEN); // -1.6
round( 1.55, 1, PHP_ROUND_HALF_ODD); // 1.5
round(-1.55, 1, PHP_ROUND_HALF_ODD); // -1.5
round()'un 3.parametresindeki sabitler:
PHP_ROUND_HALF_UP : Sayıyı 0'dan uzaklaştırarak yuvarlar.
PHP_ROUND_HALF_DOWN : Sayıyı 0'a yaklaştırarak yuvarlar.
PHP_ROUND_HALF_EVEN : Sayıyı en yakın çift sayıya yaklaştırarak yuvarlar.
PHP_ROUND_HALF_ODD : Sayıyı en yakın tek sayıya yaklaştırarak yuvarlar.
Yukarı yuvarla: ceil()
https://www.php.net/manual/en/function.ceil.php
ceil(4.3); // 5
ceil(9.999); // 10
ceil(-3.14); // -3
Aşağı yuvarla: floor()
https://www.php.net/manual/en/function.floor.php
floor(4.3); // 4
floor(9.999); // 9
floor(-3.14); // -4
Siz, sayının kendisinden büyük ilk tam veya buçuklu sayıya yuvarlanmasını istiyorsunuz.
Yani 1.2 ise, kendisinden büyük ilk tam veya buçuklu sayı olan 1.5'e yuvarlansın.
Yani 1.7 ise, kendisinden büyük ilk tam veya buçuklu sayı olan 2.0'a yuvarlansın.
Bunun için özel bir fonksiyon oluşturmanız gerekecek. Şöyle bir fonksiyon yazdım:
function roundUpHalfOrInt($num) {
if(!is_numeric($num)) throw new Exception('Parameter of roundUpHalfOrInt() is not numeric!');
$num = (float)$num;
$numStr = (string)$num;
$numArr = explode(".", $numStr);
if(count($numArr)<2) return (float)$num;
$numFloatSide = (int)((string)$numArr[1])[0];
if($numFloatSide===0) return (float)$num;
if($numFloatSide < 5) return (float)($numArr[0].".5");
return (float)($numArr[0]+1);
}
Bu fonksiyona sayısal değeri verirseniz bahsettiğiniz şekilde yukarı yuvarlama yapacaktır.
React Native öğrenirseniz Dart yerine Javascript kullanırsınız.
React Native'de fulltime veya freelance iş bulma olanağı daha fazladır.
React Native öğrenirken React da öğrenmiş olursunuz.
React Native'i seçmeniz sizin için daha iyi olur.
Ama ikisinde de birer todo uygulaması yapmanızı, böylece ikisinin de mantığını uygulayarak görmenizi tavsiye ederim.
Hangisini öğrenmenin daha kolay olduğu tartışılır ama öğrenme hızı açısından aralarında uçurum görmüyorum. React Native belki size daha zor veya daha kolay gelebilir. Ama hem iş imkânı açısından, hem de ekipçe çalışacak insan bulmanın daha kolay olacağını düşünerek size daha zor gelse bile React Native'i tercih etmenizi öneriyorum.
Kullanmadım ama zorlayan biri kodunuzu kırabilir gibi görünüyor.
Sonuçta bu kodun çalışması için gereken tüm bilgi yine aynı sayfada.
Ama şifreyi kırıp asıl kodunuza erişebilmek için zaman harcamak gerekir.
https://emn178.github.io/online-tools/base64_decode.html ve https://onlinephp.io/ sitelerini kullanarak şifreleri biraz inceledim.
Şifreli kodu açtığınızda karşınıza yine şifrelenmiş kod çıkıyor.
O kodu açtığınızda yine şifrelenmiş bir kod çıkıyor.
O kodu açtığınızda yine... Matruşka gibi.
Ama uğraşa uğraşa sonuca ulaşmak mümkün gibi geldi bana. Yine de sonuna kadar gitmediğim için bilemem tabi.
Ayrıca kodu bu şekliyle şifrelerseniz sayfanız şifre çözmekle de uğraşacağı biraz geç açılacaktır.
Advenced muhtemelen daha güvenlidir. Çünkü kodun hangi yöntemle çözüldüğü ve kodun anahtar bilgisi sayfanın içinde olmayacak.
Muhtemelen sizin ayrı bir kullanıcı adı şifre ile koruyacağınız bir dosyada tutulacak. Böylece sunucuya kuracağınız bu dosya kırılmadığı sürece kodunuzun nasıl çözüldüğü bilinemeyecek.
İki türlü de ben kullanmadığım için kesin konuşamıyorum...
$('[name="kullanici_adsoyad[]"]').attr('name', 'kullanici_adsoyad_yeni[]');
Örneğin WordPress, install.php gibi bir dosyaya sahiptir.
Bu dosya adım adım kurulum bilgilerini alır. Veritabanının sunucu adresi, kullanıcı adı, şifre verilerini alır.
Bu verileri aldıktan sonra PHP ile veritabanına bağlanır ve sitede lazım olan tabloları PHP (MySQL'e bağlanarak) oluşturur.
Ayrıca bu veritabanına bağlanma bilgilerini de bir dosyaya yazar. Site veritabanına bağlanmak için bu dosyayı include eder.
Hazır paket satıyor da olsanız, veritabanı kurulumunu siz yapacak da olsanız bu yöntem çok güzel, büyük hız kazandıracak bir yöntem.
Yani,
- MySQL önceden boş halde açılmış olmalı.
- install.php dosyası oluşturun. Kurulum yapmak için bu sayfayı açmalısınız.
- bu sayfa ilk adımda veritabanına bağlantı bilgilerini bir form yardımıyla alsın.
- aldığınız verilerle veritabanına bağlanıp bağlanamadığınızı kontrol edin.
- bağlanamadıysanız hata verin.
- bağlanabildiyseniz bu verileri connection.php adlı bir dosyaya yazdırın. (bu dosyaya sadece siteniz üzerinden erişilmesini sağlamak için güvenlik önlemleri almalısınız). Sonra da
CREATE TABLEkomutlarıyla sitenizde kullanacağınız tüm tabloları PHP ile oluşturun ve gerekiyorsa başlangıç verilerini de bu tablolaraINSERTedin. - işlemler tamamlandıktan sonra ekrana "işlemler tamam. bu install.php dosyasını silin" diye mesaj verin.
Siteniz, veritabanına bağlantı verilerini almak için connection.php dosyasını include ediyor olmalı. Artık tablolarınız da kurulmuş halde. Böylece siteyi, MySQL'i hiç açmadan kurabilmiş oldunuz.
Bu konuyla ilgili dokümantasyon sayfası:
https://fullcalendar.io/docs/v3/lang
Siz dil dosyasını sayfanıza çağırmamış olabilirsiniz.
lang
Takvim için dil ve yerelleştirme seçeneklerini özelleştirin.
Bu ayarlar v3'te locale olarak yeniden adlandırıldı. Ayrıca, lang.js ve /lang/*.js dosyaları da benzer şekilde yeniden adlandırıldı.
String türünde dil kodu alır. Varsayılan: "en"
Diğer diller nasıl kullanılır?
Kullanmak için dilin JavaScript dosyasını yüklemeniz gerekecek.
Bu dosyalar, lang/ dizinindeki FullCalendar indirmesine dahil edilmiştir.
Ana FullCalendar kitaplığı yüklendikten sonra bir <script /> etiketi aracılığıyla yüklenmeleri gerekir.
<script src='fullcalendar/fullcalendar.js'></script>
<script src='fullcalendar/lang/es.js'></script>
<script>
$(function() {
$('#calendar').fullCalendar({
});
});
</script>
Yalnızca bir dil yüklüyorsanız, dil seçeneğini belirtmeniz gerekmez. FullCalendar, yüklenen en son dil dosyasına bakar ve onu kullanır.
Ancak, birden fazla dil dosyası yüklenmişse veya birleştirilmiş all.js dosyası yüklenmişse, lang seçeneği aracılığıyla hangi dili kullanacağınızı açıkça belirtmelisiniz:
<script src='fullcalendar/fullcalendar.js'></script>
<script src='fullcalendar/lang-all.js'></script>
<script>
$(function() {
$('#calendar').fullCalendar({
lang: 'es'
});
});
</script>
MomentJS ve jQuery UI Datepicker
Bir FullCalendar dil dosyası yüklediğinizde, MomentJS ve jQuery UI Datepicker (kütüphane zaten sayfadaysa) için çevirileri de yükler.
FullCalendar'ın dil dosyasını eklemeden önce Moment ve Datepicker için <script /> etiketlerini eklediğinizden emin olun:
<script src='lib/moment.js'></script>
<script src='lib/jquery-ui.custom-datepicker.js'></script>
<script src='fullcalendar/fullcalendar.js'></script>
<script src='fullcalendar/lang-all.js'></script>