Qualcuno conosce una libreria di pacchetti manager per PHP (come ad esempio apt o yum per distro linux) apart di PEAR? Sto lavorando a un sistema che dovrebbe includere un sistema di gestione dei pacchetti per la gestione dei moduli. Sono riuscito a ottenere una soluzione funzionante utilizzando PEAR, ma l'utilizzo del client PEAR per scopi diversi dalla gestione di un'installazione PEAR non è la soluzione ottimale in quanto non è progettato per questo. Dovrei modificarlo/estenderlo (ad es. Per implementare azioni su installazione/aggiornamento o spostare file specifici PEAR come file di lock dalla root di sistema) e specialmente il codice CLI client è piuttosto disordinato e PHP4. Così forse qualcuno ha qualche suggerimentoGestore pacchetti PHP
- per una libreria alternativa client PEAR, che è facile da usare ed estendere (lato server ha alcune implementazioni come Pirum e pearhub)
- per completamente diversi sistemi di gestione dei pacchetti scritti in PHP (tra cui idealmente la gestione delle dipendenze e diversi canali)
- per alcune idee generali come implementare un sistema di PM (sì, sto ancora armeggiare con l'idea di attuare un tale sistema da zero)
lo so quel grande sistema ems come Magento e symfony usano PEAR per il loro PM. Magento usa una versione compromessa del client PEAR originale (che vorrei evitare), l'implementazione di symfony sembra abbastanza integrata con il framework, ma sarebbe un buon punto di partenza per scrivere almeno il client da zero. Ad ogni modo, se qualcuno ha dei suggerimenti: per favore :)
Non ti consiglio di scrivere un gestore di pacchetti tu stesso, a meno che non sia per scopi di apprendimento. Ad esempio, la gestione delle dipendenze non è così facile da ottenere. – Artefacto
Tienici aggiornati se trovi qualcosa di interessante o in realtà inizia un nuovo progetto! ;) A proposito, ultimamente ho visto una domanda per "gnope" (vedi sourceforge). Non testato, ma sembrava essere un programma di installazione di pacchetti grafico, probabilmente correlato PEAR ma con pacchetti rilocabili. Ma non l'ho verificato davvero. – mario
Oltre ai suggerimenti di seguito, ho dato un'occhiata all'implementazione di symfony di un programma di installazione PEAR, che è un insieme di classi che estendono le originali PEAR. Sembra abbastanza semplice scrivere un'implementazione del proprio cliente in cima alla libreria. – maff