Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Estructura de carpetas

3/14
Recursos

Aportes 33

Preguntas 9

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Yo cuando no usaba frameworks, tenía mi propio código base para el sistema de cargas, conrtoladores, etc. Peor siempre me comía la duda, ¿Cómo evito que entren a mi carpeta app? Porque si alguien ponía en la URL /app podía entrar a mi carpeta.

La respuesta me llegó al usar Laravel, la carpeta public, al poner en index.php en una subcarpeta, entonces mis otras carpetas no eran accesibles y se me abrio un mundo de posibilidades jaja

Claro, luego está la reescritura de URL’s mediante htaccess xD

Sería genial también un curso de Laravel con este magnífico profesor.

que bueno haber seguido el curso de composer antes de tomar este.

<h3>Estructura de Carpetas</h3>
  1. Iniciamos el proyecto sabemos que podemos utilizar composer y su sistema de autoload así que lo integramos usando el comando composer init para crear la configuración de archivo composer.json a través de contestar unas sencillas preguntas.


  2. Configuración del autoload y files como configuración final del archivo composer.json.


  3. Una vez terminado esto ejecuto el comando Composer dump.

    Composer dump: Crea de manera automática la configuración de autocarga establecida en el archivo de composer.json. Con esta operación se crea la carpeta vendor y dentro de ella el archivo autoload.php.

Listo tenemos la autocarga lista.

💡¿Qué es la opción require y porque se encuentra vacías?

Esta opción se crea en base al comando composer require y sirve para agregar paquetes adicionales que usaremos en nuestro proyecto, al no instalar paquetes al iniciar es por ende que se encuentra vacío.

  1. Crear la estructura de carpetas necesarias para el proyecto.

Voy con todo a aprender Laravel!

Estructura

si laravel es el mejor framework ya llevo 5 años en laravel, aprendi laravel cuando estaba en la version 5.1, hoy en dia es mucho mas poderoso y organizado, de igual forma aprender los fundamentos de php entendi muchas cosas tambien.

Llevo muchos años con mala practica de programacion php y este curso de framework siento que me va ayudar muchisimo. ya con solo ver esto de las estructuras de carpetas me ha encantado

La estructura de carpetas que vamos a desarrollar es:

        |-- app
        |   |-- Http
        |   |   |-- Controllers
        |   |   |   |-- ContactController.php
        |   |   |   `-- HomeController.php
        |   |   |-- Request.php
        |   |   `-- Response.php
        |   `-- helpers.php
        |-- composer.json
        |-- public
        |   `-- index.php
        |-- vendor
        |   |-- autoload.php
        |   `-- composer
        |       |-- ClassLoader.php
        |       |-- LICENSE
        |       |-- autoload_classmap.php
        |       |-- autoload_files.php
        |       |-- autoload_namespaces.php
        |       |-- autoload_psr4.php
        |       |-- autoload_real.php
        |       `-- autoload_static.php
        `-- views
            |-- contact.php
            |-- home.php
            `-- layout.php

En caso tal, si necesitan más detalles al momento de buscar cómo se llama el tema de estructurado de repositorios, esto se puede llamar ‘scaffolding’. La idea es que esta distribución estandarizada de repositorios nos ayude a agilizar el desarrollo y organización de nuestros archivos de código fuente, estilos, scripts, etc.

parecido al create-react-app de react en algunos aspectos

Estructura de carpetas

1.- Inicia con la configuración de Composer

Mediante el uso de composer init desde la terminal configura los parametros de autocarga encontrados en la sección “autoload” del archivo composer.json

{
    "name": "sergioluis/curso-introduccion-a-frameworks",
    "description": "Proyecto basico",
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        },
        "files": [
            "app/helpers.php"
        ]
    },
    "authors": [
        {
            "name": "Sergioluis",
            "email": "[email protected]"
        }
    ],
    "require": {}
}

Una vez comfigurado ejecuta por terminal:

composer dump

2.- Crea las carpetas y archivos base

En la carpeta principal añade las carpetas:

.
├── app  (Aplicación)
│   ├── helpers.php (Funciones sencillas)
│   └── Http (Manejo de solicitudes, procesamiento y respuesta)
│       ├── Controllers (Controladores)
│       ├── Requests.php (Manejo de solicitudes)
│       └── Response.php (Manejo de respuestas)
├── composer.json (Archivo de conf. inicial de composer)
├── public
│   └── index.php (Punto de acceso)
├── src
├── vendor (Carpeta creada por composer)
│   ├── autoload.php
│   └── composer
│       ├── autoload_classmap.php
│       ├── utoload_files.php
│       ├── autoload_namespaces.php
│       ├── autoload_psr4.php
│       ├── autoload_real.php
│       ├── autoload_static.php
│       ├── ClassLoader.php
│       └── LICENSE
└── views (Vistas)

Estructura de carpetas

Gracias a los PSRs podemos escribir código PHP que cumpla con estos estándares. Y el PSR-4 es uno de ellos, en donde nos indica la forma en la que debemos configurar nuestra autocarga de clases.

Aquí les dejo el enlace:

https://www.php-fig.org/psr/psr-4/

Estoy muy impresionado con el funcionamiento de composer, es sin lugar a dudas una gran ayuda

Esta muy interesante este curso porque nos permite comprender mas como funciona un framework y como se conectan sus estructuras.

Excelente, muchas veces me preguntaba sobre los framework, y como se estructuraban. Esta clase me ayuda a entender por que el nombre de cada cosa.

Adjunto la estructura de carpetas en mi WSL :

josedario@DESKTOP-6AELDF7:/var/www/html/introframework$ ls -al
total 0
drwxrwxr-x 1 www-data josedario 4096 Jun  3 22:29 .
drwxr-xr-x 1 www-data www-data  4096 Jun  3 20:17 ..
drwxrwxr-x 1 www-data www-data 4096 Jun  3 22:31 app
-rw-rw-r-- 1 www-data www-data  335 Jun  3 22:22 composer.json
drwxrwxr-x 1 www-data www-data 4096 Jun  3 22:29 public
drwxrwxr-x 1 www-data www-data 4096 Jun  3 22:21 vendor
drwxrwxr-x 1 www-data www-data 4096 Jun  3 22:27 views

Excelente para ver la estructura de las carpetas

Ojo el nombre que le dieron en name, no debe llevar numero numeros o puntos

cuando ejecute composer dump me aparecio así, sucede que respondí de otra forma a las preguntas.

Excelente

Buena clase

Mi terminal aparece así y al ejecutar el comando marca un error, ¿alguien podría ayudarme? 😦


Luego, cuando se conoce a profundidad la estructura básica de un framework genérico, usar la herramiento de “yeoman” para montar el scaffold de carpetas, pues es una ayuda. Todo sea dicho de paso.

Composer es un sistema que nos ayuda a cargar todo de manera automatica y no estar mandandolo a llamar parte por parte…

Una estrctura normal en los frameworks es tener una carpeta llamada
App–
–http
–controller Aqui es donde menejaremos las peticiones

helpers.php   		documento para crear funciones que ayuden nuestro sistenas, 				 de ahi parte su nombre

Public la que contiene lo que se va a mostrar

Proyecto creado

Comenzando con una explicación sencilla.
Gracias profesor 😉

Genial clase

Buena explicación