@@ -20,7 +20,6 @@ Biblioteca PHP para la gestión de archivos JSON.
20
20
- [ Cómo empezar] ( #cómo-empezar )
21
21
- [ Uso] ( #uso )
22
22
- [ Tests] ( #tests )
23
- - [ Manejo de excepciones] ( #manejo-de-excepciones )
24
23
- [ Tareas pendientes] ( #☑-tareas-pendientes )
25
24
- [ Registro de cambios] ( #registro-de-cambios )
26
25
- [ Contribuir] ( #contribuir )
@@ -33,9 +32,14 @@ Biblioteca PHP para la gestión de archivos JSON.
33
32
34
33
Esta biblioteca es compatible desde la versión ** 8.0** de PHP hasta la versión ** 8.1** de PHP.
35
34
36
- Para versiones anteriores de PHP (desde la ** 5.6** hasta la ** 7.4** ) puedes utilizar la
35
+ Para seguir utilizando la versión con métodos estáticos sin las nuevas características:
36
+
37
+ - Para versiones anteriores de PHP (desde la ** 5.6** hasta la ** 7.4** ), puedes utilizar la
37
38
[ versión 1.1.9] ( https://github.com/josantonius/php-json/tree/1.1.9 ) de esta biblioteca.
38
39
40
+ - Para las versiones ** 8.0** y ** 8.1** de PHP, puedes utilizar la
41
+ [ version 1.2.0] ( https://github.com/josantonius/php-json/tree/1.2.0 ) de esta biblioteca.
42
+
39
43
## Instalación
40
44
41
45
La mejor forma de instalar esta extensión es a través de [ Composer] ( http://getcomposer.org/download/ ) .
@@ -59,68 +63,49 @@ También puedes **clonar el repositorio** completo con Git:
59
63
git clone https://github.com/josantonius/php-json.git
60
64
```
61
65
62
- O ** instalarlo manualmente** :
63
-
64
- Descargar [ Json.php] ( https://raw.githubusercontent.com/josantonius/php-json/main/src/Json.php ) ,
65
- [ JsonLastError.php] ( https://raw.githubusercontent.com/josantonius/php-json/main/src/JsonLastError.php ) y
66
- [ JsonException.php] ( https://raw.githubusercontent.com/josantonius/php-json/main/src/Exception/JsonException.php ) :
67
-
68
- ``` console
69
- wget https://raw.githubusercontent.com/josantonius/php-json/main/src/Json.php
70
- ```
71
-
72
- ``` console
73
- wget https://raw.githubusercontent.com/josantonius/php-json/main/src/JsonLastError.php
74
- ```
75
-
76
- ``` console
77
- wget https://raw.githubusercontent.com/josantonius/php-json/main/src/Exception/JsonException.php
78
- ```
79
-
80
66
## Métodos disponibles
81
67
82
68
Métodos disponibles en esta biblioteca:
83
69
84
- ### Crear archivo JSON desde array
70
+ ### Obtener el contenido del archivo JSON
85
71
86
72
``` php
87
- Json::arrayToFile($array, $file );
73
+ $json->get( );
88
74
```
89
75
90
- | Atributo | Descripción | Tipo | Requerido | Predeterminado
91
- | --- | --- | --- | --- | --- |
92
- | $array | Array a guardar en archivo JSON. | array | Sí | |
93
- | $file | Ruta hacia el archivo. | string | Sí | |
76
+ ** @throws ** _ CreateDirectoryException_ | _ CreateFileException_ | _ JsonErrorException_
94
77
95
- ** # Return** (boolean)
78
+ ** @ Return ** ` array ` - _ Contenido del archivo _
96
79
97
- ### Guardar en array el contenido de archivo JSON
80
+ ### Establecer el contenido del archivo JSON
98
81
99
82
``` php
100
- Json::fileToArray($file );
83
+ $json->set(array|object $content );
101
84
```
102
85
103
- | Atributo | Descripción | Tipo | Requerido | Predeterminado
104
- | --- | --- | --- | --- | --- |
105
- | $file | Ruta o URL externa al archivo JSON. | string | Sí | |
86
+ ** @throws ** _ CreateFileException_ | _ JsonErrorException_ | _ UnavailableMethodException_
106
87
107
- ** # Return** (array|false)
88
+ ** @ Return ** ` void `
108
89
109
- ### Comprobar si hay errores
90
+ ### Fusionar en el archivo JSON
110
91
111
92
``` php
112
- JsonLastError::check( );
93
+ $json->merge(array|object $content );
113
94
```
114
95
115
- ** # Return ** (array|null) → Null si no hay errores o array con código de estado y mensaje de error.
96
+ ** @ throws ** _ CreateFileException _ | _ GetFileException _ | _ JsonErrorException _ | _ UnavailableMethodException _
116
97
117
- ### Obtener colección de errores JSON
98
+ ** @Return ** ` array ` - _ Array resultante_
99
+
100
+ ### Incluir en el archivo JSON
118
101
119
102
``` php
120
- JsonLastError::getCollection( );
103
+ $json->push(array|object $content );
121
104
```
122
105
123
- ** # Return** (array) → Recopilación de posibles errores.
106
+ ** @throws ** _ CreateFileException_ | _ GetFileException_ | _ JsonErrorException_ | _ UnavailableMethodException_
107
+
108
+ ** @Return ** ` array ` - _ Array resultante_
124
109
125
110
## Cómo empezar
126
111
@@ -132,56 +117,94 @@ require __DIR__ . '/vendor/autoload.php';
132
117
use josantonius\Json\Json;
133
118
```
134
119
135
- Si la instalaste ** manualmente** , utiliza:
120
+ ``` php
121
+ $json = new Json('path/to/file.json');
122
+
123
+ # Si el archivo no existe, se creará.
124
+ ```
125
+
126
+ O
136
127
137
128
``` php
138
- require_once __DIR__ . '/Json.php';
139
- require_once __DIR__ . '/JsonLastError.php';
140
- require_once __DIR__ . '/JsonException.php';
129
+ $json = new Json('https://site.com/file.json');
141
130
142
- use josantonius\Json\Json;
131
+ # Cuando el archivo JSON se obtiene desde una URL, sólo estará disponible el método "get".
143
132
```
144
133
145
134
## Uso
146
135
147
136
Ejemplo de uso para esta biblioteca:
148
137
149
- ### Crear un archivo JSON desde un array
138
+ ### Obtener el contenido del archivo
150
139
151
- ``` php
152
- $array = [
153
- 'name' => 'josantonius',
154
- 'email' => 'info@josantonius.com',
155
- 'url' => 'https://github.com/josantonius/php-json'
156
- ];
140
+ ``` json
141
+ {
142
+ "foo" : " bar"
143
+ }
144
+ ```
157
145
158
- $pathfile = __DIR__ . '/filename.json';
146
+ ``` php
147
+ $json->get();
148
+ ```
159
149
160
- Json::arrayToFile($array, $pathfile);
150
+ ``` php
151
+ ['foo' => 'bar']
161
152
```
162
153
163
- ### Guardar en un array el contenido de un archivo JSON
154
+ ### Establecer el contenido del archivo
164
155
165
156
``` php
166
- $pathfile = __DIR__ . '/filename.json';
157
+ $json->set(['foo' => 'bar']);
158
+ ```
167
159
168
- $array = Json::fileToArray($pathfile);
160
+ ``` json
161
+ {
162
+ "foo" : " bar"
163
+ }
169
164
```
170
165
171
- ### Comprobar si hubo errores
166
+ ### Fusionar en el archivo
167
+
168
+ ``` json
169
+ {
170
+ "foo" : " bar"
171
+ }
172
+ ```
172
173
173
174
``` php
174
- $lastError = JsonLastError::check();
175
+ $json->merge(['bar' => 'foo']);
176
+ ```
175
177
176
- if (!is_null($lastError)) {
177
- var_dump($lastError);
178
+ ``` json
179
+ {
180
+ "foo" : " bar" ,
181
+ "bar" : " foo"
178
182
}
179
183
```
180
184
181
- ### Obtener colección con errores JSON
185
+ ### Incluir en el archivo
186
+
187
+ ``` json
188
+ [
189
+ {
190
+ "name" : " foo"
191
+ }
192
+ ]
193
+ ```
182
194
183
195
``` php
184
- $jsonLastErrorCollection = JsonLastError::getCollection();
196
+ $json->push(['name' => 'bar']);
197
+ ```
198
+
199
+ ``` json
200
+ [
201
+ {
202
+ "name" : " foo"
203
+ },
204
+ {
205
+ "name" : " bar"
206
+ }
207
+ ]
185
208
```
186
209
187
210
## Tests
@@ -227,10 +250,6 @@ Ejecutar todas las pruebas anteriores:
227
250
composer tests
228
251
```
229
252
230
- ## Manejo de excepciones
231
-
232
- Esta biblioteca utiliza [ control de excepciones] ( src/Exception ) que puedes personalizar a tu gusto.
233
-
234
253
## ☑ Tareas pendientes
235
254
236
255
- [ ] Añadir nueva funcionalidad.
@@ -254,8 +273,8 @@ _pull request_, comenzar una discusión o reportar un _issue_.
254
273
255
274
## Patrocinar
256
275
257
- Si este proyecto te ayuda a reducir el tiempo de desarrollo,
258
- [ ¡puedes patrocinarme!] ( https://github.com/josantonius/lang/es-ES/README.md#patrocinar ) :blush :
276
+ Si este proyecto te ayuda a reducir el tiempo de desarrollo y quieres agradecérmelo ,
277
+ [ ¡podrías patrocinarme!] ( https://github.com/josantonius/lang/es-ES/README.md#patrocinar ) :blush :
259
278
260
279
## Licencia
261
280
0 commit comments