Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Estructura Laravel

Estas en el tema de Estructura Laravel en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, Llevo unos días aprendiendo a emplear Laravel. Poco a poco voy entendiendo su funcionamiento. Estoy preparando un tutoría con la realización de una aplicación ...
  #1 (permalink)  
Antiguo 27/04/2018, 14:56
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Pregunta Estructura Laravel

Hola,

Llevo unos días aprendiendo a emplear Laravel. Poco a poco voy entendiendo su funcionamiento. Estoy preparando un tutoría con la realización de una aplicación bastante completa a modo de aprendizaje propio y para publicarla cuando la acabe y que otros puedan utilizarla como recurso didáctico.

Y bien, expongo un poco el problema. Ya he diseñado las bases de datos y he generado los archivos de las migraciones. Y lo siguiente que me gustaría hacer son las vistas. Dispongo de todo el marco de diseño css y html. Y lo que intento es adaptarlo a Laravel. Voy a simplificar un poco lo que estoy haciendo para que no sea muy denso de leer:

views/

│ ├── parent_section/
│ │ ├── header.blade.php
│ │ ├── nav.blade.php
│ │ ├── footer.blade.php
│ │ └── layout.blade.php
│ │
│ ├── section/
│ │ ├── conten_1.blade.php
│ │ ├── content_2.blade.php

Lo que estoy haciendo es dentro de layout dispongo las secciones (header, nav y footer). Digamos que actúa como índex.

Código PHP:
<!DOCTYPE html>
<
html lang="{{ app()->getLocale() }}">
  <
head>
    <!-- 
META -->
    <
meta charset="utf-8">
    <
meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <
meta http-equiv="x-ua-compatible" content="ie=edge">
    <!-- 
URL CDN externos -->
    <!-- 
Falta sustituir por archivos nativos -->
    <!-- 
Bootstrap CSS -->
    <
link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/css/bootstrap-material-design.min.css" integrity="sha384-wXznGJNEXNG1NFsbm0ugrLFMQPWswR3lds2VeinahP8N0zJw9VWSopbjv2x7WCvX" crossorigin="anonymous">
    <!-- 
Google Fonts -->
    <
link href="https://fonts.googleapis.com/css?family=Muli|Roboto+Condensed:400" rel="stylesheet">
    <!-- 
Main CSS -->
    <
link rel="stylesheet" href="assets/css/style_.css" type="text/css">
    <
title> @yield('title')</title>
  </
head>
<
body>
    @include (
'parent_section/header')
    @include (
'parent_section/nav')
    <
main>
        <
div class="main_container">
            @
yield('content')
        </
div>
    </
