Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP5] Problem z namespace
Seth
post 4.08.2003, 15:39:26
Post #1





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

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


Podczas wywolywania tego kodu:
[php:1:57d7d4a413]namespace NSTest
{
class TestClass
{
public $intId = 0;
}
}

$objTest= new NSTest::TestClass;[/php:1:57d7d4a413]

wystepuje nastepujacy blad:
Cytat
Parse error: parse error, unexpected T_STRING in <sciezka> on line 2


Wedlug tego: http://ny1.php.net/introtophp5.pdf wszystko powinno dzialac.


Co moze byc przyczyna tego bledu ?
Go to the top of the page
+Quote Post
Jabol
post 4.08.2003, 15:44:03
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


Pewnie to, że w php usunięto name spacy (bo jakieś tam robiły problemy) już jakiś czas temu. Nie słyszałem, żeby wróciły, więc to penie dlatego.
Go to the top of the page
+Quote Post
Seth
post 4.08.2003, 15:44:46
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

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


shit sad.gif
Dzieki za odpowiedz.
Go to the top of the page
+Quote Post
shw
post 4.08.2003, 16:19:36
Post #4





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: --
Skąd: Wired

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


tak - niestety usunieto - znaleziono bledy.
na pewno nie bedzie ich w php5
Go to the top of the page
+Quote Post
DeyV
post 4.08.2003, 16:58:14
Post #5





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Zeev Suraski stwierdził, że nie bedzie, ponieważ jest z tym sporo problemów.
Co prawda dodaje on też, że być może znajdzie się ktoś, kto się tego podejmie (słychać ironię w głosie winksmiley.jpg ) ale osobiście nie sądzi by tak się stało.
Trza se radzić inaczej...


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
shw
post 4.08.2003, 17:30:02
Post #6





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: --
Skąd: Wired

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


mozna probowac je emulowac za pomoca klas...
Go to the top of the page
+Quote Post
Seth
post 4.08.2003, 23:14:20
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

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


Nie wiem czy o tym samym myslimy ale wpadlem na taki pomysl...
Otoz mozna bylo by to zrobic tak, ze gdy tworzymy namespac np: Test
to wszystkie klasy, ktore sie w nim znajduja mialy by w pamieci php dodane do poczatku Test_. Czyli np:
[php:1:8a5d6faacd]namespace Test
{
class JakasKlasa
{
}
}[/php:1:8a5d6faacd]
w pamieci parsera mialy by postac: Test_JakasKlasa. Lecz podczas odwolywania sie do nich mielibysmy standardowo:
Test::JakasKlasa
i to parser by wiedzial, ze nalezy to co podalismy zamienic na Test_JakasKlasa i zlinkowac z tym co ma w pamieci.
Go to the top of the page
+Quote Post
DeyV
post 4.08.2003, 23:17:45
Post #8





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




nie wiem doklanie o co chodziło z tym błedęm. Był to jednak ponoć dosyć poważny błąd. Więcej pisał o nim koleś z WebCity.pl
A w tym przypadku - jełśi by chodziło tylko o to, to powinny wystarczyć prefiksy w nazwach klas, po co wiec komplikować język?


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
Vdeth
post 5.08.2003, 10:16:24
Post #9





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 23.06.2003
Skąd: Janów City ->

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


No rzeczywście słabo że poszły sie walić przestrzenie nazw... :/ A błąd nie był jeden a mnustwo, co przeważyło że namespace nie będze, a szkoda.. No nic zostają klasy biggrin.gif .


--------------------
[------------------------]
| What's it ? |
[------------------------]
Go to the top of the page
+Quote Post
shw
post 6.08.2003, 23:56:02
Post #10





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: --
Skąd: Wired

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


sam nie korzystalem, ale podobno mozna emulowac namespaces w taki sposob:
[php:1:b8752ab01c]<?php
class jakasklasa {
static var $costam;

static function nazwafunkcji () {
//tutaj funkcja
}

}
?>
[/php:1:b8752ab01c]

i podobnoz tak mozna sobie uzywac namespaces, ale jak mowie - ja nie korzystalem i pewien nie jestem

[KaMeLeOn]: OSTRZEZENIE ! Prosze uzywac bardziej tradycyjnych nazw funkcji...
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.04.2024 - 05:06