Nuevas clases y funciones para FacturaScripts 2023

carlos carlos Noticias Fecha de creación: 10-03-2023 12:13:30 Última actualización: 13-03-2023 Equipo: DEVELOPMENT Contador de visitas: 2511

FacturaScripts 2023 va a ser una versión de transición donde reemplazaremos muchas clases y funciones para seguir con la evolución que necesita el proyecto. Necesitamos simplificar el desarrollo para atraer a más programadores, al tiempo que resolvemos viejos problemas de diseño.

Uno de los primeros cambios, como ya comentamos anteriormente, será elevar los requisitos a PHP 7.3, así como forzar los tipos de retorno de las funciones getPageData() y getModelClassName() de los controladores.

Otros cambios ya listos en la rama master y preparados para lanzar en la siguiente actualización son:

Nueva clase para administrar Plugins

La clase Core/Plugins es la nueva encargada de administrar los plugins: instalarlos, activarlos, desactivarlos y eliminarlos. Respecto a la versión anterior, esta nueva clase tiene la siguientes ventajas:

  • Soluciona los problemas de prioridades de plugins de la versión anterior.
  • Ejecuta el Init::update() de los plugins después de recargar, solucionando así los problemas que nos podemos encontrar si en el update() queremos usar clases que personaliza el propio plugin.
  • Incluye su correspondiente test unitario.

También incluye funciones interesantes para el desarrollo de plugins como la de comprobar fácilmente si otro plugin está activado, incluso qué versión:

Plugins::isEnabled('Backup'); // devuelve true si el plugin Backup está activado

$plugin = Plugins::get('Backup'); // devuelve un objeto de tipo Core/Internal/Plugin con las propiedades del plugin
echo $plugin->version; // imprime la versión

Novedades para el archivo facturascripts.ini

Si tu plugin requiere para su funcionamiento de alguna extensión de PHP, con esta nueva clase puedes indicarlo en el archivo facturascripts.ini del plugin, usando el parámetro require_php.

name = 'MiPlugin'
description = 'Mi plugin'
version = 1
min_version = 2022
min_php = 7.4
require_php = 'mcrypt'

En este ejemplo hemos puesto como requisito PHP 7.4 o superior y con la extensión mcrypt activada. Si necesitas más de una extensión, puedes separarlas por comas:

require_php = 'mcrypt,soap'

Nuevo cliente Http para descargas y conectar con APIs

También en esta versión tenemos la nueva clase Core/Http, con la que podemos hacer consultas a webs en una sola línea:

$list = Http::get('https://facturascripts.com/PluginInfoList')->body(); // texto plano
$json = Http::get('https://facturascripts.com/PluginInfoList')->json(false); // en formato json
$array = Http::get('https://facturascripts.com/PluginInfoList')->json(); // json convertido en array

La misma clase se puede utilizar para conectar con una API, como por ejemplo la de FacturaScripts:

// obtenemos el listado de productos de la API
$products = Http::get('https://ruta-donde-este-facturascripts/api/3/productos')->setToken('clave-de-api')->json();

Cambios en Core/Base

Todas las clases de Core/Base serán reemplazadas poco a poco a lo largo del año por las nuevas versiones en Core o Core/Template. Puedes ver la lista prevista de cambios en el roadmap de 2023.

Cambios necesarios en los plugins

Como siempre la lista completa de cambios necesarios en los plugins se irá detallando en la sección de migración de plugins antiguos.

Índice


Amplía tus conocimientos con los cursos oficiales

Curso de usuario

Con este curso aprenderás a gestionar el día a día de tu negocio con FacturaScripts: hacer facturas, albaranes, pedidos, presupuestos, gestionar clientes, proveedores, tarifas, usuarios, además de usar el informe de impuestos. ¿A quién va dirigido? A cualquier usuario que quiera aprender rápidamente el manejo diario del programa.

400 0,00 €
Curso básico de PHP

¡Aprende a programar en PHP de manera fácil y divertida con nuestro curso básico! En este curso, te enseñaremos los conceptos fundamentales de la programación en PHP, incluyendo la sintaxis básica, el manejo de variables, estructuras de control de flujo y mucho más. Al terminar estarás listo para comenzar con el curso de creación de plugins para FacturaScripts.

63 5,99 €

Patrocinadores

Estas empresas y profesionales apoyan económicamente FacturaScripts y nos ayudan a dedicar más tiempo al desarrollo, las pruebas y la documentación.

