🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.php
4 messages
4 total messages Started by Roman Tyczka Tue, 19 Feb 2019 12:36
namespaces, autoload i composer
#232257
Author: Roman Tyczka
Date: Tue, 19 Feb 2019 12:36
26 lines
1479 bytes
Tematy z topicu są dla mnie nowe i o ile kumam ogólnie o co chodzi to
jeszcze wykładam się na detalach.

Mam dwa pliki z dwoma klasami i gdy composerem generuje autoloda
(dump-autoload) to te klasy są dostępne przez namespace. Teraz stworzyłem
trzeci plik, na razie nazywam go utils.php i w nim mam kilka luźnych
funkcji, wygląda to tak:

----------------------
namespace utils;

function testData($data, $strictcheck = FALSE) {}
----------------------

Jednak za cholerę nie potrafię się teraz odwołać do tej funkcji w innym
pliku, jak to trzeba poprawnie zrobić? Mam ciągle błąd, że funkcji nie
znaleziono, wołam tak:

utils\testData($input)

Gdzie popełniam błąd?

-- 
pozdrawiam
Roman Tyczka
Re: namespaces, autoload i composer
#232258
Author: Rafal Podsiadly
Date: Tue, 02 Apr 2019 04:53
9 lines
1701 bytes
> Gdzie popełniam błąd?
> 
> -- 
> pozdrawiam
> Roman Tyczka

Funkcje muszą być metodami w class
namespace odwołuje się do class > nazwa clasy zgodna z nazwa pliku... wtedy wszystko działa i jest zgodne z konwecją PSR-0 https://www.php-fig.org/psr/psr-0/ PSR-1 https://www.php-fig.org/psr/psr-0/
Re: namespaces, autoload i composer
#232259
Author: Borys Pogoreło
Date: Tue, 02 Apr 2019 09:48
16 lines
1277 bytes
Dnia Mon, 1 Apr 2019 21:53:51 -0700 (PDT), Rafal Podsiadly napisał(a):

>> Gdzie popełniam błąd?
>>
> Funkcje muszą być metodami w class

Nie muszą, przestrzenie nazw dotyczą też funkcji i stałych

https://www.php.net/manual/en/language.namespaces.faq.php#language.namespaces.faq.qualified

OP pewnie nie zaimportował poprawnie przestrzeni nazw, do której się
odwołuje.

-- 
Borys Pogoreło
borys(#)leszno,edu,pl
Re: namespaces, autoload i composer
#232260
Author: Rafal Podsiadly
Date: Fri, 12 Apr 2019 18:26
19 lines
2042 bytes
W dniu wtorek, 2 kwietnia 2019 11:46:45 UTC+2 użytkownik Borys Pogoreło napisał:
> Dnia Mon, 1 Apr 2019 21:53:51 -0700 (PDT), Rafal Podsiadly napisał(a):
> 
> >> Gdzie popełniam błąd?
> >>
> > Funkcje muszą być metodami w class
> 
> Nie muszą, przestrzenie nazw dotyczą też funkcji i stałych
> 
> https://www.php.net/manual/en/language.namespaces.faq.php#language.namespaces.faq.qualified
> 
> OP pewnie nie zaimportował poprawnie przestrzeni nazw, do której się
> odwołuje.
> 
> -- 
> Borys Pogoreło
> borys(#)leszno,edu,pl

Dzięki nie wiedziałem :)
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads