Rilasciato PIE 1.5
Il team PIE è lieto di annunciare il rilascio della serie 1.5 di PHP Installer for Extensions, alla quale abbiamo lavorato per circa cinque mesi. È stato svolto un lavoro significativo su alcuni miglioramenti interni che ci hanno permesso di offrire diverse funzionalità a lungo attese per lo strumento. Addentriamoci in alcune di queste novità!
Installare più estensioni
Ora puoi installare più estensioni contemporaneamente, ad esempio:
$ pie install php-amqp/php-amqp:^2.2 girgias/csv
Questa funzionalità è utile per configurare immagini Docker. È comunque possibile passare opzioni di configure, che verranno automaticamente filtrate nelle opzioni ./configure dell'estensione appropriata.
Introdurre selezioni di pacchetti con --select=... per installazioni non presidiate
Quando esegui pie install all'interno di un progetto PHP, nelle versioni precedenti di PIE potevi usare --allow-non-interactive-project-install per selezionare automaticamente i pacchetti per le estensioni mancanti. Tuttavia questo approccio era rischioso, poiché non c'è alcuna garanzia su quale pacchetto un'estensione mancante risolverebbe effettivamente. Per eliminare questo rischio, ora devi effettuare selezioni esplicite dei pacchetti in un'installazione non interattiva / non presidiata:
$ pie install \
--select=example_pie_extension=asgrim/example-pie-extension \
--select=redis=phpredis/phpredis
Questo ti consente di prendere decisioni consapevoli ed esplicite su quale pacchetto utilizzare per ogni estensione mancante.
Aggiornare tutte le tue estensioni PIE
$ pie upgrade
Ora è tutto ciò che serve per aggiornare automaticamente tutte le tue estensioni PIE, entro i limiti dei vincoli con cui hai installato originariamente ciascuna estensione. Ad esempio:
- installi
foo/bar:^1.1usando PIE e viene installata la versione più recente, la 1.1.5 - in seguito l'estensione
foo/barrilascia una nuova versione 1.2.0 - esegui
pie upgradeefoo/barviene aggiornata alla 1.2.0, poiché rientra nel vincolo originale^1.1. - successivamente viene rilasciata una versione completamente nuova,
foo/bar2.0.0 - quando esegui
pie upgrade,foo/barnon verrà aggiornata, poiché la 2.0.0 non rientra nel vincolo^1.1.
Un enorme aggiornamento alla libreria Attestation
Da qualche tempo PIE utilizza il framework Sigstore per verificare l'autenticità di PIE stesso. Il meccanismo principale è consistito nell'invocare lo strumento CLI gh, se disponibile, e in caso contrario ricorrere a un'implementazione di base della verifica Sigstore. Dopo molto lavoro, siamo riusciti a implementare la maggior parte della suite di test di conformità di Sigstore, raggiungendo 131 test superati, 5 saltati (poiché la libreria è di sola verifica) e 4 fallimenti attesi. Si è trattato di un'impresa enorme e riteniamo che sia l'implementazione PHP più completa della suite di verifica Sigstore. PIE ora può sfruttare questa verifica più estesa quando effettua gli aggiornamenti. Inoltre, la libreria non è più strettamente accoppiata alle attestazioni e al certificato root attendibile di GitHub, sebbene entrambi siano inclusi di default per comodità. Questa libreria open source è disponibile per tutti con licenza BSD-3-Clause, su github.com/ThePHPF/attestation.
Un riepilogo delle altre nuove funzionalità...
- L'opzione
--no-devperpie installin un progetto PHP per saltare le estensioni di sviluppo - Puoi usare
--suppress-download-url-methodper eliminare determinati metodi di URL di download, anche se l'estensione li supporta. - Un nuovo comando
pie search ...per aiutare a individuare i pacchetti che forniscono estensioni. - Puoi verificare in modo ottimistico che gli strumenti di build prerequisiti siano installati con
pie check-build-tools - Supporto per alcuni placeholder di alcune estensioni PECL che facevano affidamento su questa funzionalità
Come sempre, lo sviluppo di PIE è in corso e il team della PHP Foundation che lavora su PIE si impegna a rendere la gestione delle estensioni PHP facile come una PIE. Se hai idee o suggerimenti, unisciti a noi nelle GitHub Discussions per parlare delle tue idee. Se scopri un bug, segnalalo nel nostro GitHub Issues tracker.
Altri articoli recenti
Laravel AI 1.1 e 1.2: Agent Skills, Cohere e structured output più solidi
Le release 1.1.0 e 1.2.0 di laravel/ai portano gli Agent Skills, l'approvazione obbligatoria per i tool built-in e nuovi provider come Cohere e Laya self-hosted. Sul fronte qualità arrivano i fix allo structured output per Bedrock e il supporto alle provider options. Aggiornati anche i modelli di default, con Claude 4.7+ che ignora i sampling params.
Laravel 13.35.0: scheduler più controllabile, code più flessibili e response Markdown
Laravel 13.35.0 porta Schedule::alwaysOnOneServer(), il supporto a schedule:interrupt per i comandi di lunga durata, --memory in percentuale per queue:work e il nuovo metodo markdown() sulla response factory. Tante piccole migliorie anche a test, view compilate in parallelo e dischi local.
BashBox: un interprete Bash in sandbox per agenti AI in PHP
BashBox è un interprete bash scritto in puro PHP che permette di eseguire gli script generati dagli agenti AI senza mai ricorrere a proc_open, exec o shell_exec. Ogni comando è una classe PHP che lavora su un filesystem virtuale, con limiti di esecuzione, quote disco e accesso di rete configurabili. Ideale per chi sviluppa agenti con il Laravel AI SDK o altre librerie simili.