valor trabajo recuperacion proyecto inversionista incremental flujo ejemplo desecho depreciacion contable construccion capital caja php codeigniter

php - trabajo - ¿A dónde deben ir los activos en un proyecto de encendido de código?



recuperacion capital de trabajo flujo de caja (6)

Estoy empezando con CodeIgniter, y no estoy seguro de a dónde deberían ir cosas como css, js e imágenes. Fuera, toda la carpeta del sistema parece estar bien, pero eso significa que todo está separado. En el interior significa que los filepaths son más largos, y me preocupa que pueda estropear las cosas. ¿Cuál es la mejor práctica en este tema?


Encuentro que es mejor mantener los activos en el nivel raíz. Puede usar <?=base_url()?> hacer eco de la raíz completa del sitio. En el archivo de configuración, configura la raíz del sitio web. Esta afirmación simplemente se hace eco de eso.

Debido a esto, puede usar incluye de esta manera:

<link href="<?=base_url()?>/css/style.css" rel="stylesheet" type="text/css" />

en cualquier parte de tu código, y seguirá obteniendo http://example.com/css/style.css .


Normalmente pongo carpetas separadas en el nivel raíz, así que termino con una estructura de directorios como esta:

/system /css /js /img

Parece que funciona para mí: cuando usas site_url(url) , la URL que genera es de la raíz, por lo que puedes usar site_url(''css/file.css'') para generar URLs para tus hojas de estilo, etc.


Odio tener tantos directorios en el nivel raíz, así que uso / public y uso htaccess para reescribir / scripts en / public / scripts y demás.


base_url () / css / name.css


Para usar el helper site_url (url) de esta manera, DEBE primero configurar Apache mod_rewrite (o equivalente) para eliminar el segmento index.php del URI.

De lo contrario, el método site_url agrega index.php a la URL que probablemente arruinará las rutas de acceso a sus activos si los tiene en el directorio base como se indica más arriba.

Aquí está la documentación de CodeIgniter sobre la eliminación de index.php del URI:

http://codeigniter.com/wiki/mod_rewrite/


Personalmente, arranco el directorio de la application directorio del system y lo hago un hermano del system . Luego creo un directorio de proyecto en public_html (www) donde muevo index.php y almaceno mis activos públicos.

Supongamos que el proyecto en el que estás trabajando se llama projekt . En el directorio principal de public_html (www) cree un directorio llamado CISYSTEM , y dentro de ese directorio cree un directorio a partir de la versión que está utilizando, 202 , 210 , etc.

/CISYSTEM /202 /210 /another_CI_version /projekt_application /models /views /controllers /private_assets /public_html /projekt index.php .htaccess css img js lib

La belleza de esta estructura de directorios es que agrega otra capa de seguridad y hace que sea más fácil actualizar / intercambiar su núcleo de CI. Además, no se supone que debas realizar cambios en el núcleo: tener un solo directorio donde se almacena tu núcleo y tener todos los proyectos de referencia lo mantiene seco.

Sin embargo, toda esta reorganización de directorios requiere que reenrute algunas cosas. Afortunadamente, CodeIgniter lo hace fácil: todos los cambios se pueden realizar en el archivo index.php .

Abra index.php y redireccione un par de cosas:

Cambio: $system_path = ''system'';

Para: $system_path = ''../../CISYSTEM/210'';

Cambio: $application_folder = ''application'';

Para: $application_folder = ''../../projekt_application'';

Además, veo a mucha gente hablando de usar site_url() en las otras respuestas. Recomiendo una forma menos detallada de usar site_url() ... no tiene que llamarlo siempre si utiliza el elemento <base> de HTML:

<base href="<?= site_url();?>">

Simplemente incluya eso en el <head> su aplicación y puede llamar a sus controladores directamente ... como en:

<a href=''controllername/functionname''>Some Action</a>

Aclamaciones