@@ -64,7 +64,98 @@ git clone https://github.com/josantonius/php-cookie.git
6464
6565## Métodos disponibles
6666
67- Ver [ documentación] ( /docs/api/packages/Application.html ) generada por [ phpDocumentor] ( https://www.phpdoc.org/ ) .
67+ ### Establece las opciones de las cookies
68+
69+ ``` php
70+ /**
71+ * Opciones por defecto:
72+ *
73+ * domain: '' - Dominio para el que estará disponible la cookie.
74+ * expires: 0 - Cuándo expirará la cookie.
75+ * httpOnly: false - Si la cookie sólo estará disponible a través del protocolo HTTP.
76+ * path: '/' - Ruta para la que estará disponible la cookie.
77+ * raw: false - Si la cookie se enviará como una cadena sin procesar.
78+ * sameSite: null - Impone el uso de una política samesite laxa o estricta.
79+ * secure: false - Si la cookie sólo estará disponible a través del protocolo HTTPS.
80+ *
81+ * Estos ajustes se utilizarán para crear y eliminar cookies.
82+ */
83+
84+ $cookie = new Cookie(
85+ string $domain = '',
86+ int|string|DateTime $expires = 0,
87+ bool $httpOnly = false,
88+ string $path = '/',
89+ bool $raw = false,
90+ null|string $sameSite = null,
91+ bool $secure = false
92+ );
93+ ```
94+
95+ ** @see ** < https://www.php.net/manual/en/datetime.formats.php >
96+ para conocer los formatos de fecha y hora admitidos.
97+
98+ ** @throws ** ` CookieException ` si el valor de $sameSite es incorrecto.
99+
100+ ### Establece una cookie por nombre
101+
102+ ``` php
103+ $cookie->set(string $name, mixed $value, null|int|string|DateTime $expires = null): void;
104+ ```
105+
106+ ** @throws ** ` CookieException ` si las cabeceras ya han sido enviadas.
107+
108+ ** @throws ** ` CookieException ` si falla el análisis de la cadena de fecha/hora.
109+
110+ ### Establece varias cookies a la vez
111+
112+ Si las cookies existen se sustituyen, si no existen se crean.
113+
114+ ``` php
115+ $cookie->replace(array $data, null|int|string|DateTime $expires = null): void
116+ ```
117+
118+ ** @throws ** ` CookieException ` si las cabeceras ya han sido enviadas.
119+
120+ ### Obtiene una cookie por su nombre
121+
122+ Opcionalmente define un valor por defecto cuando la cookie no existe.
123+
124+ ``` php
125+ $cookie->get(string $name, mixed $default = null): mixed
126+ ```
127+
128+ ### Obtiene todas las cookies
129+
130+ ``` php
131+ $cookie->all(): array
132+ ```
133+
134+ ### Comprueba si existe una cookie
135+
136+ ``` php
137+ $cookie->has(string $name): bool
138+ ```
139+
140+ ### Elimina una cookie por su nombre y devuelve su valor
141+
142+ Opcionalmente define un valor por defecto cuando la cookie no existe.
143+
144+ ``` php
145+ $cookie->pull(string $name, mixed $default = null): mixed
146+ ```
147+
148+ ** @throws ** ` CookieException ` si las cabeceras ya han sido enviadas.
149+
150+ ### Borra una cookie por su nombre
151+
152+ ``` php
153+ $cookie->remove(string $name): void
154+ ```
155+
156+ ** @throws ** ` CookieException ` si las cabeceras ya han sido enviadas.
157+
158+ ** @throws ** ` CookieException ` si falla el análisis de la cadena de fecha/hora.
68159
69160## Cómo empezar
70161
@@ -87,34 +178,20 @@ $cookie = new Cookie();
87178Alternativamente puedes utilizar una fachada para acceder a los métodos estáticamente:
88179
89180``` php
90- use Josantonius\Cookie\CookieFacade as Cookie;
181+ use Josantonius\Cookie\Facades\ Cookie;
91182```
92183
93184## Usage
94185
95186Ejemplos de uso de esta biblioteca:
96187
97- ### Establece las opciones de las cookies
188+ ### - Establece las opciones de las cookies
98189
99190[ Utilizando objetos] ( #using-objects ) :
100191
101192Con opciones por defecto:
102193
103194``` php
104- /**
105- * Opciones por defecto:
106- *
107- * domain: '' - Dominio para el que estará disponible la cookie.
108- * expires: 0 - Cuándo expirará la cookie.
109- * httpOnly: false - Si es verdadero, la cookie sólo estará disponible a través del protocolo HTTP.
110- * path: '/' - Ruta para la que estará disponible la cookie.
111- * raw: false - Si es verdadero, la cookie se enviará como una cadena sin procesar.
112- * sameSite: null - Impone el uso de una política samesite laxa o estricta.
113- * secure: false - Si es verdadero, la cookie sólo estará disponible a través del protocolo HTTPS.
114- *
115- * Estos ajustes se utilizarán para crear y eliminar cookies.
116- */
117-
118195$cookie = new Cookie();
119196```
120197
@@ -141,7 +218,7 @@ Cookie::options(
141218);
142219```
143220
144- ### Establece una cookie por nombre
221+ ### - Establece una cookie por nombre
145222
146223[ Utilizando objetos] ( #using-objects ) :
147224
@@ -163,7 +240,7 @@ $cookie->set('foo', 'bar', time() + 3600);
163240Cookie::set('foo', 'bar', new DateTime('now +1 hour'));
164241```
165242
166- ### Establece varias cookies a la vez
243+ ### - Establece varias cookies a la vez
167244
168245[ Utilizando objetos] ( #using-objects ) :
169246
@@ -185,7 +262,7 @@ $cookie->replace(['foo' => 'bar', 'bar' => 'foo'], time() + 3600);
185262Cookie::replace(['foo' => 'bar', 'bar' => 'foo'], time() + 3600);
186263```
187264
188- ### Obtiene una cookie por su nombre
265+ ### - Obtiene una cookie por su nombre
189266
190267[ Utilizando objetos] ( #using-objects ) :
191268
@@ -207,7 +284,7 @@ $cookie->get('foo', false); // false si la cookie no existe
207284Cookie::get('foo', false);
208285```
209286
210- ### Obtiene todas las cookies
287+ ### - Obtiene todas las cookies
211288
212289[ Utilizando objetos] ( #using-objects ) :
213290
@@ -221,7 +298,7 @@ $cookie->all();
221298Cookie::all();
222299```
223300
224- ### Comprueba si existe una cookie
301+ ### - Comprueba si existe una cookie
225302
226303[ Utilizando objetos] ( #using-objects ) :
227304
@@ -235,7 +312,7 @@ $cookie->has('foo');
235312Cookie::has('foo');
236313```
237314
238- ### Elimina una cookie por su nombre y devuelve su valor
315+ ### - Elimina una cookie por su nombre y devuelve su valor
239316
240317[ Utilizando objetos] ( #using-objects ) :
241318
@@ -257,7 +334,7 @@ $cookie->pull('foo', false); // false si el atributo no existe
257334Cookie::pull('foo', false);
258335```
259336
260- ### Borra una cookie por su nombre
337+ ### - Borra una cookie por su nombre
261338
262339[ Utilizando objetos] ( #using-objects ) :
263340
@@ -305,13 +382,16 @@ se utilizará este en lugar del valor de **_expires_** establecido en las opcion
305382 expires: 'now +1 minute'
306383 );
307384
308- $cookie->set('foo', 'bar'); // Esta cookie expirará en 1 minuto
385+ $cookie->set('foo', 'bar'); // Esta cookie expirará en 1 minuto
309386
310- $cookie->set('bar', 'foo', 'now +8 minutes '); // Esta cookie expirará en 8 minutos
387+ $cookie->set('bar', 'foo', 'now +8 days '); // Esta cookie expirará en 8 días
311388
312- $cookie->replace(['foo' => 'bar']); // Estas cookies expirarán en 1 minuto
389+ $cookie->replace(['foo' => 'bar']); // Estas cookies expirarán en 1 minuto
313390
314- $cookie->replace(['foo' => 'bar'], time() + 3600); // Estas cookies expirarán en 1 hora
391+ $cookie->replace( // Estas cookies expirarán en 1 hora
392+ ['foo' => 'bar'],
393+ time() + 3600
394+ );
315395 ```
316396
317397- Si el parámetro **expires** pasado en las opciones es una cadena de fecha/hora,
@@ -328,7 +408,8 @@ se formateará cuando se utiliza el método `set` o `replace` y no cuando se est
328408
329409## Tests
330410
331- Para ejecutar las [pruebas](tests) necesitarás [Composer](http://getcomposer.org/download/) y seguir los siguientes pasos:
411+ Para ejecutar las [pruebas](tests) necesitarás [Composer](http://getcomposer.org/download/)
412+ y seguir los siguientes pasos:
332413
333414```console
334415git clone https://github.com/josantonius/php-cookie.git
0 commit comments