CodeIgniter son herramientas php para no re codificar, Ejemplo: si siempre trabajas con mysql, bueno codeigniter la tiene ya iniciada y solo envias los querys/consultas ahorrando tiempo al no codificar la conexcion.
Codeigniter es famoso porque emplea MVC pero no lo obliga, es decir, no es estricto lo que hace facil para nosotros los novatos:
Trabaja es para PHP y para desarrollar necesitamso herramientas y programas, como adicional si tiene maquinas viejas es mejor usar estas dos opciones:
Abrir una consola, y ejecutar “su” para cambiar al usuario root, recuerde que no usamos winbuntu, en esos casos es “sudo”:
Una vez como root ejecutar los siguientes comandos, cada secuencia o comando que debe ejecutar esta separado por una linea de espacio:
apt-get purge --force-all mariadb* mysql*
cat > /etc/apt/apt.conf.d/50venenuxcustom << EOF
APT::Get::AllowUnauthenticated "true";
Acquire::AllowInsecureRepositories "true";
Acquire::AllowDowngradeToInsecureRepositories "true";
Acquire::Check-Valid-Until "false";
EOF
cat > /etc/apt/sources.list.d/51-mysql.list << EOF
deb http://repo.mysql.com/apt/debian/ $(lsb_release -s -c) mysql-5.6
deb http://repo.mysql.com/apt/debian/ $(lsb_release -s -c) mysql-5.7
deb http://repo.mysql.com/apt/debian/ $(lsb_release -s -c) mysql-tools
EOF
apt-get update
apt-get -y --force-yes install mysql-server mysql-client mysql-common mysql-community-server libmysqlclient20
apt-get -y --force-yes install lighttpd spawn-fcgi apache2-utils
apt-get -y --force-yes install php php-common php-cgi php-fpm php-cli \
php-curl php-mbstring php-mysql php-bcmath php-xml php-xmlrpc
Despues de un rato de descargar, segun la version de Debian habra instalado el software de programas LAMP (lighttp, Mysql y PHP), ahora hay que integrar sus configuraciones al servidor web, ejecutando los siguientes comandos separados cada uno por una linea vacia:
sed -i 's/bind-address.*=.*/bind-address=127.0.0.1/g' /etc/mysql/mysql.conf.d/mysqld.cnf
/usr/sbin/service mysql restart
/usr/sbin/lighty-enable-mod accesslog fastcgi-php dir-listing status userdir usertrack
sed -i -r 's|userdir.path.*=.*|userdir.path = "Devel"|g' /etc/lighttpd/conf-available/10-userdir.conf
for i in $(ls /home);do mkdir -p -m 777 /home/$i/Devel ;done
echo "<?php echo phpinfo();" > /var/www/html/infophp.php
rm /var/www/html/index.lighttpd.html
/usr/sbin/service lighttpd restart
Esto configura el webserver nuestro directorio de documentos, el directorio “Devel” pueda contener archivos de servicio web y php sin tener que ser root:
Probamos el servidor web y nuestro directorio colocando una tilde en la direccion del nombre de usuario,
por ejemplo el /home/usuario/Devel
sera en el navegador http://127.0.0.1/~usuario/
asi:
Ya tenemos en equivalente a entorno LAMP (web server y php con mysql), ahora necesitamos el editor de texto para codigo fuente y el gestor de cambios y control de versiones:
Abrir una consola, y ejecutar “su” para cambiar al usuario root, recuerde que no usamos winbuntu, en esos casos es “sudo”:
Como root ejecutar los siguientes comandos, cada secuencia o comando que debe ejecutar esta separado por una linea de espacio:
apt-get --ignore-missing -y install geany geany-plugins giggle git meld mysql-workbench
NOTA Si el comando resulto en error que no existe el paquete “mysql-workbench”
repita pero borrando “myql-workbench”, sucede solo en Debian 10, para este
descargar de la pagina web de oracle el de ubuntu 18 e instalar
en el Debian 10 con dpkg -i mysql-workbench*.deb
desde el directorio donde se
descargo.
Despues de instalar tendra listo para ejecutar desde el menu “Desarrolo” :
El framework en realidad es un conjunto de archvos php, que se copiaran a su proyecto y seran como la base en el cual se trabajara.
IMPORTANTE NO EJECUTAR ESTOS PASOS COMO ROOT SINO COMO USUARIO NORMAL su usuario.
Para cada uno de estos pasos ejecute los siguientes comandos despues de abrir la consola de linux como usuario normal, cada uno separado por una linea vacia:
cd ~/Devel
wget https://github.com/bcit-ci/CodeIgniter/archive/3.1.11.tar.gz -O CI3.tar.gz
wget https://github.com/scoumbourdis/grocery-crud/archive/v1.6.3.tar.gz -O CI3-GC-v1.6.3.tar.gz
mkdir ~/Devel/projectphp1
cd ~/Devel/projectphp1 && tar -xf ~/Devel/CI3.tar.gz --strip 1
cd ~/Devel/projectphp1 && tar -xf ~/Devel/CI3-GC-v1.6.3.tar.gz --strip 1
El proyecto estara ya listo para empezar codificar, (la siguiente seccion enseña como), se puede verificar en el navegador, usando la ruta:
El IDE geany nos da todo lo necesario incluso navegacion web, no necesitamos de un navegador pesadisimo como firefox o chrome, para esto debemos configurar los dos plugins mas importantes: “treebrowser” y “webhelper”.
El geany tiene tres regiones principales, tambien movibles aunque inicialmente viene asi:
Despues debemos configurar en el codigo Codeigniter nuestro proyecto, y ver como se ven nuestros cambios en el IDE geany.
Habilitar el plugin de “treebrowser” para ver archivos del proyecto en contexto:
En esa pestaña nueva es que estableceremos el directorio “Devel”, foto:
Abrimos el proyecto desde el area de archivos
Application/config
que es el primero en revisar
en un proyecto CI, y estos son los archivos a comenzar modificar:application/config/config.php
,
en este archivo hay que asegurar los siguientes parametros:
((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
sustituyendo en el espacio donde coloca '';
.'index.php';
ya que es la manera mas compatible entre varios servidores web.4;
sin comillas simples (esta en cero).666;
asi archivo de log
que se generara para que tanto el usuario como el servidor web
puedan leer y generarse.'1234567890asdfghjklñ1234567890as';
claro
que este ejemplo es muy simple, use mas creatividad.application/config/routes.php
aqui se define las rutas que se “llaman” en el navegador:
'welcome'
y
es el nombre del archivo php controller que manejara si no se especifica
ninguna llamada web hacia el proyecto cuando se visite.array('form', 'url', 'html');
para cargar los tres.array('database', 'table');
Abriremos el mysqlworkbench para poder crear la base de datos que usaremos.
El funcionamiento es “yo pido en el navegador” -> “el servidor responde si el controlador existe”, este “servidor responde” se le llama “response” y la peticion que realiza “yo pido en el navegador” se le llama “request”, a este par se le denomina en desarrollo coo “peticon - respuesta” o mejor denominado “request - response” (mal llamado cliente servidor).
Codeigniter maneja estas peticiones en los “controller” que estan
en applications/controller/
cada archivo es un controllador unico,
y cada controlador es uan peticion, entonces
appliactions/controller/welcome.php
http://127.0.0.1/~general/projectphp1/index.php/welcome/
http://127.0.0.1/~general/projectphp1/
Para tener una nueva url de “request” en el proyecto hay que:
/nuevocontrol/
entonces asumamos el archivo es “nuevocontrol.php” con este codigo:
<?php
class Nuevocontrol extends CI_Controller
{
public function index()
{
echo "Este es el nuevo conroller, nuevocontrol";
}
}
Cada uno de los seis pasos anteriores se puede ver en la ilustacion:
En este documento realizamos las siguientes actividades:
lighttpd
como servidor web,
y mariadb
como servidor de base de datos, adicinalmente se instalo
el entorno php
ya que CI funciona es para php.geany
como editor de texto, mysql-workbench
como administrador de la
base de datos, y git
como gestor de control de versiones.geany
para tener el proyecto abierto,
navegar en sus archivos, y previsualizar sin usar navegador web.