L'obiettivo è quello di testare le possibilità di sviluppo usando gli agenti copilot su github e nello spcifico:
- se sono in grado di sviluppare codice che deve interagire con una base di dati
- È in grado e gestisce molto bene la creazione di migrations
- se sono in grado di sviluppare codice basandosi sull'uso di un framework es. Codeigniter
- se sono in grado di sviluppare codice su un framework e su altre classi installate, tipo Grocery
- se sono in grado di sviluppare codice su Wordpress
- Far realizzare all'agente un sistema crud elementare per gestire una rubrica telefonica collegandola ad un database mysql, facendogli creare anche delle migrations e dei seeds.
- Far installare un framework come Codeigniter.
- In locale userei composer: è utilizzabile anche su github?
- viene creata la cartella vendor?
- Se non viene creata testare il caricamento sul repositori di un progetto che contiene già la cartella vendor con le dipendency
- Far creare usando Codeginiter e il suo sistema MVC e routing il sistema CRUD per la rubrica telefonica, facendogli creare migrations e seeds
- Fare lo stesso test usando COdeigniter e Grocery, installandolo a seconda delle risposte avute al punto 2
- A seconda degli step precedenti, fare un test con Wordpress
Implementazione CRUD della rubrica telefonica in PHP puro con PDO.
index.php— lista contatticreate.php/edit.php/delete.php— CRUD contattiaziende.php/create_azienda.php/edit_azienda.php/delete_azienda.php— CRUD aziendedb.php/config.php— connessione al database (PDO, singleton)style.css— foglio di stilerubrica.sql— schema completo del databasemigration_add_*.sql— migrazioni incrementali
Stessa rubrica telefonica reimplementata con CodeIgniter 4 (MVC, routing, migrations, seeds).
cd rubrica-ci4
composer install
cp .env.example .env # oppure modifica .env
# Configura database in .env:
# database.default.hostname = localhost
# database.default.database = rubrica
# database.default.username = root
# database.default.password = <password>
php spark migrate
php spark db:seed MainSeeder
php spark serveapp/Controllers/Contatti.php— CRUD contattiapp/Controllers/Aziende.php— CRUD aziendeapp/Models/ContattoModel.php— modello contatti (con helper per tag)app/Models/AziendaModel.php— modello aziendeapp/Models/TagModel.php— modello tagapp/Views/contatti/— viste CRUD contattiapp/Views/aziende/— viste CRUD aziendeapp/Views/layouts/main.php— layout base CI4app/Database/Migrations/— migrazioni CI4app/Database/Seeds/— seeds CI4app/Config/Routes.php— definizione URL routingpublic/css/style.css— foglio di stile
| Metodo | URL | Azione |
|---|---|---|
| GET | / |
Lista contatti |
| GET | /contatti |
Lista contatti |
| GET/POST | /contatti/create |
Nuovo contatto |
| GET/POST | /contatti/edit/{id} |
Modifica contatto |
| GET/POST | /contatti/delete/{id} |
Elimina contatto |
| GET | /aziende |
Lista aziende |
| GET/POST | /aziende/create |
Nuova azienda |
| GET/POST | /aziende/edit/{id} |
Modifica azienda |
| GET/POST | /aziende/delete/{id} |
Elimina azienda |