PHP_EOL
kullanabilirsin.
header('Content-Encoding: UTF-8');
header('Content-Type: text/plain; charset=utf-8');
header("Content-disposition: attachment; filename=aaaaa.txt");
echo 'Veri 1' . PHP_EOL;
echo 'Veri 2' . PHP_EOL;
echo 'Veri 3';
Evet gerekir ancak ne yapacağına göre değişir. Örneğin bir blog scripti yazmak için matematik dahisi olmana gerek yok. Ancak javascript ile oyun yazmak için matematik, geometri ve fizik gibi konularda da bilgi sahibi olman gerekir.
Dolayısı ile ne yapacağını belirleyerek gerekip gerekmeyeceğine karar verebilirsin :)
& ile referans alıyoruz. Örneğin;
class A {
public $number;
}
böyle bir sınıfımız var diyelim. Bunu $a
değişkenine atayarak başlatalım.
$a = new A;
ve $b
değişkeninde $a
değişkenini referans alalım.
$b = &$a;
artık $b
değişkenini kullanarak A
sınıfı içerisindeki $number
değerimi değiştirdiğimdei;
$b->number = 10;
ve $a
değişkenimi kullanarak ekrana bastığımda aynı değere sahip olduğunu görebilirsin;
echo $a->number;
halbuki $a
değişkenini kullanarak değiştirmedim o değeri. Ancak $b
değişkeninde $a
değişkenini referans aldığım için uyguladığım işlem onun içinde geçerli oldu.
css de :nth-last-child()
sözde sınıfı ile şöyle yapabilirsin;
.row img:nth-last-child(-n+5) {
border-bottom: none;
}
Sadece veritabanından ilişkili verileri silmek olsaydı Foreign Key ile tabloları birbirine bağlardın. Burada ana tablon resim kategori tablon, diğer tablolarını foreign key ile silme işlemi için bağladığında kategoriyi sildiğinde otomatik olarak ona ait diğer tablolardaki verilerinde silinir.
Ek olarak kategorini silmeden önce kateori resimlerini çekip öyle silersin. Alttada sadece resimleri silebileceğin bir kod yazarsın işin daha da kolaylaşır :)
şöyle dener misin;
<?php
$lokasyon=$db->query("SELECT * from tbl_haritalar_lokasyon WHERE Durum = 1 and MapID = ".$HaritaID)->fetchAll(PDO::FETCH_ASSOC);
$lokasyonlar = [];
foreach ($lokasyon as $loc) {
$lokasyonlar[] = "['{$loc['aciklayic_baslik']}', '{$loc['Latitude']}', '{$loc['Longitude']}']";
}
?>
<script>
var locations = [
<?=implode(',', $lokasyonlar)?>
];
</script>
yalnız eval
tam da bu gibi durumlar için var zaten. eval kullanmak istememenin sebebi nedir?
eval
kullanmak istemezsen, aşağıdaki gibi uzun bir fonksiyona ihtiyacın olacak :)
function calculate(input){
var f = { add : '+'
, sub : '-'
, div : '/'
, mlt : '*'
, mod : '%'
, exp : '^' };
f.ooo = [[ [f.mlt] , [f.div] , [f.mod] , [f.exp] ],
[ [f.add] , [f.sub] ]];
input = input.replace(/[^0-9%^*\/()\-+.]/g,'');
var output;
for(var i=0, n=f.ooo.length; i<n; i++ ){
var re = new RegExp('(\\d+\\.?\\d*)([\\'+f.ooo[i].join('\\')+'])(\\d+\\.?\\d*)');
re.lastIndex = 0;
while( re.test(input) ){
output = calc_internal(RegExp.$1,RegExp.$2,RegExp.$3);
if (isNaN(output) || !isFinite(output)) return output;
input = input.replace(re,output);
}
}
return output;
function calc_internal(a,op,b){
a=a*1; b=b*1;
switch(op){
case f.add: return a+b; break;
case f.sub: return a-b; break;
case f.div: return a/b; break;
case f.mlt: return a*b; break;
case f.mod: return a%b; break;
case f.exp: return Math.pow(a,b); break;
default: null;
}
}
}
console.log( calculate('4+7*8-4/2') )
Malesef php tarafında bu tarz bilgileri detaylı bir şekilde alamazsın. En fazla ip adresine göre konum alabilirsin oda şehir en fazla bölge olarak alınır. Google'ın yaptığı tek bir şey değil, Chrome tarayıcısı onların, android onların, gmail vb. uygulamalar herkesin telefonlarında kurulu :) Bırakta onlar da o kadarcık veriyi alsınlar zaten.
Şunu yapabilirsin, HTML5'in geolocation api'sini kullanıp koordinatları alırsın ve google maps'e bu koordinatları göndererek adres isteyebilirsin.
ilgili makale: https://prototurk.com/html/gelocation-api-kullanimi
valla yoğunum dostlar ama bu iki konuda da yakın zamanda video çekeceğim söz :) bu sayfa geçişleri için kullandğım fonksiyon şöyle bir şey;
function request(url, container, elem, menu, end, hide, hist) {
NProgress.start();
$.ajax({
url: SITE_URL + url,
beforeSend: function (request) {
if (hide) {
request.setRequestHeader("hide", hide);
if (hist) request.setRequestHeader("history", true);
}
},
success: function (response) {
if (elem) {
if ($(elem).data('remove')) {
$($(elem).data('remove')).removeClass('active');
}
}
if (elem && menu) {
$(menu).removeClass('active').filter(elem).addClass('active');
}
$(container).html(response);
reloadAjaxElements();
if (hist) {
$('a[href="' + SITE_URL + url + '"]').closest('ul').find('li').removeClass('active');
$('a[href="' + SITE_URL + url + '"]').parent('li').addClass('active');
}
Prism.highlightAll();
if (end !== true) {
var data = url + '||' + container;
if (hide) data += '||' + hide;
history.pushState(data, null, SITE_URL + url);
}
$('.popup').remove();
$('.full-container').removeClass('passive');
NProgress.done();
}
});
}
bunu derste daha net açıklayacağım yine de fikir olması adına :)
PHP iyelik eki ile ilgili bir sınıf vardı, inceleyebilirsin;
https://github.com/cengizhancaliskan/iyelik-eki