Buscar..


Una aplicación muy simple de Hello World.

A partir de una nueva instalación de Codeigniter 3, aquí hay una manera simple de comenzar con una aplicación Hello World, para romper el hielo con este marco sólido de PHP.

Para ello, puede comenzar a crear la vista que queremos que se muestre para nuestra aplicación Hello World.

Vamos a ponerlo en tu carpeta de aplicación, aquí:

En hello_world.php ( /application/views/ )

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Hello World</title>
</head>
<body>

    <h1>Hello World!</h1>

</body>
</html>

Es solo un simple contenido HTML.

Ahora, para poder mostrar esta vista, necesitamos un controlador . El controlador es el que recordará la vista para que se muestre su contenido.

Para que funcione correctamente, el controlador debe ir a la carpeta de controladores adecuada.

Aquí es donde vamos a colocar nuestro controlador Hello World:

/application/controllers/Hello_world.php

(El nombre del controlador generalmente es snake_case con la primera letra en mayúscula)

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Hello_world extends CI_Controller {

    public function __construct()
    {
    parent::__construct();
    }

    public function index(){
        $this->load->view('hello_world');
    }

}

La función predeterminada para un controlador es la función de índice.

Ahora podrá ver el contenido de su página Hello World accediendo a la siguiente dirección:

http://[your_domain_name]/index.php/hello_world

o, en caso de que haya aplicado la solución utilizando .htaccess (vuelva a la página de instalación de la solución)

http://[your_domain_name]/hello_world

(Si está trabajando localmente, lo más probable es que la dirección donde encontrará su página sea: http://localhost/hello_world )

La URL realmente se forma llamando a su clase de controlador (en este caso Hello_world , pero usando todas las minúsculas en la URL). En este caso es suficiente, ya que utilizamos la función de índice. Si hubiéramos usado un nombre de función diferente (digamos greetings ), deberíamos haber usado una URL como esta:

http://[your_domain_name]/hello_world/greetings

Que está estructurado como /[controller_name]/[method_name]

¡Aqui tienes! ¡Tu primera aplicación Codeigniter está funcionando!

Vamos a usar el controlador un poco más

Ahora vamos a probar un ejemplo un poco más complejo, utilizando las capacidades del controlador para completar la vista.

Aquí está nuestra opinión: /application/views/hello_world.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Hello World</title>
</head>
<body>

<h1><?php echo $greetings;?></h1>

</body>
</html>

Ahora tenemos un marcador de posición para mostrar nuestros saludos.

Aquí es cómo cambiamos el controlador para que esto funcione:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Hello_world extends CI_Controller {
    
    public function __construct() {
        parent::__construct();
    }

    public function greetings(){
        $data = array('greetings'=>'Hello World');
        $this->load->view('hello_world',$data);
    }
}

La matriz $data se prepara con la información que se inyectará en la vista, utilizando la misma etiqueta ( greetings ) que se ha recuperado dentro de la vista.

El resultado final es el mismo que con el primer ejemplo, ¡pero ahora estamos usando más potencial del marco!

Vamos a elegir nuestros saludos: ¿Hola Mundo o Adiós Mundo o ...?

Digamos que queremos tener un saludo alternativo que sea accesible a través de una URL diferente. Podríamos crear una nueva función o incluso un nuevo controlador para eso, pero una buena práctica es optimizar lo que ya tenemos, para que funcione de la mejor manera.

Para hacer esto, mantendremos la misma vista que en los ejemplos anteriores, pero introduciremos un parámetro en nuestra función, para que pueda elegir entre dos saludos diferentes:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Hello_world extends CI_Controller {
    
    public function __construct() {
        parent::__construct();
    }

    public function greetings($my_greetings){
        switch($my_greetings)
        {
            case 'goodbye':
                $say = 'Good Bye World';
            break;
            case 'morning':
                $say = 'Good Morning World';
            break;
            default:
                $say = 'Hello World';
        }
        $data = array('greetings'=>$say);
        $this->load->view('hello_world',$data);
    }
}

Ahora tenemos múltiples opciones de saludos! Para poder visualizarlos, agregaremos el parámetro en la URL, de la siguiente manera:

http://[your_domain_name]/hello_world/greetings/goodbye

Esto nos mostrará el mensaje: "Good Bye World".

La estructura de la URL es la siguiente:

http://[your_domain_name]/[controller_name]/[function_name]/[parameter_1]

En este caso, para volver a nuestro viejo "Hola Mundo", basta con llamar a la antigua URL, sin parámetros:

http://localhost/hello_world/greetings

Puede agregar múltiples parámetros a su función (por ejemplo, si necesita 3 de ellos):

public function greetings($param1,$param2,$param3)

y se pueden llenar usando la url de la siguiente manera:

http://[your_domain_name]/[controller_name]/[function_name]/[param1]/[param2]/[param3]

por ejemplo, http://localhost/hello_world/greetings/goodbye/italian/red

De esta manera, se le pueden pasar los parámetros directamente desde la URL que afectará el contenido de lo que se mostrará.

Para obtener más información acerca de cómo pasar parámetros a través de la URL, ¡es posible que desee ver el tema de enrutamiento!



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow