Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zmienna zewnętrzna
.radex
post
Post #1





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

Ostrzeżenie: (0%)
-----


Czasami miałem takie problemy, ale rozwiązywałem je w inny sposób, teraz muszę znać odpowiedź(IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) :

  1. <?php
  2. $config['default_lang'] = 'pl';
  3.  
  4. function selectLang($name){
  5. include(CMS_LANG_PATH.$config['default_lang'].'/'.$name.'.php');
  6. }
  7. ?>


Nie może działać ponieważ $config['default_lang'] jest zmienną zewnętrzną. Co innego z CMS_LANG_PATH bo jest to stała widoczna dla całego pliku

Wiem że mogę zrobić default_lang jako stałą ale w innych sytuacjach tak nie da się.

( hmm... może jakiś operator? np. w c++ jest ::, ale np. ::$test nie działa)
Go to the top of the page
+Quote Post
pbnan
post
Post #2





Grupa: Zarejestrowani
Postów: 174
Pomógł: 0
Dołączył: 27.03.2007
Skąd: Osiek almost City ;-D

Ostrzeżenie: (0%)
-----


  1. <?php
  2. function selectLang($name){
  3. global $config;
  4. include(CMS_LANG_PATH.$config['default_lang'].'/'.$name.'.php');
  5. }
  6. ?>

? (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
.radex
post
Post #3





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

Ostrzeżenie: (0%)
-----


hmm... globale to jakaś myśl, ale nie działa:/

Kod błędu:

Warning: selectlang(http://localhost/wtrmln/langs//error.php): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in D:\Moje Dokumenty\Radex\Server\wtrmln\config.php on line 70

Warning: selectlang(): Failed opening 'http://localhost/wtrmln/langs//error.php' for inclusion (include_path='.;D:\Moje Dokumenty\Radex\extras\xampp\php\pear\') in D:\Moje Dokumenty\Radex\Server\wtrmln\config.php on line 70

Ten post edytował radex_p 30.04.2007, 17:48:06
Go to the top of the page
+Quote Post
snipe
post
Post #4





Grupa: Zarejestrowani
Postów: 135
Pomógł: 1
Dołączył: 5.10.2005
Skąd: Opole/Chorzów

Ostrzeżenie: (0%)
-----


może plik nie istnieje albo nie masz uprawnień? a swoja droga bez sensu jest dawać w tym przypadku zmienną globalną w środku funkcji korzystającej z niej (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ten post edytował snipe 30.04.2007, 17:54:49
Go to the top of the page
+Quote Post
.radex
post
Post #5





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

Ostrzeżenie: (0%)
-----


nie nie. Nie rozumiesz problemu. Proboje otworzyc
http://localhost/wtrmln/langs/pl/error.php

a on chce otworzyc http://localhost/wtrmln/langs//error.php

ponieważ nie widzi zmiennej config

EDIT:

choć racja, powinno być errors, ale to nie zmienia problemu

EDIT:

var_dump zwraca wszystko poprawnie, ale nie ma na liście default_lang

Hah.... głupie niedouważenie. Zmienna została zdefiniowana po sprawdzeniu bazy danych, tzn. po exicie:P

Ten post edytował radex_p 30.04.2007, 18:00:37
Go to the top of the page
+Quote Post
snipe
post
Post #6





Grupa: Zarejestrowani
Postów: 135
Pomógł: 1
Dołączył: 5.10.2005
Skąd: Opole/Chorzów

Ostrzeżenie: (0%)
-----


  1. <?php
  2. global $config;
  3. $config['default_lang'] = 'pl';
  4.  
  5. function selectLang($name){
  6. include(CMS_LANG_PATH.$config['default_lang'].'/'.$name.'.php');
  7. }
  8. ?>


działa??

Ten post edytował snipe 30.04.2007, 18:11:51
Go to the top of the page
+Quote Post
.radex
post
Post #7





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

Ostrzeżenie: (0%)
-----


nie, nie działałoby. Patrz dopisek poprzedniego posta
Go to the top of the page
+Quote Post
devnul
post
Post #8





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

Ostrzeżenie: (0%)
-----


to może jak chciałeś operator to tak
  1. <?php
  2. class config { 
  3.  static public $config=array();
  4. }
  5.  
  6. //nadanie wartości
  7. config::$config['cos']='jakas_wartosc';
  8.  
  9. // i w dowolnym miejscu
  10. echo config::$config['cos'];
  11. ?>


Ten post edytował devnul 30.04.2007, 18:39:50
Go to the top of the page
+Quote Post
.radex
post
Post #9





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

Ostrzeżenie: (0%)
-----


Hah.... głupie niedouważenie. Zmienna została zdefiniowana po sprawdzeniu bazy danych, tzn. po exicie:P

Jeszcze raz?
Go to the top of the page
+Quote Post
devnul
post
Post #10





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

Ostrzeżenie: (0%)
-----


ja chyba czytać nie umiem - ale co jeszcze raz? bo tak jakoś to troche z kontekstu wyrwane chyba.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 19:52