Il file ROUTERS.PHP e l’instradamento delle rotte in Codeigniter: approfondimenti

Quando i progetti crescono senza aver chiaro tutto il potenziale offerto dalla tecnologia vanno incontro all’ aumento di complessità e senza solide fondamenta e una robusta pianificazione il progetto si ingolfa e non va avanti, oppure cresce contorto con l’uso nefasto dello spaghetti code, quindi per forza bisogna ripartire dalle basi che muovono codeigniter framework. La funzionalità delle rotte in Codeigniter consiste nel semplificare l’URL e rispondere con il contenuto associato alla rotta e abbreviare l’URL complesso. Una rotta restituisce la risposta all’URL richiesto dall’utente. Semplifica l’URL associato al contenuto. Un ripassino anche sull’ URLO secondo WIKI: la locuzione Uniform Resource Locator (in acronimo URL), nella terminologia delle telecomunicazioni e dell’informatica, è una sequenza di caratteri che identifica univocamente l’indirizzo di una risorsa su una rete di computer, come ad esempio un documento, un’immagine, un video, tipicamente presente su un host server e resa accessibile a un client. È perlopiù utilizzato dai programmatori per indicare risorse web (http), risorse recuperabili tramite protocolli di trasferimento file (ftp), condivisioni remote (smb) o accessi a sistemi esterni (ssh). La risoluzione dell’URL in indirizzo IP, necessario per l’instradamento con il protocollo IP avviene tramite DNS. Gli esempi che ci competono:

http://www.yourdomain.com/main/home
http://www.yourdomain.com/main/about
http://www.yourdomain.com/main/contact
http://www.yourdomain.com/main/login
http://www.yourdomain.com/main/register

Le route vengono impostate dopo base_url o index_url con il controller e il metodo creati per il routing a una pagina specifica.

COME FUNZIONA?

Nell’URL del browser, la struttura del routing è simile a questa:

domain_name.com/Controller/Method/Parameter/

Nell’esempio di URL sopra, Il controller punta al nome del controller (classe) creato durante lo sviluppo, ovvero il controller definito nella cartella dei controller, che quindi associa il nome del controller all’URL per la risposta. Il metodo definito all’interno del controller viene richiamato e vincolato per rispondere all’URL richiesto. Il parametro per la rotta è facoltativo poiché dipende dai parametri passati durante la creazione di metodi / funzioni. È possibile chiamare diversi metodi / funzioni di classe invece di uno corrispondente all’URL, esempio:

localhost/user/delete/2

User = Controller, Delete = Method presente dentro User Controller, 2 = Parametro preso dal metodo

IMPOSTAZIONE DEI PERCORSI

Crea un nuovo controller in application / controller [il nome dovrebbe essere lo stesso elencato in routes.php in questo caso Main.php]
Crea una classe con lo stesso nome del controller e all’interno definisci un metodo per caricare una vista.


class Main extends CI_Controller
{
	public function home()
	{
		$this->load->view(‘home’);
	}
}

Infine creare una vista all’interno della cartella dell’applicazione / viste con il nome menzionato durante il caricamento all’interno del metodo del controller:

Application/views/home.php

Ecco! Hai appena creato il tuo percorso: l’esempio sopra risulterà come

localhost / index.php / main / home

index.php può essere rimosso impostando percorsi predefiniti nel file Application / config / routes.php . Se non viene trovato alcun percorso corrispondente, Codeigniter genera un’eccezione 404 Pagina non trovata.

UTILIZZO DEI PERCORSI

La creazione di applicazioni di grandi dimensioni con URL complessi, inclusi tutti i percorsi di instradamento insieme al recupero dell’ID, rende l’URL disordinato e non è affatto user-friendly, inoltre non è affatto semplice per i motori di ricerca. sulla richiesta insieme all’estensione di una pagina richiesta.

example.com/admin/user.php?q=1

Che in risposta è così complesso e lungo e per un utente non ha senso. Gli utenti dovrebbero farsi un’idea del contenuto presente nella pagina tramite il suo URL.Il modo più semplice per farlo è

