diff --git a/language/predefined/attributes/nodiscard.xml b/language/predefined/attributes/nodiscard.xml
new file mode 100644
index 00000000..0d6d0cf1
--- /dev/null
+++ b/language/predefined/attributes/nodiscard.xml
@@ -0,0 +1,179 @@
+
+
+
+ Atrybut NoDiscard
+ NoDiscard
+
+
+
+
+ &reftitle.intro;
+
+ Ten atrybut może być użyty do wskazania, że wartość zwracana przez funkcję
+ lub metodę nie powinna być odrzucana. Jeśli wartość zwracana nie zostanie
+ w żaden sposób wykorzystana, zostanie wyemitowane ostrzeżenie.
+
+
+ Jest to przydatne w przypadku funkcji, w których niesprawdzenie wartości
+ zwracanej prawdopodobnie jest błędem.
+
+
+ Aby celowo odrzucić wartość zwracaną takiej funkcji, należy użyć rzutowania
+ (void) w celu wyciszenia ostrzeżenia.
+
+
+
+ Ponieważ atrybuty są zaprojektowane tak, aby były wstecznie kompatybilne,
+ #[\NoDiscard] może być dodany do funkcji i metod nawet gdy
+ obsługiwane jest PHP 8.4 lub niższe — po prostu nic nie zrobi.
+ W PHP 8.5 i nowszych zostanie wyemitowane ostrzeżenie, jeśli wynik nie
+ zostanie wykorzystany. Aby wyciszyć ostrzeżenie bez użycia
+ (void), które nie jest obsługiwane przed PHP 8.5,
+ rozważ użycie zmiennej takiej jak $_.
+
+
+
+
+
+ &reftitle.classsynopsis;
+
+
+
+ final
+ NoDiscard
+
+
+ &Properties;
+
+ public
+ readonly
+ stringnull
+ message
+
+
+ &Methods;
+
+
+
+
+
+
+
+
+ &reftitle.properties;
+
+
+ message
+
+
+ Opcjonalna wiadomość wyjaśniająca, dlaczego wartość zwracana nie powinna
+ być odrzucana.
+
+
+
+
+
+
+
+ &reftitle.examples;
+
+ Podstawowe użycie
+
+ $items
+ * @return array
+ */
+#[\NoDiscard("as processing might fail for individual items")]
+function bulk_process(array $items): array {
+ $results = [];
+
+ foreach ($items as $key => $item) {
+ if (\random_int(0, 9999) < 9999) {
+ // Pretend to do something useful with $item,
+ // which will succeed in 99.99% of cases.
+ echo "Processing {$item}", PHP_EOL;
+ $error = null;
+ } else {
+ $error = new \Exception("Failed to process {$item}.");
+ }
+
+ $results[$key] = $error;
+ }
+
+ return $results;
+}
+
+bulk_process($items);
+
+?>
+]]>
+
+ &example.outputs.85.similar;
+
+
+
+
+
+ Celowe odrzucenie wartości zwracanej
+
+
+]]>
+
+
+
+
+
+ &reftitle.seealso;
+
+ Przegląd atrybutów
+
+
+
+
+
+ &language.predefined.attributes.nodiscard.construct;
+
+
+
diff --git a/language/predefined/attributes/nodiscard/construct.xml b/language/predefined/attributes/nodiscard/construct.xml
new file mode 100644
index 00000000..d32efbec
--- /dev/null
+++ b/language/predefined/attributes/nodiscard/construct.xml
@@ -0,0 +1,54 @@
+
+
+
+
+
+ NoDiscard::__construct
+ Tworzy nową instancję atrybutu NoDiscard
+
+
+
+ &reftitle.description;
+
+ publicNoDiscard::__construct
+ stringnullmessage&null;
+
+
+ Tworzy nową instancję NoDiscard.
+
+
+
+
+ &reftitle.parameters;
+
+
+ message
+
+
+ Wartość właściwości message.
+
+
+
+
+
+
+
diff --git a/language/predefined/closure/getcurrent.xml b/language/predefined/closure/getcurrent.xml
new file mode 100644
index 00000000..bf9db604
--- /dev/null
+++ b/language/predefined/closure/getcurrent.xml
@@ -0,0 +1,124 @@
+
+
+
+
+
+ Closure::getCurrent
+ Zwraca aktualnie wykonywaną domknięcie
+
+
+
+ &reftitle.description;
+
+ publicstaticClosureClosure::getCurrent
+
+
+
+ Zwraca aktualnie wykonywaną domknięcie. Ta metoda jest przydatna głównie
+ do implementacji rekurencyjnych domknięć bez konieczności przechwytywania
+ referencji do zmiennej domknięcia za pomocą słowa kluczowego
+ use.
+
+
+ Ta metoda musi być wywołana z wnętrza domknięcia; wywołanie jej poza
+ kontekstem domknięcia spowoduje błąd
+ Error: Current function is not a closure.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Zwraca aktualnie wykonywaną instancję Closure.
+
+
+
+
+ &reftitle.errors;
+
+ Rzuca Error jeśli zostanie wywołana poza kontekstem
+ domknięcia.
+
+
+
+
+ &reftitle.examples;
+
+ Przykład użycia Closure::getCurrent
+
+ Użycie Closure::getCurrent do implementacji
+ rekurencyjnej funkcji Fibonacci:
+
+
+
+]]>
+
+
+
+ Porównanie z tradycyjnym podejściem
+
+ Przed PHP 8.5 implementacja rekurencyjnych domknięć wymagała przechwycenia
+ referencji do zmiennej domknięcia za pomocą słowa kluczowego
+ use:
+
+
+
+]]>
+
+
+ Podejście z Closure::getCurrent eliminuje
+ konieczność deklarowania zmiennej z referencją w klauzuli
+ use, co sprawia, że kod jest czystszy i mniej
+ podatny na błędy.
+
+
+
+
+
+
diff --git a/language/predefined/weakreference/construct.xml b/language/predefined/weakreference/construct.xml
new file mode 100644
index 00000000..b4ecd0ff
--- /dev/null
+++ b/language/predefined/weakreference/construct.xml
@@ -0,0 +1,66 @@
+
+
+
+
+
+ WeakReference::__construct
+ Konstruktor uniemożliwiający tworzenie instancji
+
+
+
+ &reftitle.description;
+
+ publicWeakReference::__construct
+
+
+
+ Ta metoda istnieje wyłącznie w celu uniemożliwienia tworzenia instancji klasy
+ WeakReference. Słabe referencje należy tworzyć za pomocą
+ metody fabrykującej WeakReference::create.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+
+
+ &reftitle.seealso;
+
+ WeakReference::create
+
+
+
+
+
diff --git a/language/predefined/weakreference/create.xml b/language/predefined/weakreference/create.xml
new file mode 100644
index 00000000..2f785bfa
--- /dev/null
+++ b/language/predefined/weakreference/create.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+ WeakReference::create
+ Tworzy nową słabą referencję
+
+
+
+ &reftitle.description;
+
+ publicstaticWeakReferenceWeakReference::create
+ objectobject
+
+
+ Tworzy nową instancję WeakReference.
+
+
+
+
+ &reftitle.parameters;
+
+
+ object
+
+
+ Obiekt, do którego ma być utworzona słaba referencja.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Zwraca nową instancję WeakReference lub istniejącą
+ instancję, jeśli słaba referencja do tego samego obiektu już istnieje.
+
+
+
+
+
diff --git a/language/predefined/weakreference/get.xml b/language/predefined/weakreference/get.xml
new file mode 100644
index 00000000..c651d46a
--- /dev/null
+++ b/language/predefined/weakreference/get.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+ WeakReference::get
+ Pobiera obiekt ze słabą referencją
+
+
+
+ &reftitle.description;
+
+ publicobjectnullWeakReference::get
+
+
+
+ Pobiera obiekt ze słabą referencją.
+ Jeśli obiekt został już zniszczony, zwracane jest &null;.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Zwraca obiekt wskazywany przez referencję (&object;) lub &null;, jeśli
+ obiekt został zniszczony.
+
+
+
+
+