[PHP] Problem z wczytaniem języka do klasy

0

Witam,
mam taki problem.

mam plik lang/pl.php w którym jest coś na kształt:

$lang = array(
'COS' => 'Coś',
'KOLEJNE_COS' => 'Kolejne Coś'
);

w pliku index jezyk wczytuje tak:

include("lang/".$_SESSION['Lang'].".php");

natomiast plik z klasa ma cos takiego (przykładowo):

class Core
{
function AAA()
{
$txt = $lang['COS'];
return $txt;
}
}

Chce by to tak działało. żeby po wpisaniu $lang['COS'] odwołał się do pliku lang/pl.php

0

niech $lang bedzie globalna zmienna...

0

dzięki działa, ale jak zrobić tak by w klasie wywołać zmienną globalną?

0

Co rozumiesz przez 'wywolac'? Odwolanie przez $lang powinno wystarczyc przeciez.

0

tak ale muszę napisać to w funkcji:

function AAA()
{
    global $lang;
...

a mi chodzi o to by w klasie wywołać.

0

Sprobuj tak:

$GLOBALS['lang'] = array(
'COS' => 'Coś',
'KOLEJNE_COS' => 'Kolejne Coś'
);
class Core
{
function AAA()
{
$lang = $GLOBALS['lang'];
$txt = $lang['COS'];
return $txt;
}
}
0

Chodzi mi o to że w klasach można definiować zmienne:

var $zmienna;

i jak zdefiniować zmienną globalną?

0

W klasie nie ma czegos takiego jak zmienna globalna. Jest co najwyzej statyczna, ale pytanie co przez to rozumiesz, bo ciagle nie lapie...

0

już jest ok.

chodziło mi o to że zamiast w każdej funkcji wpisywać:

global $lang;

To po prostu mieć tę zmienną zdefiniowaną w klasie, ale chyba z tego co wiem nie da się odwołać do zmiennej w klasie,bo one służą nie do odczytywania tylko zapisywania danych.

0

Nieeee no, mozesz je odczytywac, przeciez to zwykle zmienne, tyle ze przynalezne klasie.

Mozesz tak:


class Core
{
  protected $lang;

  public function __construct()
  {
    $this->lang = $GLOBALS['lang'];
  }

  public function A()
  {
    echo $this->lang['a'];
  }

  public function B()
  {
    return $this->lang['b'];
  }
}

O to szlo?

0

o to właśnie mi chodziło. Dziękuję

0

jak daje to:

  protected $lang;

  public function __construct()
  {
    $this->lang = $GLOBALS['lang'];
  }

To mi wywala błąd. Możliwe że to dlatego że działam na webser. Zobacze kiedy indziej o co chodzi

0

Jaki blad? Rozumiem, ze to wszystko wewnatrz klasy?

1 użytkowników online, w tym zalogowanych: 0, gości: 1