example.com/admin/user/1

che ha più senso sulla pagina ad esso associata. L’utilizzo dell’URL dei percorsi diventa più pulito e aumenta l’esperienza dell’utente nel routing del web. Inoltre, il routing degli URL aiuta nella creazione di percorsi SEO friendly per raggiungere la pagina con una risposta rapida.

PERCORSI PERSONALIZZATI PER L’APPLICAZIONE:

Come abbiamo appreso come funzionano le rotte in Codeigniter. Creiamo ora alcuni URL personalizzati per la nostra applicazione in modo da poterli implementare nei nostri progetti nel mondo reale. Implementeremo percorsi in una piccola app blog in cui possiamo creare, aggiornare, eliminare e vedere le visualizzazioni del blog in base a percorsi diversi nell’URL. Affinché ogni funzione funzioni, il controller sarà lo stesso, ovvero il blog ei metodi all’interno sono diversi. La struttura di lavoro di questo instradamento funzionerà in modo simile a quanto mostrato di seguito:

/blog : shows the list of all blogs
/blog/create : shows create view for creating a blog
/blog/update/id : shows the update view with specific id
/blog/delete/id : shows the delete view with specific id

L’URL sopra funzionerà sui seguenti metodi chiamati all’interno del controller:

/blog = index method
/blog/create = create method
/blog/update = update method
/blog/delete = delete method

Prima di creare un controller e visualizzare la struttura di cui sopra per funzionare. L’URL personalizzato deve essere impostato creando percorsi per il progetto. Apri application / config / route.php Aggiungi righe specifiche omettendo quella predefinita.

$route[‘default_controller’] = ‘welcome’;
$route[‘blog’] = ‘blog’;
$route[‘blog/create’] = ‘blog/create’;
$route[‘blog/update/:id’] = ‘blog/update’;
$route[‘blog/delete/:id’] = ‘blog/delete’;

Le linee a destra del segno di uguale sono i controller e il controller che punta al metodo che stanno chiamando e le linee a sinistra del segno di uguale definiscono il percorso verso cui sta andando o l’URL che viene mostrato.Pertanto, nel nostro scenario:

$route[‘blog’] = ‘blog’; Mostra la rotta del blog che punta al controller del blog che chiama il metodo index all’interno del controller.
$route[‘blog/create’] = ‘blog/create’; Mostra il percorso blog / create che punta il controller del blog per chiamare il metodo create.
$route[‘blog/update/:id] = ‘blog/update; Mostra il percorso blog / update / {id} che punta il controller del blog per chiamare il metodo di aggiornamento.
$route[‘blog/delete/:id] = ‘blog/delete; Mostra il percorso blog / delete / {id} che punta il controller del blog per chiamare il metodo di eliminazione

Dopo che tutte le rotte sono state impostate, crea un controller per il blog che risponderà alle rotte specificate sopra. All’interno dell’applicazione / controller crea un nuovo file Blog.php e il seguente codice:

<?php
	class Blog extends CI_Controller
	{
	  public function __construct()
		{
		parent::__construct();
		$this->load->helper(‘url’);
		}
		public function index()
		{
		$this->load->view(‘index’);
		}
		public function create()
		{
		$this->load->view(‘create’);
		}
		public function update($id)
		{
		$this->load->view(‘update’);
		}
		public function delete($id)
		{
		$this->load->view(‘delete’);
		}
	}
  ?>

Qui il controller del blog definisce tutti i metodi che abbiamo menzionato nelle rotte, ad esempio index, create, update, delete ; Ora basta creare viste per tutti i metodi specifici all’interno di applicazioni / viste /

  • index.php
  • create.php
  • update.php
  • delete.php

E STAMPI CON ECHO un messaggio personalizzato su una pagina diversa. All’interno di update.php e delete.php echo $id; per vedere l’id che passi come parametro nell’URL. Apriamo il browser per provare quanto segue

localhost/blog
localhost/blog/create
localhost/blog/update/1
localhost/blog/delete/1

Blog su WordPress.com.

Su ↑