ORO
PLATA
BRONCE
PRO
mililitrosdeperfume_lao
mililitrosdeperfume_lao
eduardo_12367
eduardo_12367
miguel.garcia_l25
miguel.garcia_l25
carlos
carlos
daniel89fg
daniel89fg
yopli2000_5
yopli2000_5
adelantia_8n
adelantia_8n
davidpujantelopez_mrf
davidpujantelopez_mrf
luis_12743
luis_12743
info-con_12812
info-con_12812
gestion_kw4
gestion_kw4
juan_pil
juan_pil
mariano_6807
mariano_6807
juancarlos_ptr
juancarlos_ptr
smartcuines_1378
smartcuines_1378
almondgroup1984_pjc
almondgroup1984_pjc
samleevoid_n58
samleevoid_n58
esteban
esteban
galonso_12031
galonso_12031
sevsatv_qo5
sevsatv_qo5
rubenmartimaza_qo4
rubenmartimaza_qo4
mariopablobarron_psq
mariopablobarron_psq
javietglez86_qoa
javietglez86_qoa
drus_9012
drus_9012
zasahora_qof
zasahora_qof
xecron_2176
xecron_2176
mistbookapp_qoh
mistbookapp_qoh
gaston.pechieu_6301
gaston.pechieu_6301
angelroldancordoba_qoq
angelroldancordoba_qoq
mcreparacionesymantenimientos_qow
mcreparacionesymantenimientos_qow
enya_qoz
enya_qoz
cruzmorenob_qp6
cruzmorenob_qp6
kateto2002_obv
kateto2002_obv
ricard.teba_qpe
ricard.teba_qpe
robertorama.gal_qi2
robertorama.gal_qi2
rubente14_qpa
rubente14_qpa
marcosclapes_qpr
marcosclapes_qpr
monthersan_20181
monthersan_20181
david.luque_pw1
david.luque_pw1
stefan.yoshovski_qpz
stefan.yoshovski_qpz
luis.saport_qpx
luis.saport_qpx
alihopeyourlove_pif
alihopeyourlove_pif
anandalor_qq6
anandalor_qq6
pielnaturacosmetica_mgo
pielnaturacosmetica_mgo
lluis_qiv
lluis_qiv
kevin._alex_ikc
kevin._alex_ikc
ahs.toscali_k1j
ahs.toscali_k1j
andres_k12
andres_k12
eneug2017elpozo_qqd
eneug2017elpozo_qqd
domingofernandez.dff_qqe
domingofernandez.dff_qqe
itacadigital_42c
itacadigital_42c
metalid.official_qeg
metalid.official_qeg
andreupear_qqk
andreupear_qqk
jesusgarcialopez1_qji
jesusgarcialopez1_qji
octaviodelineante_22415
octaviodelineante_22415
nimbi_journal3d_qr7
nimbi_journal3d_qr7
pablosateca_qr9
pablosateca_qr9
miestecodex_lvm
miestecodex_lvm
davids_qri
davids_qri
esvabavet_qrj
esvabavet_qrj
f1caroficina_qrm
f1caroficina_qrm
piensanet_21047
piensanet_21047
agujaycalma_qop
agujaycalma_qop
administracion_13337
administracion_13337
norteseo_ko2
norteseo_ko2
sitges_qmp
sitges_qmp
soporte_qrz
soporte_qrz
administracion_q4m
administracion_q4m
patitaslimpias2025_qs7
patitaslimpias2025_qs7
ancurte_1489
ancurte_1489
makeflow360_qrr
makeflow360_qrr
redsion_qs0
redsion_qs0
javi431_qsh
javi431_qsh
sosaarnaboldijuancarlos_ocx
sosaarnaboldijuancarlos_ocx
info.aeiinstitute_qsl
info.aeiinstitute_qsl
pivicdata_q89
pivicdata_q89
informaticaasgaya_qst
informaticaasgaya_qst
informestecnicosjardin_qtc
informestecnicosjardin_qtc
no-reply_qtd
no-reply_qtd
fastudo_r_qrh
fastudo_r_qrh
pintoleidy246_qts
pintoleidy246_qts
calderonpeedro_qtv
calderonpeedro_qtv
simon.isern_o5h
simon.isern_o5h
carlos_qt8
carlos_qt8
jordi.cabanes.costa_qu2
jordi.cabanes.costa_qu2
sebastiansobral_qu5
sebastiansobral_qu5
pastoracalero.m_qsg
pastoracalero.m_qsg
ramon1969_qu6
ramon1969_qu6
carteleramusicales_qub
carteleramusicales_qub
13gradosvigo_qan
13gradosvigo_qan
carlos.arturo.blandon.jaramillo_qud
carlos.arturo.blandon.jaramillo_qud
gruposatibiza_pse
gruposatibiza_pse
chiptuner_que
chiptuner_que
carlosmorenogil_16533
carlosmorenogil_16533
juan_nyw
juan_nyw
rigosalvadorez_qum
rigosalvadorez_qum
dvdhellin_ncv
dvdhellin_ncv
valdecrc_qtg
valdecrc_qtg
movilquickbenidorm_4112
movilquickbenidorm_4112
00ilauraa_quv
00ilauraa_quv
manitasourense_quy
manitasourense_quy
zaszeszis_qv5
zaszeszis_qv5
josejcarmonasr_qu8
josejcarmonasr_qu8
germandiazgarcia63_qvm
germandiazgarcia63_qvm

Si quieres impulsar nuevas mejoras y ayudar a que el proyecto siga creciendo, conviértete en patrocinador y forma parte de quienes lo hacen posible.

Patrocinar

Cookies
Usamos cookies necesarias para el funcionamiento del sitio y cookies opcionales para recordar tus preferencias y mejorar tu experiencia. Puedes aceptarlas todas, rechazarlas o configurar tus preferencias

Soporte