Aktywne Wpisy
kodecss +231
#zalesie #pracbaza #januszebiznesu
Jest dzisiaj taki zajeb w robocie, że nie mogłem zjeść śniadania.
O 14:00 poinformowałem szefa, że muszę sobie zrobić przerwe i coś zjeść.
"Wytrzymasz 2 godziny bez jedzenia, jak ci nie pasuje to się zwolnij"
Zobaczymy minę szefa jak o 16:00 dostanie moje wypowiedzenie
Są 3 warianty:
- ma to w #!$%@? i mnie #!$%@?
- da mi podwyżkę
- powie, że był w nerwach i tylko żartował, przeprosi,
Jest dzisiaj taki zajeb w robocie, że nie mogłem zjeść śniadania.
O 14:00 poinformowałem szefa, że muszę sobie zrobić przerwe i coś zjeść.
"Wytrzymasz 2 godziny bez jedzenia, jak ci nie pasuje to się zwolnij"
Zobaczymy minę szefa jak o 16:00 dostanie moje wypowiedzenie
Są 3 warianty:
- ma to w #!$%@? i mnie #!$%@?
- da mi podwyżkę
- powie, że był w nerwach i tylko żartował, przeprosi,
Jonn +73
Planuję tą plamę zeszlifować. Mam taką fajną szlifiereczkę akumulatorową. Delikatnie, nie za głęboko żeby drzewa nie uszkodzić. Ewentualnie zamalować. Zmienię tylko maryjce te mongolskie rysy. Co mi grozi oprócz pozbawienia życia przez obrońców drzewa? Jest na to jakiś paragraf? Kościół się od tego odcina. #prawo #bekazkatoli
#php #programowanie #informatyka #programista
Tak to mogę Ci jedynie napisać do samo, co jest napisane w tysiącu miejsc w necie, a nie o to chodzi przecież.
W PHP namespace wygladało by to tak:
php
namespace Zabrze;
class Marysia { /* .. */}
@Passer93: czyli
$var = new Zabrze\Marysia;
tak? i to importuje całą klasę? jak to wygląda z funkcjami itp.?
@zakopiak: ja
$var = new Zabrze\Marysia;
to po prostu utworzenie obiektu w pamięci i przypisanie go do zmiennej $var przez referencje. Nie za bardzo wiem co rozumiesz przez "import całej klasy".Dla funkcji namespace działają identycznie, możesz o nich myśleć jak o części nazwy/identyfikatora. Cała nazwa to "Zabrze\Marysia" albo "Zabrzy\funkcja1()" i przestrzeń nazw jest po prostu jej częścią.
generalnie trzeba napisać w bólach kilka tyś lini kodu z namespaceami, napotkać i rozwiązać kilkaset problemów z użyciem dokumentacji. Tak jak w nauce matematyki, jeszcze nikt się nie nauczył ucząc się z gotowych rozwiązań, matematyki uczy się mając zadania i samemu dochodząc do rozwiązań. Ewentualnie pytając o jakiś konkretny road block którego się nie rozumie.
Po pytaniu o
import
klasy. Nie mieszasz autoloadingu z samym konceptem namespaców?$var = new Zabrze\Marysia
To Ci tworzy obiekt klasy, a nie jakiś import. Pokaż swój kod i co chciałeś zrobić.
@Vinniczek: już nie mam
Pomyśl o tym trochę inaczej.
Namespace, to część nazwy klasy. Nazwa klasy z namespacem to tzw. "full qualified (class) name". Można się też spotkać ze skrótami FQN lub FQCN.
Także pisząc
Zabrze\Marysia
odnosisz się do tej klasy pod tym namespacem i tyle. Nie myśl o żadnym importowaniu.Jeśli z kolei zrobisz
use Zabrze\Marysia
$var = new Marysia();
Bo będzie to
src
) masz prefix (najczęściej jakaś nazwa vendora, lub vendora + nazwy paczki), i wtedy wsrc
masz pliki z klasami fizycznie poukładane zgodnie z nazwami namespace'ów ( z pominięciem prefixa).Dalej w composer.json wpisujesz sobie odopwiednią konfigurację (jedna linia dla całego folderu), wskazującą jakis prefix namespace'a (np.
\Vendor\SomeProject
@kam1ll: Zdecydowanie. ( ͡° ͜ʖ ͡°)
Używanie samej nazwy klasy (bez próby utworzenia jej instancji), nie da Ci błędu.
Także jak zrobisz:
use Klasa\Której\Nie\Ma;
To nic złego się nie dzieje, bo to tylko informacja "składniowa", że "uwaga jeśli użyję klasy "Ma
", to mam na myśli tę klasę". Ale dopóki jej faktycznie nie użyjesz, to nie będzie błędu, bo autoloading ma miejsce dopiero, gdy faktycznie używasz tej klasy, tj.Tak bardziej serio, to "profesjonalnie" to robi się to tak, że proces deploy'u obejmuje również etap budowania projektu. Tak samo pewnie nie masz na hostingu innych narzędzi, jak np. Node.js, npm itp do budowania LESS/SCSS, czy innych JSów. Dlatego możesz robić to lokalnie i uploadować "gotowy produkcyjnie" projekt. Sa oczywiście również narzędzia do automatyzacji procesu wdrażania, ale to już inny
@kam1ll: to tworzy obiekt danej klasy, jakie metody dodasz do tej klasy i ustawisz ich widoczność jako publiczne tak takie będziesz miał dostępne z tego kontekstu
do tego samo out of box się nie załaduje - potrzebny ci jeszcze autoloader, najlepiej skorzystać tego z composera
A i nie potrzebujesz hostingu aby odpalać phpa, możesz to robić lokalnie :)
@zakopiak
@kam1ll: Tak, Composer ściąga zależności i tworzy autoloadery. Wszystko co potrzebne wrzuca do katalogu vendor, także to jego musisz również wrzucić na hosting.
Warto zapoznać się z optymalizacją autoloaderów na potrzeby produkcji.
https://getcomposer.org/doc/articles/autoloader-optimization.md