Giorno 41 di Codeigniter: la variante Kolev per agganciare risorse esterne

web design umbria
rischio DRY, metti sempre qualcosa di nuovo nei tuoi progetti

Al giorno 41 di CI Framework qualcuno potrebbe aspettarsi un cedimento e invece anche se siamo assoggettati a un forsennato black friday di circostanza siamo ancora propositivi allo sviluppo web senza effetti collaterali. Certo che gli scacchi stanno alla base di tutto, chi conosce le aperture sa bene che ci sono classificazioni enciclopediche, aperture di gioco aperto e gioco chiuso e semiaperto, linee di gioco che prendono il nome dei giocatori che per primi hanno sperimentato queste linee nel gioco agonistico dal vivo nei tornei! Ora facciamo un passo indietro. Quale é il problema di chi strimpella con codeigniter da 41 giorni qusi di fila? E’ quello che gli informatici chiamano rischio DRY che in inglese sta per “non ripetere te stesso”. Il problema dei progetti é che la prima volta é tutto nuovo e ci metti 25 giorni per finire dopo aver visto molti problemi e averli risolti, poi però nel secondo progetto i problemi nuovi scemano fino a quando arrivando al quarto o quinto progetto ti ritrovi come il sottoscritto ad avere delle grane quasi secondarie, del tipo come si fa a estrapolare nel modello una stringa, un numero limitato di caratteri da un campo testo o problemi di formattazione dei CSS sulla paginazione. L’approccio quindi deve essere: metti sempre qualche elemento nuovo inedito nei tuoi nuovi lavori, in modo da evitare una ripetizione meccanica in stile copia e incolla per far funzionare il tutto. Per esempio nel progetto di recupero e di restauro di http://umbriawayformazione.altervista.org/ci_project_chess/index.php/chess/oldproject ho inserito come novità un motore di ricerca più evoluto che pesca su tutti i campi della tabella per cercare i dati e nel nuovo che ho intenzione di completare prossimamente http://umbriawayformazione.altervista.org/ci_project_aforismi/ ho implementato una nuova soluzione di aggancio per le risorse esterne che prende il nome di VARIANTE KOLEV che nel corso UDEMY spiega come linkare oggetti esterni usando la tecnica inedita per me degli array associativi. Quindi come sviluppatori abbiamo il dovere di rispettare l’approccio DRY ossia non solo quello di evitare che i progetti siano tutti uguali (DRY nello specifico é riferito al fatto che le stesse porzioni di codice se é possibile é meglio utilizzarle una volta sola, pensiamo ad esempiuo alle inclusioni in generale della pagina per esempio), ma che al loro interno presentino degli elementi innovativi di comprensione che possono far crescere il proprio modo di fare sviluppo web. Ora Kolev nel corso Udemy consiglia addirittura di prendere una pagina html statica che ha al suo interno il seguente codice:

<!DOCTYPE html>
<html>
<head>
	<title>403 Forbidden</title>
</head>
<body>

<p>Directory access is forbidden.</p>

</body>
</html>

e di andare a occultare le cartelle delle risorse inserendo in ogni root una pagina UGUALE per rendere più difficile tentativi di hackeraggio dei dati, tipo gente che mette le mani sui nostri css o js. Ma al di là di questo suggerimento che comunque per rispettare l’apporccio DRY (don’t repeat yourself in ogni progetto) ho messo in atto quello che contava implementare é la seguente situazione legata al file config.php:

$config['base_url'] = 'http://nomedeltuodominio/nomedellatuasottocartella';
$config['assets'] = array (
'img' => $config['base_url'].'assets/img',
'css' => $config['base_url'].'assets/css',
'js' => $config['base_url'].'assets/js'
);

In precedenza non avevo mai utilizzato questo approccio di riorganizzazione delle cartelle interne con gli array associativi, semmai avevo agganciato il tutto seguendo i dettami dell’ articolo https://umbriawayvalorizza.wordpress.com/2020/11/14/come-risolvere-il-settaggio-configbase_url-nel-file-config-php-con-codeigniter-framework-mosse-tattiche-per-far-funzionare-il-tutto/ , qui stiamo imparando qualcosa di nuovo sugli array associativi, ossia quegli array che non hanno un indice numerico tradizionale classico ma propongono una accoppiata chiave valore che come si vede bene si esprime tramite i simboli => ora per agganciare le nostre risorse basterà andare sulal pagina principale (che nel nostro caso é http://umbriawayformazione.altervista.org/ci_project_aforismi/ e che come si nota ha tutte le risorse esterne ben visibili, altrimenti la pagina sarebbe illeggibile ) e applicare o giocare la variante Kolev magari agganciando link CSS esterni presenti dentro la nostra applicazione con questa formula:

<link rel="stylesheet" type="text/css" href="<?php echo $this->config->item('assets')['css']?>/nomecss.css">

o risorse JS sempre dentro la nostra cartella di progetto che in questo caso abbiamo chiamato assets (risorse) così:

<script src="<?php echo $this->config->item('assets')['js']?>/nometuofilejs.js"></script>

ricordiamoci che affinché tutto questo venga concretizzato nel file autoload.php dovranno essere caricate le funzioni che servono, in particolare quella chiamata URL:

$autoload['helper'] = array('url', 'form');

Fantastico! Stiamo creando progetti nuovi che però non si portano dietro soluzioni antiche ma che vogliono avere invece la pretesa di insegnarci sempre qualcosa di nuovo e quando rispettiamo l’ammonimento dell’ acronimo DRY il nostro sviluppo non può che trarne benefici!

frontend developer
attenti a non dimenticare il caricamento esterno degli helper (url)

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...