-
Üyelik
12.03.2013
-
Yaş/Cinsiyet
32 / E
-
Meslek
...
-
Konum
Adana
-
Ad Soyad
M** Ç**
-
Mesajlar
665
-
Beğeniler
329 / 328
-
Ticaret
1, (%100)
Merhabalar,
"Sayfalar.php" isimli sayfaya require ile "Lang.php" sayfasını çağırıyorum. Bu lang.php sayfasında bir dizi (array) var. Ben bunu sayfalar.php sayfasında kullanabiliyorum ama sayfalar.php'nin içinde oluşturduğum bir fonksiyonda kullanamıyorum. Bunun nedeni nedir?
sayfalar.php
require("lang/lang.php"); //Dil sayfası
echo $lang["hello"]; //Örnek 1 (Başarılı. Sonuç: merhaba)
function sayfalar(){
$get = $_GET["sayfa"];
Switch ($get){
case "profile":
echo $lang["profile"]; //Örnek 2 (başarısız. sonuç: boş)
break;
default:
echo $lang["no-page"]; //Örnek 3 (başarısız. sonuç: boş)
break;
}
}
Lang.php
$lang = array(
"hello" => "merhaba",
"profile" => "profil",
"no-page" => "sayfa yok",
);
Gördüğünüz gibi örnek 1'de sonuç başarılıyken, sayfalar() fonksiyonunun içinde kullanılan örnek 2 ve örnek 3 başarısız oluyor. Fonksiyonun içindeyken Dizi elemanını görmüyor...
YORci
yorci.com
Kullanıcı
-
Üyelik
06.02.2016
-
Yaş/Cinsiyet
29 / E
-
Meslek
Arkaplan Yazılım
-
Konum
Ankara
-
Ad Soyad
I** Y**
-
Mesajlar
261
-
Beğeniler
88 / 127
-
Ticaret
21, (%100)
$lang = require("lang/lang.php"); //sayfalar.php
return array(
"hello" => "merhaba",
"profile" => "profil",
"no-page" => "sayfa yok",
); // lang.php.
Böyle yaparsan kullanabilirsin, yok yine de eski usul kullanacağım dersen function sayfalar() use ($lang) {... yaparsan kullanabilirsin.
1 kişi bu mesajı beğendi.
-
Üyelik
14.01.2018
-
Yaş/Cinsiyet
52 / E
-
Meslek
Programcı
-
Konum
İzmir
-
Ad Soyad
S** S**
-
Mesajlar
319
-
Beğeniler
4 / 111
-
Ticaret
0, (%0)
Fonkison içinde değişken kullanmak için
Ya fonksiyon parametresi yapacaksın.
Yada değişkeni global yapacaksın.
-
Üyelik
14.01.2018
-
Yaş/Cinsiyet
52 / E
-
Meslek
Programcı
-
Konum
İzmir
-
Ad Soyad
S** S**
-
Mesajlar
319
-
Beğeniler
4 / 111
-
Ticaret
0, (%0)
He makinadaki php saç kesimini beğenmedi ondan sana kıllık yapıyor.
lang.php
$lang['no-page'] = 'aradığın sayfa burda yok, çarşı gitti';
?>
include(lang.php);
echo print_r($lang,true)."\n";
Buda globalli versiyonu
lang.php
$GLOBALS['lang']['no-page'] = 'aradığın sayfa burda yok, çarşı gitti';
?>
include(lang.php);
function hede() {
echo print_r($GLOBALS['lang'],true)."\n";
}
hede();
eski ben olsam statik class lı versiyonunu yaparim
glb_class.php
class glb {
public static $lang;
public static $myLang;
}
glb::$myLang = 'tr';
glb::$lang = new \stdClass();
glb::$lang->tr = new \stdClass();
glb::$lang->en = new \stdClass();
?>
lang_tr.php
glb::$lang->tr->no_page = 'Aradığın sayfa burada yok. Pazara gitti';
?>
lang_en.php
glb::$lang->en->no_page = 'The page you have searching was go to school';
?>
echo glb::$lang->{glb::$myLang}->no_page;
glb::$myLang = 'en';
function hodo() {
echo glb::$lang->{glb::$myLang}->no_page;
}
şimdi bakıyorum kullandığım framework te ne varsa onu kullanıyorum. İşim gücüm yok tekerlekmi icad edicem.
VipTema
Vip Tema Web Tasarım
Kullanıcı
-
Üyelik
29.06.2011
-
Yaş/Cinsiyet
37 / E
-
Meslek
Vip Tema Web Tasarım A.Ş.
-
Konum
Tekirdağ
-
Ad Soyad
Ö** I**
-
Mesajlar
1393
-
Beğeniler
704 / 703
-
Ticaret
21, (%100)
HAYIRSEVER adlı üyeden alıntı
mehmet01 hocam yok böyle birşey ya kimse mi görmüyor anlamıyorum ki :) Ezbere şeyler yazılıp durulmuş sürekli.
$lang = array(
"hello" => "merhaba",
"profile" => "profil",
"no-page" => "sayfa yok",
);
bu kullanım hatalı hocam dizide son kısımda virgül olmaz yani şununla degiştirin.
$lang = array(
"hello" => "merhaba",
"profile" => "profil",
"no-page" => "sayfa yok");
Gerek yoktur sonda virgüle ancak unutulsa da sorun olmaz. Çalışır zaten başarılı bir çıktı almış fonksiyon dışında.