Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

clasa php pt limba [rezolvat]
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Cod PHP
Subiectul anterior :: Subiectul următor  
Autor Mesaj
danielsen



Data înscrierii: 14/Feb/2004
Mesaje: 104
Locație: Cluj-Napoca

Trimis: Joi Iul 10, 2008 4:48 pm    Titlul subiectului: clasa php pt limba [rezolvat]  

Am functia urmatoare pt schimbat limba pe site si vreau sa o folosesc intr-o clasa php, am nevoie de exemplu cum s-ar putea aplica intr-o clasa:

Cod: // functie pentru limba
function text($nr) {
   switch ($_SESSION['lang']) {
      case 'ro':
      $txt[0] = 'Despre noi';
      $txt[1] = 'Produse';
      $txt[2] = 'Contact';
      etc...
      break;

      case 'en':
      $txt[0] = 'About us';
      $txt[1] = 'Products';
      $txt[2] = 'Contact us';
      etc...
      break;
   }
   return $txt[$nr];
}

// limba implicita: ro
if (!isset($_SESSION['lang'])) {
   $_SESSION['lang'] = 'ro';
}

if (isset($_GET['lang'])) {
   $_SESSION['lang'] = $_GET['lang'];
}

In context apelez cu echo text(0); (output: Despre noi), text(1); (output: Produse), si asa mai departe. As vrea sa fac o clasa cu functia asta si un exemplu de instantiere. Ma ajuta cineva?
Sus  
Birkoff



Data înscrierii: 18/Mar/2004
Mesaje: 2607
Locație: Bucuresti

Trimis: Joi Iul 10, 2008 5:10 pm    Titlul subiectului:  

imi este prea lene acum sa scriu o clasa, ia si citeste si daca nu te descurci pune codul cu ce ai facut sa te corectam

[url=http://www.tutoriale.far-php.ro/index.php?p=Clase%20%26%23351%3Bi%20obiecte%20%26icirc%3Bn%20PHP
]Clase și obiecte în PHP[/url]

Succes
Sus  
danielsen



Data înscrierii: 14/Feb/2004
Mesaje: 104
Locație: Cluj-Napoca

Trimis: Joi Iul 10, 2008 5:46 pm    Titlul subiectului:  

Dupa mine, ar veni ceva de genul:

Cod: class Limba {

   var $txt;

   function lng() {
   //aici afisarea...
   }

   // functie pentru limba
   function text($nr) {
      switch ($_SESSION['lang']) {
         case 'ro':
            include 'lang/ro.php';
         break;
         case 'en':
            include 'lang/en.php';
         break;
      }
      return $txt[$nr];
   }

   // limba implicita: ro
   if (!isset($_SESSION['lang'])) {
      $_SESSION['lang'] = 'ro';
   }
   
   if (isset($_GET['lang'])) {
      $_SESSION['lang'] = $_GET['lang'];
   }

}


Dar nu am idee cum sa o fac sa iasa ceva de genul $this->txt(1); bla bla...

PS: am bagat textele pt fiecare limba separate in fisiere ro.php si en.php, sper sa nu fie problema.
Sus  
Birkoff



Data înscrierii: 18/Mar/2004
Mesaje: 2607
Locație: Bucuresti

Trimis: Joi Iul 10, 2008 5:59 pm    Titlul subiectului:  

pai logica e asa

$this->o_functie(1)

tu apelezi o functie din interiorul clasei cu un parametru in cazul de fata apelezi functia o_functie cu parametru 1

in interiorul clasei tu ai functia aia care returneaza ceva... acel ceva trebuie apoi ori sa il afisezi pe ecran ori sa il pasezi la alta functie din cadrul clasei care sa afiseze ce a returnat prima functie...
Sus  
danielsen



Data înscrierii: 14/Feb/2004
Mesaje: 104
Locație: Cluj-Napoca

Trimis: Joi Iul 10, 2008 6:03 pm    Titlul subiectului:  

Pai atunci ii simplu, nu mai bag si functia lng(), fac doar
$lang = new Limba;
echo "<div>" . $lang->text(1) . "</div>";

Ar fi corect asa?
Sus  
Birkoff



Data înscrierii: 18/Mar/2004
Mesaje: 2607
Locație: Bucuresti

Trimis: Joi Iul 10, 2008 6:10 pm    Titlul subiectului:  

uite aici un alt exemplu ca sa intelegi mai bine

Introducere în Clase PHP
Sus  
danielsen



Data înscrierii: 14/Feb/2004
Mesaje: 104
Locație: Cluj-Napoca

Trimis: Joi Iul 10, 2008 7:04 pm    Titlul subiectului:  

Mda, sa zicem ca am inteles cat de cat.

include 'includes/lang.class.php';
$lng = new Limba;
echo $lng->text(3);

Merge. Functia era deja, tot ce trebuia era sa o bag intr-o clasa. Ma intereseaza si pt ca mai tarziu o sa am nevoie sa extind clasa. Oricum o sa mai recitesc tutorialele. Sunt f.bune, mai ales ca tu esti autorul, daca nu ma insel. Mersi mult.
Sus  
alin4lex



Data înscrierii: 01/Iun/2005
Mesaje: 124
Locație: Bucuresti

Trimis: Joi Iul 10, 2008 9:26 pm    Titlul subiectului:  

downloadeaza elf-php si vezi cum e facut (cauta in library/libraries/Language.php)

user guide: http://www.elf-php.com/user_guide/language.html
download: http://www.elf-php.com/download.html
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Cod PHP
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community