main>
    @include (
'parent_section/footer'

    <
script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://unpkg.com/[email protected]/dist/umd/popper.js" integrity="sha384-fA23ZRQ3G/J53mElWqVJEGJzU0sTs+SvzG8fXVWP+kJQ1lwFAOkcUOysnlKJC33U" crossorigin="anonymous"></script>
    <script src="https://unpkg.com/[email protected]/dist/js/bootstrap-material-design.js" integrity="sha384-CauSuKpEqAFajSpkdjv3z9t8E7RlpJ1UP0lKM/+NdtSarroVKu069AlsRPKkFBz9" crossorigin="anonymous"></script>
    <script>$(document).ready(function() { $('body').bootstrapMaterialDesign(); });</script>
    <!-- Font Awesome CDN -->
    <script defer src="https://use.fontawesome.com/releases/v5.0.8/js/solid.js" integrity="sha384-+Ga2s7YBbhOD6nie0DzrZpJes+b2K1xkpKxTFFcx59QmVPaSA8c7pycsNaFwUK6l" crossorigin="anonymous"></script>
    <script defer src="https://use.fontawesome.com/releases/v5.0.8/js/fontawesome.js" integrity="sha384-7ox8Q2yzO/uWircfojVuCQOZl+ZZBg2D2J5nkpLqzH1HY0C1dHlTKIbpRz/LG23c" crossorigin="anonymous"></script>
    
</body> 
Y luego content_1 sería:

Código PHP:
@extends('layout')
@
section('title''content_1 PRUEBA')
@
section('content')
<
div class="container_tittle">
    <
h5>PRUEBA</h5>
</
div>
<
div class="row">
    <
div class="col-xs-12 col-md-6 col-lg-3">
          <
a href="#" class="card-link text-left">Modificar</a><br>
           <
a href="#" class="card-link text-left">Finalizar</a>
    </
div>
</
div>
@
endsection 
El problema es que no me imprime bien los estilos. Y se me abren dos preguntas...
Por un lado me surge la duda de cómo integran ustedes las secciones que no varían: header, nav y footer. He leído de mil sitios y no llego a ninguna conclusión clara.
Y por otro lado, ¿Cómo le aplican bootstrap? es decir; a parte de incluir las CDN, hacen algo más?. Quizás no lo esté añadiendo en la ubicación correcta. Creo que mi problema de que no funcionen los estilos es debido a la estructura.
Estoy un poco confundido con el tema. Para el que maneje Laravel será una chorrada pero para mí como aprendiz me tiene totalmente confundido. Agradezco toda ayuda. Salu2.

P.D: Los estilos fuera de Laravel me funcionan sin problemas.
__________________
"La diversidad de opiniones crean una perspectiva capaz de ver todas las caras del objeto"
  #2 (permalink)  
Antiguo 27/04/2018, 15:54
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Estructura Laravel

No estas indicando bien el origen del @extends; desde content_1.blade.php debe de ser:
Código PHP:
Ver original
  1. @extends('parent_section.layout')
  #3 (permalink)  
Antiguo 28/04/2018, 11:29
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Pregunta Respuesta: Estructura Laravel

Cita:
Iniciado por hhs Ver Mensaje
No estas indicando bien el origen del @extends; desde content_1.blade.php debe de ser:
Código PHP:
Ver original
  1. @extends('parent_section.layout')
Pues la cosa es que funciona de igual manera sin indicar el origen completo. De todas formas veo lógico dejarlo tal cual indicas. Aún así ¿Cómo estructuran ustedes las páginas? ¿Ven bien la forma que estoy empleando?
__________________
"La diversidad de opiniones crean una perspectiva capaz de ver todas las caras del objeto"
  #4 (permalink)  
Antiguo 28/04/2018, 12:02
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Estructura Laravel

Si esta bien, Laravel te da mucha libertad en ese sentido, yo creo una carpeta especifica para los Layouts. Creo que seria lo diferente a lo que tu tienes.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 28/04/2018, 13:17
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: Estructura Laravel

Cita:
Iniciado por hhs Ver Mensaje
Si esta bien, Laravel te da mucha libertad en ese sentido, yo creo una carpeta especifica para los Layouts. Creo que seria lo diferente a lo que tu tienes.
Perfecto. Gracias por la ayuda. Por último, el script de bootstrap del layout me parece que afea un poco el código. ¿No sería mejor crear una carpeta en views llamada scripts y ubicarlo ahí? Luego tendríamos una referencia en layout y queda mucho más limpio. Luego para cualquier cambio de bootstrap bastaría con actualizar el contenido de la carpeta script. No sé si estoy metiendo la pata. Estoy aprendiendo y me preocupan este tipo de detalles.

Un saludo y mil gracias!.
__________________
"La diversidad de opiniones crean una perspectiva capaz de ver todas las caras del objeto"
  #6 (permalink)  
Antiguo 29/04/2018, 13:02
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Estructura Laravel

Todo lo que va relacionado con js y css lo debes de colocar en el directorio public y puedes acceder esos archivos usando el helper asset otra opción es que uses Laravel Mix para compilar los recursos
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: estructura, laravel
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:57.