├── ArrayObjectsJS ├── index.html └── script.js ├── Calculadora ├── Documentacion ├── ejemplo.png ├── index.html └── text.html ├── CssGrid ├── index.html └── styles.css ├── EventosHtmlJs ├── ejemploHtmlsinEventos.html ├── index.html ├── script.js └── scriptEvent.js ├── ExamplePoo ├── computador.php ├── electrodomestico.php ├── gestionarElectrodomesticos.php ├── index.php └── lavadora.php ├── Flexbox ├── index.html └── styles.css ├── FormulariosHtmlJs ├── formularioBasico.html └── script.js ├── HolaMundo └── index.html ├── HtmlJavascript ├── example.html ├── example.js ├── htmlExcludeJavascript.html ├── htmlIncludeJavascript.html ├── information.json ├── script.js └── styles.css ├── JS ├── control.html └── index.html ├── Logica └── index.html ├── almacenamientoIndexedDBJs ├── index.html └── script.js ├── almacenamientoJSWeb ├── AlmacenamientoJs.html └── script.js ├── calculadoraPhp ├── classCalculadora.php └── index.php ├── ejemplo.png ├── html ├── ExampleStyles.html ├── abc.css ├── asd.css ├── bbb.mp4 ├── html-selectors │ ├── selectorClass.html │ ├── selectorElement.html │ ├── selectorId.html │ ├── selectorMultiple.html │ └── styles │ │ ├── selectorClass.css │ │ ├── selectorElement.css │ │ ├── selectorId.css │ │ └── selectorMultiple.css ├── html-styles │ ├── firstStyle.html │ ├── secondStyle.html │ ├── styles │ │ └── thirdStyle.css │ └── thirdStyle.html ├── index.html └── style.css ├── implemetacionLibreria ├── index.html └── materialize │ ├── LICENSE │ ├── README.md │ ├── css │ ├── materialize.css │ └── materialize.min.css │ └── js │ ├── materialize.js │ └── materialize.min.js ├── my-project ├── .editorconfig ├── .env.example ├── .gitattributes ├── .gitignore ├── README.md ├── app │ ├── Console │ │ └── Kernel.php │ ├── Exceptions │ │ └── Handler.php │ ├── Http │ │ ├── Controllers │ │ │ └── Controller.php │ │ ├── Kernel.php │ │ └── Middleware │ │ │ ├── Authenticate.php │ │ │ ├── EncryptCookies.php │ │ │ ├── PreventRequestsDuringMaintenance.php │ │ │ ├── RedirectIfAuthenticated.php │ │ │ ├── TrimStrings.php │ │ │ ├── TrustHosts.php │ │ │ ├── TrustProxies.php │ │ │ ├── ValidateSignature.php │ │ │ └── VerifyCsrfToken.php │ ├── Models │ │ ├── Book.php │ │ ├── Calificacion.php │ │ ├── Car.php │ │ ├── Customer.php │ │ ├── House.php │ │ ├── Personal.php │ │ ├── Student.php │ │ └── User.php │ └── Providers │ │ ├── AppServiceProvider.php │ │ ├── AuthServiceProvider.php │ │ ├── BroadcastServiceProvider.php │ │ ├── EventServiceProvider.php │ │ └── RouteServiceProvider.php ├── artisan ├── bootstrap │ ├── app.php │ └── cache │ │ └── .gitignore ├── composer.json ├── composer.lock ├── config │ ├── app.php │ ├── auth.php │ ├── broadcasting.php │ ├── cache.php │ ├── cors.php │ ├── database.php │ ├── filesystems.php │ ├── hashing.php │ ├── logging.php │ ├── mail.php │ ├── queue.php │ ├── sanctum.php │ ├── services.php │ ├── session.php │ └── view.php ├── database │ ├── .gitignore │ ├── factories │ │ └── UserFactory.php │ ├── migrations │ │ ├── 2023_06_02_131008_create_score_table.php │ │ ├── 2023_06_02_133112_create_calificacion_table.php │ │ ├── 2023_06_05_112555_create_customers_example.php │ │ ├── 2023_06_05_124105_create_books_table.php │ │ ├── 2023_06_06_124453_create_cars_table.php │ │ └── 2023_06_06_125122_create_houses_table.php │ └── seeders │ │ └── DatabaseSeeder.php ├── package.json ├── phpunit.xml ├── public │ ├── .htaccess │ ├── favicon.ico │ ├── index.php │ └── robots.txt ├── resources │ ├── css │ │ └── app.css │ ├── js │ │ ├── app.js │ │ └── bootstrap.js │ └── views │ │ └── welcome.blade.php ├── routes │ ├── api.php │ ├── channels.php │ ├── console.php │ └── web.php ├── storage │ ├── app │ │ ├── .gitignore │ │ └── public │ │ │ └── .gitignore │ ├── framework │ │ ├── .gitignore │ │ ├── cache │ │ │ ├── .gitignore │ │ │ └── data │ │ │ │ └── .gitignore │ │ ├── sessions │ │ │ └── .gitignore │ │ ├── testing │ │ │ └── .gitignore │ │ └── views │ │ │ └── .gitignore │ └── logs │ │ └── .gitignore ├── tests │ ├── CreatesApplication.php │ ├── Feature │ │ └── ExampleTest.php │ ├── TestCase.php │ └── Unit │ │ └── ExampleTest.php └── vite.config.js ├── phpJs ├── example.html └── example.php ├── poo ├── Ejemplo.php └── index.php ├── ppoo ├── connection.php ├── encapsulamiento.php ├── herencia.php ├── index.php └── polimorfismo.php ├── reviewphp └── index.php ├── scriptSQL ├── admin_db.sql ├── joins.sql ├── operaciones.sql ├── pk_fk.sql ├── tables-insert-select.sql ├── taller_1.sql ├── taller_2.sql └── update-delete-select-where.sql ├── tallerFronted ├── index_e2.html ├── index_e34.html ├── index_e5.html ├── script_e2.js ├── script_e34.js └── script_e5.js ├── tallerPHP ├── example_1.php ├── example_2.php ├── example_3.php ├── example_4.php ├── example_5.php └── example_6.php └── tallerPHP2 ├── example_1.php ├── example_2.php └── example_3.php /ArrayObjectsJS/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Array / Objects 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /ArrayObjectsJS/script.js: -------------------------------------------------------------------------------- 1 | console.log("Loading Javascript"); 2 | 3 | // Array 4 | var firstArray = [1, "Information", Date(), "Viernes"] 5 | 6 | console.log(firstArray); 7 | 8 | console.log(firstArray.length); 9 | 10 | console.log(firstArray[0]); 11 | console.log(firstArray[1]); 12 | console.log(firstArray[2]); 13 | console.log(firstArray[3]); 14 | 15 | 16 | //Recorrido Arreglo 17 | 18 | console.log("Recorrido Arreglo =>") 19 | for(let i=0; i < firstArray.length; i++){ 20 | console.log(firstArray[i]); 21 | } 22 | 23 | 24 | console.log("Recorrido Arreglo =>") 25 | firstArray.forEach((item)=>{ 26 | console.log(item) 27 | }); 28 | 29 | 30 | 31 | console.log("Recorrido Arreglo =>") 32 | 33 | firstArray.map((item)=>{ 34 | console.log(item); 35 | }) 36 | 37 | //Object 38 | 39 | var firtsObject = { 40 | a: "viernes", 41 | information: "7:50am", 42 | dolar: 4550, 43 | currentDate: { 44 | dia: 12, 45 | mes: "Mayo", 46 | annio: 2023 47 | } 48 | 49 | } 50 | 51 | 52 | console.log(firtsObject); 53 | 54 | 55 | //Recorrido Objecto 56 | console.log("Recorrido Objecto") 57 | for( let item in firtsObject){ 58 | 59 | console.log("key =>",item); 60 | console.log("value => ", firtsObject[item]); 61 | 62 | if(typeof firtsObject[item] == "object"){ 63 | console.log("Is Object") 64 | console.log("Recorrido Subobjecto") 65 | let secondObject = firtsObject[item]; 66 | 67 | for ( let subitem in secondObject){ 68 | console.log("key =>",subitem); 69 | console.log("value => ", secondObject[subitem]); 70 | } 71 | } 72 | } 73 | 74 | 75 | 76 | //Recorrido Objecto 77 | console.log("Recorrido Objecto") 78 | 79 | Object.keys(firtsObject).forEach((item)=>{ 80 | console.log("key=>",item); 81 | console.log("value =>", firtsObject[item]) 82 | }); 83 | 84 | console.log("Recorrido Objecto") 85 | 86 | Object.entries(firtsObject).forEach(function([key, value]){ 87 | console.log(key, value) 88 | }) 89 | 90 | Object.entries(firtsObject).forEach(function(item){ 91 | console.log(item) 92 | }) 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | // Array/Object 101 | var firstArrayObject = [ 102 | { 103 | a: "viernes", 104 | information: "7:50am", 105 | dolar: 4550, 106 | currentDate: { 107 | dia: 12, 108 | mes: "Mayo", 109 | annio: 2023 110 | } 111 | }, 112 | { 113 | name: "Juan", 114 | lastName: "Perez", 115 | id: 10262525242 116 | } 117 | ] 118 | 119 | 120 | console.log("ARRAY OBJECT") 121 | 122 | 123 | console.log(firstArrayObject) 124 | 125 | console.log(firstArrayObject.length) 126 | 127 | 128 | 129 | let data = 1 130 | console.log(typeof data); 131 | 132 | data = "Fullstack" 133 | console.log(typeof data) 134 | 135 | console.log("Recorriendo Arreglo") 136 | firstArrayObject.map((item)=>{ 137 | 138 | console.log(typeof item, item); 139 | console.log("Recorriendo Objeto") 140 | Object.entries(item).forEach(([key, value])=>{ 141 | console.log(key, value) 142 | }) 143 | 144 | 145 | }); 146 | 147 | 148 | console.log(firstArrayObject[0]) 149 | console.log(firstArrayObject[0].dolar) 150 | 151 | let dolar = firstArrayObject[0].dolar; 152 | 153 | console.log(dolar + 1); 154 | 155 | console.log(firtsObject) 156 | 157 | let day = firtsObject.a; 158 | 159 | console.log(day) -------------------------------------------------------------------------------- /Calculadora/Documentacion: -------------------------------------------------------------------------------- 1 | 2 | HTML 3 | 4 | 5 |

Titulos 6 |
Salto de Linea 7 | Caja para ingresar datos 8 | 23 | 24 |

Resultado:

25 | 26 | 104 | 105 | 106 | -------------------------------------------------------------------------------- /Calculadora/text.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 |

TITULO H1

11 |

TITULO H2

12 |

TITULO H3

13 |
TITULO H6
14 | Mi link 15 | 16 | 17 |

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Enim harum ex quis laboriosam voluptatem eaque.

18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /CssGrid/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | CSS GRID 8 | 9 | 10 | 11 | 12 |
13 |
Item 1
14 |
Item 2
15 |
Item 3
16 |
Item 4
17 |
Item 5
18 |
Item 6
19 |
Item 7
20 |
21 |
22 | 23 |
24 |

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Blanditiis, voluptatum?

25 |
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Natus accusamus cupiditate voluptatem laudantium ratione exercitationem sequi nihil? Totam sint et, provident commodi nisi delectus earum odio obcaecati harum esse. Libero praesentium quisquam consequatur sunt distinctio minus eligendi amet necessitatibus laudantium, voluptas officia aliquam est, eveniet eos beatae neque at corporis.
26 |
Lorem ipsum dolor sit amet consectetur adipisicing elit. Ea alias quas necessitatibus quae, iure iusto officia corrupti at magni exercitationem qui doloremque eius nobis numquam, quia deserunt voluptate omnis rerum pariatur in ipsa tempora labore! Modi quo quia odit eos saepe tempore nihil optio ad exercitationem? Nobis aliquid rerum veritatis corrupti minima eius dolor porro itaque voluptatibus laudantium. Quasi eos blanditiis quis. Cum facere architecto reprehenderit sed aliquid nam ipsam id dolore fuga quidem dolorum, tempora, odit ullam odio numquam omnis eos atque amet quo deserunt accusantium! Sunt, culpa reiciendis reprehenderit aut odit deserunt sit, officia tempora consequuntur dolorem natus!
27 |
Lorem ipsum dolor sit amet consectetur adipisicing elit. Deleniti itaque aut ex recusandae atque totam omnis sit vero eligendi tenetur placeat impedit sapiente minima illum, ipsum, facere reiciendis, rerum adipisci mollitia ipsa iste sunt autem inventore. Suscipit corporis error, impedit earum optio maxime, sed corrupti repudiandae molestiae dignissimos provident commodi totam in reiciendis? Labore sed totam expedita neque laborum odio!
28 |
29 |
30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /CssGrid/styles.css: -------------------------------------------------------------------------------- 1 | .mainContainer{ 2 | display: grid; 3 | /* grid-template-rows: 200px 200px; 4 | grid-template-columns: 500px 500px; 5 | grid-template-rows: 1fr 1fr 1fr 1fr;*/ 6 | grid-template-rows: 300px 300px 300px; 7 | grid-template-columns: 1fr 1fr 1fr 1fr; 8 | 9 | } 10 | 11 | #mainContainer{ 12 | display: none; 13 | } 14 | 15 | .item{ 16 | border-style:dashed; 17 | text-align: center; 18 | padding: 15%; 19 | } 20 | 21 | #item1{ 22 | background-color: antiquewhite; 23 | grid-row: 2; 24 | grid-column: 2; 25 | } 26 | #item2{ 27 | background-color:aqua; 28 | grid-row: 2; 29 | grid-column: 1; 30 | } 31 | 32 | #item3{ 33 | background-color:azure; 34 | grid-row: 1; 35 | grid-column: 1; 36 | } 37 | #item4{ 38 | background-color:bisque; 39 | grid-row: 1; 40 | grid-column: 2; 41 | } 42 | 43 | .mainWeb{ 44 | display: grid; 45 | grid-template-rows: 100px 500px 80px; 46 | grid-template-columns: 1fr 1fr 1fr 1fr 1fr; 47 | grid-template-areas: 48 | "headerGrid headerGrid headerGrid headerGrid headerGrid" 49 | "sidebarGrid contentGrid contentGrid contentGrid contentGrid" 50 | "footerGrid footerGrid footerGrid footerGrid logo"; 51 | } 52 | 53 | .container{ 54 | border-style: dashed; 55 | text-align: center; 56 | } 57 | 58 | .headerClass{ 59 | grid-area: headerGrid; 60 | } 61 | 62 | .sidebarClass{ 63 | grid-area: sidebarGrid; 64 | 65 | } 66 | .contentClass{ 67 | grid-area: contentGrid; 68 | } 69 | 70 | .footerClass{ 71 | grid-area: footerGrid; 72 | } 73 | 74 | .logoClass{ 75 | grid-area: logo ; 76 | } -------------------------------------------------------------------------------- /EventosHtmlJs/ejemploHtmlsinEventos.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Ejemplo Html sin Eventos con Javascript 8 | 9 | 10 |

Lorem ipsum dolor sit amet consectetur adipisicing elit. Optio amet delectus aliquam veritatis tenetur necessitatibus veniam perferendis saepe, mollitia neque at dolor libero tempore cupiditate consectetur inventore quae dignissimos enim!

11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /EventosHtmlJs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Eventos con Html(Explicitos) y Javascript 8 | 9 | 10 |

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Alias, animi. Dolore assumenda, ipsa incidunt iusto dignissimos sapiente beatae, atque libero porro fugiat tempore harum odit?

12 |
13 |

14 | 15 | 16 |
17 |
18 | 19 | 20 |
21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /EventosHtmlJs/script.js: -------------------------------------------------------------------------------- 1 | console.log("Loading Javascript"); 2 | 3 | function myAction(){ 4 | alert("fullstack Acción 1"); 5 | let myData= document.getElementsByTagName('p'); 6 | myData[0].style.backgroundColor= "blue"; 7 | } 8 | 9 | const myAction2 = ()=>{ 10 | alert("fullstack Acción 2"); 11 | } 12 | 13 | 14 | const myActionP = ()=>{ 15 | console.log("Acción Parrafo"); 16 | let myP= document.getElementById('descripcion'); 17 | myP.innerHTML = "Este campo describe el parrafo"; 18 | 19 | let myData= document.getElementsByTagName('p'); 20 | myData[0].style.backgroundColor= "red"; 21 | } 22 | 23 | const changeData = ()=>{ 24 | console.log("Acción Cambio Input"); 25 | let myInput = document.getElementById("myInputData"); 26 | myInput.value = "CAMBIO" 27 | } 28 | 29 | -------------------------------------------------------------------------------- /EventosHtmlJs/scriptEvent.js: -------------------------------------------------------------------------------- 1 | console.log("Loading Javascript"); 2 | 3 | 4 | let myButton = document.getElementById("myButtonData"); 5 | 6 | 7 | myButton.addEventListener("dblclick", ()=>{ 8 | console.log("Ejecutando Evento Click"); 9 | let myP = document.getElementsByClassName("info"); 10 | console.log(typeof myP, myP) 11 | 12 | 13 | Object.entries(myP).forEach(([key, value]) => { 14 | value.style.backgroundColor= "blue"; 15 | value.style.width = "50%"; 16 | }); 17 | 18 | }); 19 | 20 | 21 | myButton.addEventListener("click", ()=>{ 22 | console.log("Ejecutando Evento Click"); 23 | let myP = document.getElementsByClassName("info"); 24 | console.log(typeof myP, myP) 25 | 26 | 27 | Object.entries(myP).forEach(([key, value]) => { 28 | value.style.backgroundColor= "red"; 29 | value.style.width = "80%"; 30 | }); 31 | }); 32 | 33 | 34 | myButton.addEventListener("mouseover", function(){ 35 | console.log("Ejecutando Evento Mouseover"); 36 | let myP = document.getElementsByClassName("info"); 37 | //myP.style.backgroundColor= "red"; 38 | }); 39 | 40 | 41 | let myData = document.getElementById("data"); 42 | 43 | 44 | 45 | 46 | const changeData = ()=>{ 47 | alert("Acción Evento"); 48 | 49 | } 50 | 51 | myData.addEventListener("click",changeData); -------------------------------------------------------------------------------- /ExamplePoo/computador.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ExamplePoo/electrodomestico.php: -------------------------------------------------------------------------------- 1 | serial = $this->generateRandomString(); 21 | } 22 | 23 | public function mostrarSerial() 24 | { 25 | echo "Mi serial es: ".$this->serial; 26 | } 27 | 28 | private function generateRandomString($length = 10) { 29 | $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; 30 | $charactersLength = strlen($characters); 31 | $randomString = ''; 32 | for ($i = 0; $i < $length; $i++) { 33 | $randomString .= $characters[random_int(0, $charactersLength - 1)]; 34 | } 35 | 36 | return $randomString; 37 | } 38 | 39 | } 40 | 41 | 42 | 43 | 44 | 45 | 46 | ?> -------------------------------------------------------------------------------- /ExamplePoo/gestionarElectrodomesticos.php: -------------------------------------------------------------------------------- 1 | Ejecutando gestionarElectrodomesticos.php
"; 4 | include("computador.php"); 5 | include("lavadora.php"); 6 | 7 | 8 | $miLaptop = new Computadores(); 9 | 10 | echo "

".$miLaptop->nombre."


"; 11 | 12 | $miLaptop->mostrarSerial(); 13 | echo "
"; 14 | $miLaptop->encender(); 15 | echo "
"; 16 | $miLaptop->conectarWifi(); 17 | echo "
"; 18 | $miLaptop->ejecutarPrograma(); 19 | echo "
"; 20 | $miLaptop->AlmacenarInformacion(); 21 | echo "
"; 22 | $miLaptop->apagar(); 23 | 24 | 25 | 26 | $miLavadora = new Lavadoras(); 27 | 28 | 29 | echo "

".$miLavadora->nombre."


"; 30 | $miLavadora->mostrarSerial(); 31 | echo "
"; 32 | $miLavadora->encender(); 33 | echo "
"; 34 | $miLavadora->lavar(); 35 | echo "
"; 36 | $miLavadora->secar(); 37 | echo "
"; 38 | $miLavadora->apagar(); 39 | 40 | 41 | 42 | 43 | ?> -------------------------------------------------------------------------------- /ExamplePoo/index.php: -------------------------------------------------------------------------------- 1 | Ejecutando index.php
"; 4 | include("computador.php"); 5 | include("lavadora.php"); 6 | 7 | 8 | $miLaptop = new Computadores(); 9 | 10 | echo "

".$miLaptop->nombre."


"; 11 | 12 | $miLaptop->mostrarSerial(); 13 | echo "
"; 14 | $miLaptop->encender(); 15 | echo "
"; 16 | $miLaptop->conectarWifi(); 17 | echo "
"; 18 | $miLaptop->ejecutarPrograma(); 19 | echo "
"; 20 | $miLaptop->AlmacenarInformacion(); 21 | echo "
"; 22 | $miLaptop->apagar(); 23 | 24 | 25 | 26 | $miLavadora = new Lavadoras(); 27 | 28 | 29 | echo "

".$miLavadora->nombre."


"; 30 | $miLavadora->mostrarSerial(); 31 | echo "
"; 32 | $miLavadora->encender(); 33 | echo "
"; 34 | $miLavadora->lavar(); 35 | echo "
"; 36 | $miLavadora->secar(); 37 | echo "
"; 38 | $miLavadora->apagar(); 39 | 40 | 41 | 42 | 43 | ?> -------------------------------------------------------------------------------- /ExamplePoo/lavadora.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Flexbox/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 |
13 |
1
14 |
2
15 |
3
16 |
17 | 18 |
19 | 20 |
21 |
1
22 |
2
23 |
2
24 |
2
25 |
2
26 |
2
27 |
2
28 |
2
29 |
2
30 |
2
31 |
2
32 |
2
33 |
34 |
35 | 36 | 37 |
38 |
39 |
Lorem ipsum dolor sit amet consectetur adipisicing elit. Eligendi placeat, dolore eaque tempora suscipit laborum doloremque exercitationem dignissimos debitis harum ipsum possimus porro ea unde aliquam blanditiis nam labore similique!
40 |
41 |
sub 1
42 |
43 |
44 | 45 |
46 |
47 | 48 | 49 | -------------------------------------------------------------------------------- /Flexbox/styles.css: -------------------------------------------------------------------------------- 1 | .flexbox-container{ 2 | display: flex; 3 | padding: 3%; 4 | flex-direction: row; 5 | border-style: dashed; 6 | } 7 | 8 | .flexbox-item{ 9 | border-style: solid; 10 | text-align: center; 11 | /* width: 10px;*/ 12 | } 13 | 14 | 15 | #item1{ 16 | flex: 5; 17 | } 18 | 19 | #item2{ 20 | flex: 4; 21 | } 22 | 23 | #item3{ 24 | flex: 2; 25 | } 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | #item4{ 34 | flex: 2; 35 | } 36 | 37 | #item5{ 38 | flex: 2; 39 | } 40 | 41 | #item6{ 42 | flex: 2; 43 | } 44 | 45 | #item7{ 46 | flex: 2; 47 | } 48 | 49 | 50 | .flexbox-container-style{ 51 | display: flex; 52 | padding: 3%; 53 | height: 250px; 54 | flex-direction: row; 55 | border-style: dashed; 56 | align-items:center; 57 | justify-content:space-around; 58 | flex-wrap: wrap; 59 | } 60 | 61 | .flexbox-second{ 62 | border-style: solid; 63 | text-align: center; 64 | width: 500px; 65 | } 66 | 67 | .flexbox-third{ 68 | padding: 5%; 69 | text-align: justify; 70 | width: 200px; 71 | height: 100px; 72 | 73 | justify-content: space-around; 74 | /*flex-wrap: wrap; 75 | flex-direction: column;*/ 76 | flex-flow: column now; 77 | } 78 | 79 | 80 | .flexbox-sub-container{ 81 | display: flex; 82 | } 83 | 84 | .style-div{ 85 | border-style: double; 86 | } -------------------------------------------------------------------------------- /FormulariosHtmlJs/formularioBasico.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Formulario Basico 8 | 9 | 10 | 11 |

Formulario

12 |
13 | 14 | 15 |
16 |
17 | 18 | 19 |
20 |
21 | 22 | 23 |
24 |
25 | 26 | 27 |
28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /FormulariosHtmlJs/script.js: -------------------------------------------------------------------------------- 1 | console.log("Loading Javascript") 2 | 3 | 4 | function sendForm(){ 5 | console.log("Envio Formulario"); 6 | 7 | let nameInfo = document.getElementById('nombre'); 8 | let emailInfo = document.getElementById('correo'); 9 | let valueDolarInfo = document.getElementById('dolar'); 10 | 11 | nameInfo = nameInfo.value; 12 | emailInfo = emailInfo.value; 13 | valueDolarInfo = valueDolarInfo.value; 14 | 15 | let personalInfo = { 16 | name: nameInfo, 17 | email: emailInfo, 18 | valuePeso: valueDolarInfo * 4487.70, 19 | } 20 | 21 | console.log(personalInfo); 22 | 23 | 24 | alert("Se guardo el Nombre "+ personalInfo.name + " y Correo " + personalInfo.email); 25 | 26 | alert("Precio Dolar : $ " + valueDolarInfo + " a Precio Peso Colombiano: $ "+ personalInfo.valuePeso) 27 | 28 | //window.location.href = "https://google.com"; 29 | 30 | } 31 | 32 | 33 | let buttonForm = document.getElementById("BotonFormulario"); 34 | buttonForm.addEventListener('click',sendForm); 35 | 36 | let buttonForm2 = document.getElementById("formulario"); 37 | buttonForm2.addEventListener('click',sendForm); -------------------------------------------------------------------------------- /HolaMundo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Mi primer Hola mundo! 8 | 9 | 10 | 11 |

HOLA MUNDO EN HTML

12 | 13 |

Lorem ipsum dolor sit amet consectetur adipisicing elit. Obcaecati adipisci officiis, earum non nihil animi eum fuga ea cum debitis doloremque! Quaerat libero iusto alias quasi quas sapiente totam ducimus officiis inventore magnam sit reprehenderit corporis deleniti minus quia aperiam hic, enim earum perspiciatis. Earum consequatur quia recusandae sequi pariatur, magni dignissimos quod, harum, hic itaque odit. Architecto omnis sapiente corporis dolore est, error distinctio tempore cumque numquam quam fugiat sint ad odit nobis dolorum reprehenderit ipsa iusto dolores commodi nemo. Temporibus a explicabo rem fugit dolores, perferendis officiis quidem. Sint dicta repudiandae consequatur enim temporibus laudantium quas quaerat perferendis?

14 | 15 | -------------------------------------------------------------------------------- /HtmlJavascript/example.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Ejemplo Javascript 8 | 9 | 10 | 11 |
12 |

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Quidem, esse?

13 |
14 |

Current Date

15 | 16 | 17 | 22 | 23 |

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Corporis iste, consequatur provident magnam ipsam unde alias error tempora ex at voluptas maxime cupiditate labore. Iure, dolorem delectus? Repellat sunt alias sapiente cum ut quidem magni qui quas. Eum tempora dignissimos, tempore quasi illum porro eveniet esse. Dignissimos architecto quia ratione impedit ipsa quam voluptatibus, voluptatum optio, facilis harum esse laborum pariatur voluptate autem iure corrupti error nihil nulla laudantium eveniet sint saepe! Quae praesentium amet inventore sunt aperiam. Voluptatibus natus qui quisquam aspernatur iure? Totam, modi saepe dicta ex enim ipsa delectus sint voluptatem, ipsum excepturi, odio aliquid officiis nostrum.

24 |
25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /HtmlJavascript/example.js: -------------------------------------------------------------------------------- 1 | console.log("loading javascript ......"); 2 | 3 | function actionButton(){ 4 | 5 | //SELECTOR POR ELEMENTO 6 | var myP = document.getElementsByTagName('p'); 7 | console.log(myP); 8 | 9 | myP[0].style["background-color"] = "red"; 10 | myP[1].innerHTML = Date(); 11 | 12 | //SELECTOR POR ID 13 | var myNewValue = document.getElementById("input_1"); 14 | 15 | //SELECTOR POR ID 16 | var myIDp = document.getElementById("p_3"); 17 | 18 | 19 | myIDp.innerHTML = myNewValue.value; 20 | if(myIDp.style.display == "none"){ 21 | myIDp.style.display="block"; 22 | myIDp.style.textAlign = "justify"; 23 | 24 | myIDp.innerHTML = myNewValue.value; 25 | } else { 26 | myIDp.style.display="none"; 27 | } 28 | 29 | //SELECTOR POR ID 30 | var myInput = document.getElementById("input_1"); 31 | 32 | console.log("Valor input=>",myInput.value); 33 | 34 | //SELECTOR POR ID 35 | var myInput = document.getElementById("input_1"); 36 | console.log(myInput); 37 | 38 | myInput.innerHTML = "DEFAULT VALUE"; 39 | myInput.value = "DEFAULT VALUE"; 40 | //SELECTOR POR CLASS 41 | var mylist = document.getElementsByClassName("list"); 42 | 43 | console.log(mylist) 44 | 45 | mylist[0].innerHTML = "Information Change!!!!!"; 46 | mylist[1].innerHTML = "Information Change!!!!!"; 47 | mylist[2].innerHTML = "Information Change!!!!!"; 48 | 49 | 50 | 51 | } -------------------------------------------------------------------------------- /HtmlJavascript/htmlExcludeJavascript.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Html Javascript 8 | 9 | 10 | 11 |
12 |
13 |

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Dolorem minima nam ducimus veniam non, sequi assumenda animi, libero nostrum adipisci recusandae distinctio, mollitia earum architecto quaerat quas. Veniam nulla expedita similique velit! Iste rem placeat iure ab possimus accusamus animi libero a quae est, atque consequatur dicta officia alias dolores ipsam sint error. Qui expedita, cupiditate ratione veniam nostrum, quos voluptate autem iusto quasi exercitationem beatae. Quisquam ipsa dignissimos perspiciatis facere sint iste quo repellat rerum exercitationem accusantium. Consequatur ab fugiat, vero praesentium voluptas autem impedit nulla asperiores! Consectetur nisi illo soluta voluptatum nemo quasi commodi, eaque fugit eveniet necessitatibus.

14 |
15 |
16 |

data

17 |
18 |
Text 1
19 |
Text 2
20 |
Text 3 21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 |
29 |

asdasd

30 |
31 |
hasfdhfas
32 |
33 |
34 |
35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /HtmlJavascript/htmlIncludeJavascript.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Html Javascript 8 | 9 | 10 | 11 | 12 | 13 | 14 | 20 | -------------------------------------------------------------------------------- /HtmlJavascript/information.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "description": "Mi descripción", 4 | "address": "Calle Falsa", 5 | "date": 1, 6 | }, 7 | { 8 | "description": "Mi descripción", 9 | "address": "Calle Falsa", 10 | "date": 1, 11 | }, 12 | { 13 | "description": "Mi descripción", 14 | "address": "Calle Falsa", 15 | "date": 1, 16 | }, 17 | { 18 | "description": "Mi descripción", 19 | "address": "Calle Falsa", 20 | "date": 1, 21 | }, 22 | { 23 | "description": "Mi descripción", 24 | "address": "Calle Falsa", 25 | "date": 1, 26 | }, 27 | ] -------------------------------------------------------------------------------- /HtmlJavascript/script.js: -------------------------------------------------------------------------------- 1 | //alert("Loading page ...."); 2 | console.log("Loading javascript") 3 | console.log(Date()) 4 | 5 | //Selector por elemento 6 | var elementsP = document.getElementsByTagName('p'); 7 | 8 | console.log("Selector por elemento =>",elementsP) 9 | console.log("Selector por elemento =>",elementsP[0]) 10 | console.log("Selector por elemento =>",elementsP[1]) 11 | 12 | 13 | var elementsDivs = document.getElementsByTagName('div'); 14 | 15 | console.log("Selector por elemento =>",elementsDivs) 16 | console.log("Selector por elemento =>",elementsDivs[0]) 17 | 18 | // Selector por id 19 | var elementForId = document.getElementById('section_3') 20 | 21 | console.log("Selector por id =>",elementForId) 22 | 23 | 24 | var elementForId = document.getElementById('div_1') 25 | 26 | console.log("Selector por id =>",elementForId) 27 | 28 | var elementForId = document.getElementById('p_1') 29 | 30 | elementForId.innerHTML="stiv"; 31 | 32 | console.log("Selector por id =>",elementForId) 33 | 34 | // Selector por clase 35 | 36 | var elementForClass = document.getElementsByClassName("itemInformation"); 37 | console.log("Selector por class =>",elementForClass) 38 | 39 | console.log(elementForClass[0]) 40 | 41 | console.log(elementForClass[1]) 42 | 43 | console.log(elementForClass[2]) 44 | 45 | var elementForClass = document.getElementsByClassName("inputContainer"); 46 | console.log("Selector por class =>",elementForClass) 47 | 48 | 49 | var elementForClass = document.getElementsByClassName("section"); 50 | console.log("Selector por class =>",elementForClass) 51 | 52 | elementForClass[1].innerHTML="ejemplo"; -------------------------------------------------------------------------------- /HtmlJavascript/styles.css: -------------------------------------------------------------------------------- 1 | .mainContainer{ 2 | display: flex; 3 | background-color: antiquewhite; 4 | } 5 | .itemInformation{ 6 | flex: 1; 7 | justify-content: center; 8 | text-align: justify; 9 | padding: 2%; 10 | } 11 | .inputContainer{ 12 | color: brown; 13 | background-color: cadetblue; 14 | text-align: justify; 15 | } -------------------------------------------------------------------------------- /JS/control.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 | 190 | 191 | 192 | -------------------------------------------------------------------------------- /JS/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 | 13 | 120 | 121 | -------------------------------------------------------------------------------- /Logica/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 |

Hola mundo

11 | 12 | 13 | 98 | 99 | -------------------------------------------------------------------------------- /almacenamientoIndexedDBJs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Almacenamiento IndexedDB Javascript 8 | 9 | 10 |
11 |

Formulario Ingreso Usuario

12 | 13 | 14 |
15 |
16 | 17 | 18 |
19 |
20 | 21 |
22 |
23 |

Información Almacenada

24 |
25 |
26 |

27 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /almacenamientoIndexedDBJs/script.js: -------------------------------------------------------------------------------- 1 | console.log("Loading Javascript"); 2 | 3 | const processForm = (event)=>{ 4 | 5 | event.preventDefault(); 6 | console.log("Envio Formulario"); 7 | 8 | var nameData = document.getElementById("name").value; 9 | var ageData = document.getElementById("age").value; 10 | 11 | var idRandon = Array.from({ length: 5 }, () => Math.random().toString(36).charAt(2)).join(''); 12 | 13 | var user = { 14 | id: idRandon, 15 | name: nameData, 16 | age: ageData, 17 | } 18 | 19 | console.log(user); 20 | 21 | //Crear o Abrir Base Datos 22 | var dataBase = window.indexedDB.open("myDataBase",3); 23 | 24 | 25 | // Ejecución Correcta Crear o Abrir Base Datos 26 | 27 | 28 | // Ejecución Correcta Crear o Abrir Base Datos 29 | dataBase.onsuccess = (event)=>{ 30 | 31 | console.log("Creación o Error en Abrir Base Datos Correcta !!"); 32 | let db = dataBase.result; 33 | console.log(db); 34 | var instanceTransaction = db.transaction('users','readwrite').objectStore('users'); 35 | //Guardar Datos 36 | var saveData = instanceTransaction.add(user); 37 | 38 | alert("Datos Guardados"); 39 | form.reset(); 40 | 41 | let myP = document.getElementById("Data"); 42 | 43 | var dataInfo = instanceTransaction.getAll(); 44 | 45 | 46 | dataInfo.onsuccess =(event) =>{ 47 | 48 | let data = dataInfo.result; 49 | 50 | console.log(data); 51 | 52 | 53 | var infoStructure = ""; 54 | 55 | 56 | 57 | data.map((element)=>{ 58 | infoStructure += "Nombre: " + element.name + " "; 59 | infoStructure += "Edad: " + element.age + " "; 60 | infoStructure += "
"; 61 | }); 62 | 63 | myP.innerHTML = infoStructure; 64 | 65 | 66 | } 67 | 68 | 69 | } 70 | 71 | // Ejecución al iniciar o Crear base datos 72 | 73 | dataBase.onupgradeneeded = (event)=>{ 74 | 75 | console.log("Creación Object") 76 | 77 | let db = event.target.result; 78 | 79 | var createObjectData = db.createObjectStore("users", { keyPath: 'id'}); 80 | 81 | } 82 | 83 | 84 | // Ejecución Error Crear o Abrir Base Datos 85 | dataBase.onerror = (event)=>{ 86 | console.log("Error Creación o Error en Abrir Base Datos !!!"); 87 | } 88 | 89 | 90 | 91 | 92 | } 93 | 94 | 95 | 96 | var form = document.getElementById("myForm"); 97 | 98 | form.addEventListener('submit',processForm); 99 | 100 | 101 | 102 | const loadBody = (event)=>{ 103 | 104 | var dataBase = window.indexedDB.open("myDataBase",3); 105 | 106 | 107 | // Ejecución Correcta Crear o Abrir Base Datos 108 | dataBase.onsuccess = (event)=>{ 109 | 110 | console.log("Creación o Error en Abrir Base Datos Correcta !!"); 111 | let db = dataBase.result; 112 | console.log(db); 113 | var instanceTransaction = db.transaction('users','readwrite').objectStore('users'); 114 | 115 | let myP = document.getElementById("Data"); 116 | 117 | var dataInfo = instanceTransaction.getAll(); 118 | 119 | 120 | dataInfo.onsuccess =(event) =>{ 121 | 122 | let data = dataInfo.result; 123 | 124 | console.log("Informacion Almacenada =>", data); 125 | 126 | 127 | var infoStructure = ""; 128 | 129 | 130 | if(data.map){ 131 | data.map((element)=>{ 132 | infoStructure += "Nombre: " + element.name + " "; 133 | infoStructure += "Edad: " + element.age + " "; 134 | infoStructure += "
"; 135 | }); 136 | } 137 | 138 | 139 | myP.innerHTML = infoStructure; 140 | 141 | 142 | } 143 | 144 | } 145 | 146 | // Ejecución al iniciar o Crear base datos 147 | 148 | dataBase.onupgradeneeded = (event)=>{ 149 | 150 | console.log("Creación Object") 151 | 152 | let db = event.target.result; 153 | 154 | var createObjectData = db.createObjectStore("users", { keyPath: 'id'}); 155 | 156 | } 157 | 158 | 159 | // Ejecución Error Crear o Abrir Base Datos 160 | dataBase.onerror = (event)=>{ 161 | console.log("Error Creación o Error en Abrir Base Datos !!!"); 162 | } 163 | 164 | } 165 | 166 | -------------------------------------------------------------------------------- /almacenamientoJSWeb/AlmacenamientoJs.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Ejemplo Almacenamiento JS 8 | 9 | 10 | 11 |

Formulario

12 |
13 | 14 | 15 |
16 |
17 | 18 | 19 |
20 |
21 | 22 | 23 |
24 |
25 | 26 |
27 |
28 |

29 |
30 | 31 |
32 |
33 | 34 |
35 |
36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /almacenamientoJSWeb/script.js: -------------------------------------------------------------------------------- 1 | console.log("Loading Javascript") 2 | 3 | 4 | function sendForm(){ 5 | console.log("Envio Formulario"); 6 | 7 | let nameInfo = document.getElementById('nombre'); 8 | let emailInfo = document.getElementById('correo'); 9 | let valueDolarInfo = document.getElementById('dolar'); 10 | 11 | nameInfo = nameInfo.value; 12 | emailInfo = emailInfo.value; 13 | valueDolarInfo = valueDolarInfo.value; 14 | 15 | let personalInfo = { 16 | name: nameInfo, 17 | email: emailInfo, 18 | valuePeso: valueDolarInfo * 4487.70, 19 | } 20 | 21 | console.log(personalInfo); 22 | 23 | 24 | //Almacenamiento Estrategia Cookies 25 | document.cookie = "name="+ personalInfo.name; 26 | document.cookie = "email="+ personalInfo.email; 27 | document.cookie = "valuePeso="+ personalInfo.valuePeso; 28 | 29 | let cookieData= document.cookie; 30 | 31 | 32 | console.log(cookieData); 33 | 34 | //alert("SAVE!!!!"); 35 | 36 | 37 | 38 | //Almacenamiento Estrategia Web Storage 39 | 40 | // Sessionstorage 41 | 42 | sessionStorage.setItem("name", personalInfo.name); 43 | sessionStorage.setItem("email", personalInfo.email); 44 | sessionStorage.setItem("valuePeso", personalInfo.valuePeso); 45 | 46 | sessionStorage.setItem("personalInfo", JSON.stringify(personalInfo)); 47 | 48 | 49 | 50 | // Localstorage 51 | 52 | let saveData = localStorage.getItem("personalInformation"); 53 | 54 | console.log("value localstorage =>", saveData); 55 | 56 | // if(null) => if (false)=> no ingresa al if 57 | 58 | if(saveData){ 59 | 60 | console.log("Data exits") 61 | 62 | console.log ("JSON STRING =>", saveData); 63 | let data = JSON.parse(saveData); 64 | 65 | console.log ("JSON Object =>", data); 66 | 67 | 68 | let newData =[...data,personalInfo]; 69 | 70 | console.log(newData); 71 | 72 | localStorage.setItem('personalInformation',JSON.stringify(newData)); 73 | 74 | }else{ 75 | 76 | 77 | console.log("Data not exits") 78 | 79 | let dataInfo = []; 80 | 81 | 82 | dataInfo.push(personalInfo); 83 | 84 | console.log(dataInfo); 85 | 86 | 87 | localStorage.setItem('personalInformation',JSON.stringify(dataInfo)); 88 | 89 | } 90 | 91 | // localStorage.setItem("personalInformation",JSON.stringify(personalInfo)); 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | } 100 | 101 | 102 | 103 | let buttonForm = document.getElementById("buttonForm"); 104 | buttonForm.addEventListener('click',sendForm); 105 | 106 | 107 | const clearInfo =()=>{ 108 | 109 | sessionStorage.removeItem("name"); 110 | sessionStorage.removeItem("email"); 111 | sessionStorage.removeItem("valuePeso"); 112 | sessionStorage.removeItem("personalInfo"); 113 | 114 | } 115 | 116 | let buttonClear = document.getElementById("clearData"); 117 | buttonClear.addEventListener('click',clearInfo); 118 | 119 | 120 | 121 | 122 | const viewInfo = ()=>{ 123 | 124 | console.log("Execute view......."); 125 | 126 | let information = sessionStorage.getItem("personalInfo"); 127 | let p = document.getElementById('informationData'); 128 | p.innerHTML = information; 129 | 130 | } 131 | 132 | let buttonView = document.getElementById("viewData"); 133 | buttonView.addEventListener('click',viewInfo); 134 | 135 | 136 | 137 | 138 | const viewInfoLocal = ()=>{ 139 | 140 | console.log("Execute view local......."); 141 | 142 | let information = localStorage.getItem("personalInformation"); 143 | 144 | console.log(information); 145 | 146 | let dataJSON = JSON.parse(information); 147 | console.log(dataJSON); 148 | 149 | var viewContent = ''; 150 | dataJSON.map((item)=>{ 151 | 152 | console.log(item); 153 | 154 | viewContent += JSON.stringify(item); 155 | viewContent += '
'; 156 | }) 157 | 158 | console.log(viewContent); 159 | 160 | let p = document.getElementById('informationData'); 161 | 162 | p.innerHTML = viewContent; 163 | 164 | 165 | } 166 | 167 | let buttonViewLocal = document.getElementById("viewDataLocal"); 168 | buttonViewLocal.addEventListener('click',viewInfoLocal); -------------------------------------------------------------------------------- /calculadoraPhp/classCalculadora.php: -------------------------------------------------------------------------------- 1 | resultado = $this->parametros[0] + $this->parametros[1]; 12 | 13 | return true; 14 | } 15 | 16 | private function resta (){ 17 | $this->resultado = $this->parametros[0] - $this->parametros[1]; 18 | 19 | return true; 20 | } 21 | 22 | 23 | private function multiplicacion (){ 24 | $this->resultado = $this->parametros[0] * $this->parametros[1]; 25 | 26 | return true; 27 | } 28 | 29 | 30 | private function division (){ 31 | $this->resultado = $this->parametros[0] / $this->parametros[1]; 32 | 33 | return true; 34 | } 35 | 36 | 37 | private function sumatoria () { 38 | 39 | $limite = $this->parametros[0]; 40 | $valorSumatoria = 0 ; 41 | $i = 1; 42 | while ($i <= $limite) { 43 | 44 | $valorSumatoria = $valorSumatoria + pow($i,2); 45 | 46 | $i++; 47 | } 48 | 49 | $this->resultado = $valorSumatoria; 50 | return true; 51 | 52 | } 53 | 54 | 55 | public function mostrarResultado () { 56 | 57 | echo "Resultado ".$this->operacion." = ". $this->resultado; 58 | return true; 59 | 60 | } 61 | 62 | public function ejecutar ($operacionPr, $parametrosPr){ 63 | $this->operacion= $operacionPr; 64 | $this->parametros = $parametrosPr; 65 | 66 | switch ($this->operacion) { 67 | case 'Suma': 68 | $this->suma(); 69 | break; 70 | case 'Resta': 71 | $this->resta(); 72 | break; 73 | 74 | case 'Multiplicación': 75 | $this->multiplicacion(); 76 | break; 77 | 78 | case 'División': 79 | $this->division(); 80 | break; 81 | 82 | case 'Sumatoria': 83 | $this->sumatoria(); 84 | break; 85 | 86 | default: 87 | echo "Error No selecciono operacion valida!!!"; 88 | break; 89 | } 90 | 91 | } 92 | 93 | } 94 | 95 | $miCalculadora = new Calculadora(); 96 | 97 | $miCalculadora->ejecutar("Sumatoria",[4]); 98 | 99 | $miCalculadora->mostrarResultado(); 100 | 101 | 102 | 103 | 104 | ?> -------------------------------------------------------------------------------- /calculadoraPhp/index.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ejemplo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fullstack-Basico/examples/07457e5cbfed2f9e9403d9b793b9c8f954c71bf5/ejemplo.png -------------------------------------------------------------------------------- /html/abc.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fullstack-Basico/examples/07457e5cbfed2f9e9403d9b793b9c8f954c71bf5/html/abc.css -------------------------------------------------------------------------------- /html/asd.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fullstack-Basico/examples/07457e5cbfed2f9e9403d9b793b9c8f954c71bf5/html/asd.css -------------------------------------------------------------------------------- /html/bbb.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fullstack-Basico/examples/07457e5cbfed2f9e9403d9b793b9c8f954c71bf5/html/bbb.mp4 -------------------------------------------------------------------------------- /html/html-selectors/selectorClass.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Selector Class 8 | 9 | 10 | 11 | 12 |
13 |

14 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dicta omnis velit consequuntur fugiat modi reprehenderit exercitationem obcaecati, nulla dignissimos hic sit commodi eos odio fugit corporis magni, libero quo doloremque accusamus tempora veritatis quidem quas rerum. Omnis, ratione. Facere accusamus eveniet aut eaque iusto, fugiat excepturi sint a rem molestias nihil ipsum expedita nesciunt aperiam qui non quas explicabo tempore voluptas. Voluptates cum porro eum sint dolorem soluta! Autem earum atque ad voluptatem porro odio, suscipit aspernatur eaque incidunt recusandae aut doloremque in maxime repudiandae eos praesentium quidem commodi cupiditate vitae perferendis architecto. Assumenda esse illum accusantium voluptas magnam dolores ea labore aliquid dicta sint quae non quis suscipit laboriosam temporibus, vel quos doloribus sed et, odio impedit quisquam provident natus officia? Beatae ab consectetur similique quam suscipit perspiciatis amet dolore. Soluta nisi maxime asperiores impedit beatae exercitationem eligendi perspiciatis repellat accusantium, est, voluptates illo aspernatur distinctio quaerat, tempora aliquam. 15 |

16 |
17 |
18 |
19 |

Lorem ipsum dolor sit amet consectetur adipisicing elit. Recusandae nisi ipsum incidunt corporis earum iste molestias corrupti, porro eos architecto excepturi, repellendus aut placeat ipsam ut sunt! Vel, tenetur soluta.

20 |
21 | Redirect to google 22 |
23 | 24 | 25 | -------------------------------------------------------------------------------- /html/html-selectors/selectorElement.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Selector element 8 | 9 | 10 | 11 |
12 |

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Est laudantium accusamus consequuntur labore voluptates molestiae sint expedita debitis soluta hic maiores, aspernatur a, eligendi iure autem alias quis inventore incidunt. Consequatur perferendis ipsa magni quaerat impedit aspernatur hic autem ea eligendi! Eum iste eligendi dolores ex, veritatis ut. Atque velit quos molestias iusto sint, sed ad in at, tenetur quasi quam odio eveniet qui consectetur veniam, corrupti ducimus voluptatum quod voluptate maiores obcaecati aliquam. Laborum dolore cum, aut rerum delectus ad quia, odio tempore neque aliquid facilis ratione ipsum libero ut dignissimos amet quam nam suscipit modi nobis perferendis exercitationem maxime? Nostrum quos iste sequi, odit distinctio nulla voluptas modi alias provident necessitatibus dicta a deserunt amet est numquam. Porro temporibus cum voluptatum sequi quo iure accusamus fugit alias quae adipisci, delectus obcaecati! Vitae sit officia sapiente eaque architecto laboriosam maxime, quasi veniam, libero at repudiandae accusamus ducimus vel voluptas!s

13 |
14 |
15 |
16 | Redirect to Google 17 |
18 |
19 |
20 | Redirect to facebook 21 |
22 |
23 |
24 | 25 | 26 | 27 |

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Labore blanditiis illo libero quis laborum quisquam dolorem, vel officia sed ut natus recusandae autem porro hic in a sunt deserunt nostrum dolor. Repellendus eligendi numquam deserunt, repudiandae distinctio fuga labore laboriosam earum eius architecto enim commodi molestiae excepturi adipisci totam a. Magnam aspernatur illum impedit hic totam possimus aut blanditiis saepe! Dolorum neque, accusamus, in a aliquam molestiae voluptatum enim eveniet iste quaerat doloremque fugit qui optio quae nam voluptas, nisi sapiente tempore dicta nulla? Enim odio deleniti quis maxime modi eius labore ea voluptas placeat distinctio repellendus fugiat, rem voluptatibus et aliquam eligendi ipsam porro nulla! Officia ex ut fuga cumque blanditiis cum voluptate dolor, laborum quasi reprehenderit quod eveniet expedita, rem iure vero perferendis. Ad inventore dolores, autem eveniet obcaecati sapiente, voluptatibus harum, incidunt veritatis vero dolore unde. Quisquam aliquid architecto sapiente? Animi, obcaecati? Atque reprehenderit magni nam nobis.

28 | 29 |
abc
30 |
31 |

Title

32 |

Title

33 |

Title

34 | 35 | 36 | -------------------------------------------------------------------------------- /html/html-selectors/selectorId.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Selector id 8 | 9 | 10 | 11 |
12 |

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Eligendi animi, commodi sequi id pariatur, a similique dolore laborum, nihil nostrum voluptatem. Itaque, architecto non quasi distinctio commodi repudiandae nostrum qui voluptatibus consequatur ea deserunt exercitationem quos ipsam et. Numquam nulla ratione molestiae ullam, aliquam at! Laborum ipsum, pariatur dolorem natus quaerat sequi eveniet esse sunt architecto unde maiores commodi dolor amet consequatur nemo exercitationem atque nobis deserunt! Aspernatur itaque et impedit deserunt asperiores assumenda ea. Porro, cupiditate repellat laboriosam earum iste fuga nulla animi dolorum ex? Ducimus commodi pariatur amet rerum accusantium adipisci esse hic assumenda sint perferendis asperiores ullam saepe, obcaecati mollitia debitis dolor culpa maiores deserunt non reiciendis nam architecto. Ipsam ex modi sunt cupiditate! Dolore tempora dolores tenetur tempore obcaecati voluptatum corrupti, cupiditate deserunt alias, reprehenderit nobis, est similique accusantium ea eligendi perferendis voluptatem? Ipsa mollitia voluptatum quae expedita sunt praesentium doloremque exercitationem numquam sapiente! Atque, nam?

13 |
14 | 15 | 16 | -------------------------------------------------------------------------------- /html/html-selectors/selectorMultiple.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Selector multiple 8 | 9 | 10 | 11 | 17 |
18 |

Lorem ipsum dolor, sit amet consectetur adipisicing elit. In aliquid unde laboriosam maxime quaerat. Maiores iusto rerum quibusdam, maxime quo tenetur voluptate, pariatur, dolorem sint corrupti minima dolores adipisci consectetur.

19 |
20 |

Lorem ipsum dolor sit amet consectetur, adipisicing elit. Voluptates, reprehenderit.

21 | 22 |

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit assumenda, quasi labore aut explicabo maiores corrupti error, illo sapiente inventore nesciunt fugiat quos delectus quidem accusamus possimus id! Corporis repellendus architecto amet quam delectus ex cupiditate corrupti. Est porro, suscipit omnis iure, officia quibusdam cum doloribus aut, asperiores dolore inventore!

23 | 24 |
25 |

Title

26 |
27 | 28 |
29 |

Title

30 |
31 | 32 | 33 | -------------------------------------------------------------------------------- /html/html-selectors/styles/selectorClass.css: -------------------------------------------------------------------------------- 1 | .box{ 2 | padding: 5px; 3 | border-style: double; 4 | background-color: darkgrey; 5 | width: 25%; 6 | } 7 | 8 | .mainLetter{ 9 | font-size: x-small; 10 | font-style: italic; 11 | font-family: cursive; 12 | } 13 | 14 | .generalLetter{ 15 | font-size:medium; 16 | font-style:oblique; 17 | font-family:'Courier New', Courier, monospace; 18 | } 19 | 20 | .colorLetter{ 21 | color: deeppink; 22 | } -------------------------------------------------------------------------------- /html/html-selectors/styles/selectorElement.css: -------------------------------------------------------------------------------- 1 | div{ 2 | border-style: solid; 3 | } 4 | 5 | p{ 6 | color: blue; 7 | text-align: justify; 8 | } 9 | 10 | a{ 11 | font-style: italic; 12 | } 13 | h1{ 14 | font-size: 5px; 15 | } 16 | h2{ 17 | font-size: 25px; 18 | } 19 | h3{ 20 | font-size: 50px; 21 | } -------------------------------------------------------------------------------- /html/html-selectors/styles/selectorId.css: -------------------------------------------------------------------------------- 1 | #myContent{ 2 | width: 80%; 3 | color: red; 4 | text-align: center; 5 | border-style: solid; 6 | } -------------------------------------------------------------------------------- /html/html-selectors/styles/selectorMultiple.css: -------------------------------------------------------------------------------- 1 | body{ 2 | background-color:gainsboro; 3 | border: 5px; 4 | } 5 | 6 | p{ 7 | color: brown; 8 | } 9 | 10 | div{ 11 | background-color: gray ; 12 | } 13 | 14 | #mainText{ 15 | color: blue; 16 | } 17 | 18 | .mainLetter{ 19 | color:darkmagenta; 20 | font-family: cursive ; 21 | } 22 | 23 | .styleDiv{ 24 | background-color: whitesmoke; 25 | } 26 | 27 | #box{ 28 | background-color: blue; 29 | } 30 | -------------------------------------------------------------------------------- /html/html-styles/firstStyle.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | HTML - STYLES(firtsStyle) 8 | 9 | 10 | 11 |
12 |

Lorem ipsum dolor sit amet consectetur adipisicing elit. Adipisci incidunt sint blanditiis deserunt enim, aut quis molestias ex in voluptas natus voluptate veniam id odit consequatur tempore dolores, perferendis eum totam doloremque nemo vitae. Quibusdam explicabo distinctio laborum et praesentium vel voluptatum tempora eligendi corrupti ad. Commodi ratione suscipit nostrum aliquam, optio iusto eius nam perspiciatis maiores vero dolores fuga impedit temporibus molestias omnis animi iste perferendis inventore officiis adipisci nobis! Officia alias, tempore in doloribus, iure nihil temporibus natus quis tenetur repudiandae quae id possimus doloremque quia rem, quas velit? Illo neque asperiores voluptas labore totam temporibus facere voluptatibus!

13 |
14 | 15 | 16 | -------------------------------------------------------------------------------- /html/html-styles/secondStyle.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | HTML - STYLES(secondStyle) 8 | 9 | 17 | 18 | 19 |
20 |

Lorem ipsum dolor sit amet consectetur adipisicing elit. Adipisci incidunt sint blanditiis deserunt enim, aut quis molestias ex in voluptas natus voluptate veniam id odit consequatur tempore dolores, perferendis eum totam doloremque nemo vitae. Quibusdam explicabo distinctio laborum et praesentium vel voluptatum tempora eligendi corrupti ad. Commodi ratione suscipit nostrum aliquam, optio iusto eius nam perspiciatis maiores vero dolores fuga impedit temporibus molestias omnis animi iste perferendis inventore officiis adipisci nobis! Officia alias, tempore in doloribus, iure nihil temporibus natus quis tenetur repudiandae quae id possimus doloremque quia rem, quas velit? Illo neque asperiores voluptas labore totam temporibus facere voluptatibus!

21 |
22 | 23 | -------------------------------------------------------------------------------- /html/html-styles/styles/thirdStyle.css: -------------------------------------------------------------------------------- 1 | #abc123{ 2 | width: 50%; 3 | border-style: dashed; 4 | background-color: #47EEEB; 5 | text-align: justify; 6 | } -------------------------------------------------------------------------------- /html/html-styles/thirdStyle.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | HTML - STYLES(thirdStyle) 8 | 9 | 10 | 11 | 12 |
13 |

Lorem ipsum dolor sit amet consectetur adipisicing elit. Adipisci incidunt sint blanditiis deserunt enim, aut quis molestias ex in voluptas natus voluptate veniam id odit consequatur tempore dolores, perferendis eum totam doloremque nemo vitae. Quibusdam explicabo distinctio laborum et praesentium vel voluptatum tempora eligendi corrupti ad. Commodi ratione suscipit nostrum aliquam, optio iusto eius nam perspiciatis maiores vero dolores fuga impedit temporibus molestias omnis animi iste perferendis inventore officiis adipisci nobis! Officia alias, tempore in doloribus, iure nihil temporibus natus quis tenetur repudiandae quae id possimus doloremque quia rem, quas velit? Illo neque asperiores voluptas labore totam temporibus facere voluptatibus!

14 |
15 | 16 | -------------------------------------------------------------------------------- /html/style.css: -------------------------------------------------------------------------------- 1 | .headerTable{ 2 | font-style: normal; 3 | font-size: larger; 4 | background-color: blue; 5 | } 6 | p { 7 | color: aqua; 8 | } 9 | 10 | #mainContent{ 11 | color: darkgreen; 12 | } 13 | -------------------------------------------------------------------------------- /implemetacionLibreria/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Implementación Libreria 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 |
16 |
17 |
18 |
19 |
20 | 21 |
22 |
23 |
24 |
25 | 26 | 27 |
28 |
29 |
30 |
31 | 32 | 33 |
34 |
35 |
36 |
37 |
38 | 39 | 42 |
43 |
44 |
45 |
46 |
47 |
48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /implemetacionLibreria/materialize/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014-2018 Materialize 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /implemetacionLibreria/materialize/README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | 4 | 5 |

6 | 7 |

MaterializeCSS

8 | 9 |

10 | Materialize, a CSS Framework based on material design. 11 |
12 | -- Browse the docs -- 13 |
14 |
15 | 16 | Travis CI badge 17 | 18 | 19 | npm version badge 20 | 21 | 22 | CDNJS version badge 23 | 24 | 25 | dependencies Status badge 26 | 27 | 28 | devDependency Status badge 29 | 30 | 31 | Gitter badge 32 | 33 |

34 | 35 | ## Table of Contents 36 | - [Quickstart](#quickstart) 37 | - [Documentation](#documentation) 38 | - [Supported Browsers](#supported-browsers) 39 | - [Changelog](#changelog) 40 | - [Testing](#testing) 41 | - [Contributing](#contributing) 42 | - [Copyright and license](#copyright-and-license) 43 | 44 | ## Quickstart: 45 | Read the [getting started guide](http://materializecss.com/getting-started.html) for more information on how to use materialize. 46 | 47 | - [Download the latest release](https://github.com/Dogfalo/materialize/releases/latest) of materialize directly from GitHub. ([Beta](https://github.com/Dogfalo/materialize/releases/)) 48 | - Clone the repo: `git clone https://github.com/Dogfalo/materialize.git` (Beta: `git clone -b v1-dev https://github.com/Dogfalo/materialize.git`) 49 | - Include the files via [cdnjs](https://cdnjs.com/libraries/materialize). More [here](http://materializecss.com/getting-started.html). ([Beta](https://cdnjs.com/libraries/materialize/1.0.0-beta)) 50 | - Install with [npm](https://www.npmjs.com): `npm install materialize-css` (Beta: `npm install materialize-css@next`) 51 | - Install with [Bower](https://bower.io): `bower install materialize` ([DEPRECATED](https://bower.io/blog/2017/how-to-migrate-away-from-bower/)) 52 | - Install with [Atmosphere](https://atmospherejs.com): `meteor add materialize:materialize` (Beta: `meteor add materialize:materialize@=1.0.0-beta`) 53 | 54 | ## Documentation 55 | The documentation can be found at . To run the documentation locally on your machine, you need [Node.js](https://nodejs.org/en/) installed on your computer. 56 | 57 | ### Running documentation locally 58 | Run these commands to set up the documentation: 59 | 60 | ```bash 61 | git clone https://github.com/Dogfalo/materialize 62 | cd materialize 63 | npm install 64 | ``` 65 | 66 | Then run `grunt monitor` to compile the documentation. When it finishes, open a new browser window and navigate to `localhost:8000`. We use [BrowserSync](https://www.browsersync.io/) to display the documentation. 67 | 68 | ### Documentation for previous releases 69 | Previous releases and their documentation are available for [download](https://github.com/Dogfalo/materialize/releases). 70 | 71 | ## Supported Browsers: 72 | Materialize is compatible with: 73 | 74 | - Chrome 35+ 75 | - Firefox 31+ 76 | - Safari 9+ 77 | - Opera 78 | - Edge 79 | - IE 11+ 80 | 81 | ## Changelog 82 | For changelogs, check out [the Releases section of materialize](https://github.com/Dogfalo/materialize/releases) or the [CHANGELOG.md](CHANGELOG.md). 83 | 84 | ## Testing 85 | We use Jasmine as our testing framework and we're trying to write a robust test suite for our components. If you want to help, [here's a starting guide on how to write tests in Jasmine](CONTRIBUTING.md#jasmine-testing-guide). 86 | 87 | ## Contributing 88 | Check out the [CONTRIBUTING document](CONTRIBUTING.md) in the root of the repository to learn how you can contribute. You can also browse the [help-wanted](https://github.com/Dogfalo/materialize/labels/help-wanted) tag in our issue tracker to find things to do. 89 | 90 | ## Copyright and license 91 | Code Copyright 2018 Materialize. Code released under the MIT license. 92 | -------------------------------------------------------------------------------- /my-project/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | indent_size = 4 7 | indent_style = space 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | 14 | [*.{yml,yaml}] 15 | indent_size = 2 16 | 17 | [docker-compose.yml] 18 | indent_size = 4 19 | -------------------------------------------------------------------------------- /my-project/.env.example: -------------------------------------------------------------------------------- 1 | APP_NAME=Laravel 2 | APP_ENV=local 3 | APP_KEY= 4 | APP_DEBUG=true 5 | APP_URL=http://localhost 6 | 7 | LOG_CHANNEL=stack 8 | LOG_DEPRECATIONS_CHANNEL=null 9 | LOG_LEVEL=debug 10 | 11 | DB_CONNECTION=mysql 12 | DB_HOST=127.0.0.1 13 | DB_PORT=3306 14 | DB_DATABASE=my_project 15 | DB_USERNAME=root 16 | DB_PASSWORD= 17 | 18 | BROADCAST_DRIVER=log 19 | CACHE_DRIVER=file 20 | FILESYSTEM_DISK=local 21 | QUEUE_CONNECTION=sync 22 | SESSION_DRIVER=file 23 | SESSION_LIFETIME=120 24 | 25 | MEMCACHED_HOST=127.0.0.1 26 | 27 | REDIS_HOST=127.0.0.1 28 | REDIS_PASSWORD=null 29 | REDIS_PORT=6379 30 | 31 | MAIL_MAILER=smtp 32 | MAIL_HOST=mailpit 33 | MAIL_PORT=1025 34 | MAIL_USERNAME=null 35 | MAIL_PASSWORD=null 36 | MAIL_ENCRYPTION=null 37 | MAIL_FROM_ADDRESS="hello@example.com" 38 | MAIL_FROM_NAME="${APP_NAME}" 39 | 40 | AWS_ACCESS_KEY_ID= 41 | AWS_SECRET_ACCESS_KEY= 42 | AWS_DEFAULT_REGION=us-east-1 43 | AWS_BUCKET= 44 | AWS_USE_PATH_STYLE_ENDPOINT=false 45 | 46 | PUSHER_APP_ID= 47 | PUSHER_APP_KEY= 48 | PUSHER_APP_SECRET= 49 | PUSHER_HOST= 50 | PUSHER_PORT=443 51 | PUSHER_SCHEME=https 52 | PUSHER_APP_CLUSTER=mt1 53 | 54 | VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}" 55 | VITE_PUSHER_HOST="${PUSHER_HOST}" 56 | VITE_PUSHER_PORT="${PUSHER_PORT}" 57 | VITE_PUSHER_SCHEME="${PUSHER_SCHEME}" 58 | VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" 59 | -------------------------------------------------------------------------------- /my-project/.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | 3 | *.blade.php diff=html 4 | *.css diff=css 5 | *.html diff=html 6 | *.md diff=markdown 7 | *.php diff=php 8 | 9 | /.github export-ignore 10 | CHANGELOG.md export-ignore 11 | .styleci.yml export-ignore 12 | -------------------------------------------------------------------------------- /my-project/.gitignore: -------------------------------------------------------------------------------- 1 | /.phpunit.cache 2 | /node_modules 3 | /public/build 4 | /public/hot 5 | /public/storage 6 | /storage/*.key 7 | /vendor 8 | .env 9 | .env.backup 10 | .env.production 11 | .phpunit.result.cache 12 | Homestead.json 13 | Homestead.yaml 14 | auth.json 15 | npm-debug.log 16 | yarn-error.log 17 | /.fleet 18 | /.idea 19 | /.vscode 20 | *.txt -------------------------------------------------------------------------------- /my-project/README.md: -------------------------------------------------------------------------------- 1 |

Laravel Logo

2 | 3 |

4 | Build Status 5 | Total Downloads 6 | Latest Stable Version 7 | License 8 |

9 | 10 | ## About Laravel 11 | 12 | Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as: 13 | 14 | - [Simple, fast routing engine](https://laravel.com/docs/routing). 15 | - [Powerful dependency injection container](https://laravel.com/docs/container). 16 | - Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage. 17 | - Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent). 18 | - Database agnostic [schema migrations](https://laravel.com/docs/migrations). 19 | - [Robust background job processing](https://laravel.com/docs/queues). 20 | - [Real-time event broadcasting](https://laravel.com/docs/broadcasting). 21 | 22 | Laravel is accessible, powerful, and provides tools required for large, robust applications. 23 | 24 | ## Learning Laravel 25 | 26 | Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework. 27 | 28 | You may also try the [Laravel Bootcamp](https://bootcamp.laravel.com), where you will be guided through building a modern Laravel application from scratch. 29 | 30 | If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains over 2000 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library. 31 | 32 | ## Laravel Sponsors 33 | 34 | We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the Laravel [Patreon page](https://patreon.com/taylorotwell). 35 | 36 | ### Premium Partners 37 | 38 | - **[Vehikl](https://vehikl.com/)** 39 | - **[Tighten Co.](https://tighten.co)** 40 | - **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)** 41 | - **[64 Robots](https://64robots.com)** 42 | - **[Cubet Techno Labs](https://cubettech.com)** 43 | - **[Cyber-Duck](https://cyber-duck.co.uk)** 44 | - **[Many](https://www.many.co.uk)** 45 | - **[Webdock, Fast VPS Hosting](https://www.webdock.io/en)** 46 | - **[DevSquad](https://devsquad.com)** 47 | - **[Curotec](https://www.curotec.com/services/technologies/laravel/)** 48 | - **[OP.GG](https://op.gg)** 49 | - **[WebReinvent](https://webreinvent.com/?utm_source=laravel&utm_medium=github&utm_campaign=patreon-sponsors)** 50 | - **[Lendio](https://lendio.com)** 51 | 52 | ## Contributing 53 | 54 | Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions). 55 | 56 | ## Code of Conduct 57 | 58 | In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct). 59 | 60 | ## Security Vulnerabilities 61 | 62 | If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed. 63 | 64 | ## License 65 | 66 | The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT). 67 | -------------------------------------------------------------------------------- /my-project/app/Console/Kernel.php: -------------------------------------------------------------------------------- 1 | command('inspire')->hourly(); 16 | } 17 | 18 | /** 19 | * Register the commands for the application. 20 | */ 21 | protected function commands(): void 22 | { 23 | $this->load(__DIR__.'/Commands'); 24 | 25 | require base_path('routes/console.php'); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /my-project/app/Exceptions/Handler.php: -------------------------------------------------------------------------------- 1 | 14 | */ 15 | protected $dontFlash = [ 16 | 'current_password', 17 | 'password', 18 | 'password_confirmation', 19 | ]; 20 | 21 | /** 22 | * Register the exception handling callbacks for the application. 23 | */ 24 | public function register(): void 25 | { 26 | $this->reportable(function (Throwable $e) { 27 | // 28 | }); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /my-project/app/Http/Controllers/Controller.php: -------------------------------------------------------------------------------- 1 | 15 | */ 16 | protected $middleware = [ 17 | // \App\Http\Middleware\TrustHosts::class, 18 | \App\Http\Middleware\TrustProxies::class, 19 | \Illuminate\Http\Middleware\HandleCors::class, 20 | \App\Http\Middleware\PreventRequestsDuringMaintenance::class, 21 | \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, 22 | \App\Http\Middleware\TrimStrings::class, 23 | \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, 24 | ]; 25 | 26 | /** 27 | * The application's route middleware groups. 28 | * 29 | * @var array> 30 | */ 31 | protected $middlewareGroups = [ 32 | 'web' => [ 33 | \App\Http\Middleware\EncryptCookies::class, 34 | \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, 35 | \Illuminate\Session\Middleware\StartSession::class, 36 | \Illuminate\View\Middleware\ShareErrorsFromSession::class, 37 | \App\Http\Middleware\VerifyCsrfToken::class, 38 | \Illuminate\Routing\Middleware\SubstituteBindings::class, 39 | ], 40 | 41 | 'api' => [ 42 | // \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class, 43 | \Illuminate\Routing\Middleware\ThrottleRequests::class.':api', 44 | \Illuminate\Routing\Middleware\SubstituteBindings::class, 45 | ], 46 | ]; 47 | 48 | /** 49 | * The application's middleware aliases. 50 | * 51 | * Aliases may be used instead of class names to conveniently assign middleware to routes and groups. 52 | * 53 | * @var array 54 | */ 55 | protected $middlewareAliases = [ 56 | 'auth' => \App\Http\Middleware\Authenticate::class, 57 | 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 58 | 'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class, 59 | 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, 60 | 'can' => \Illuminate\Auth\Middleware\Authorize::class, 61 | 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 62 | 'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class, 63 | 'signed' => \App\Http\Middleware\ValidateSignature::class, 64 | 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 65 | 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, 66 | ]; 67 | } 68 | -------------------------------------------------------------------------------- /my-project/app/Http/Middleware/Authenticate.php: -------------------------------------------------------------------------------- 1 | expectsJson() ? null : route('login'); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /my-project/app/Http/Middleware/EncryptCookies.php: -------------------------------------------------------------------------------- 1 | 13 | */ 14 | protected $except = [ 15 | // 16 | ]; 17 | } 18 | -------------------------------------------------------------------------------- /my-project/app/Http/Middleware/PreventRequestsDuringMaintenance.php: -------------------------------------------------------------------------------- 1 | 13 | */ 14 | protected $except = [ 15 | // 16 | ]; 17 | } 18 | -------------------------------------------------------------------------------- /my-project/app/Http/Middleware/RedirectIfAuthenticated.php: -------------------------------------------------------------------------------- 1 | check()) { 24 | return redirect(RouteServiceProvider::HOME); 25 | } 26 | } 27 | 28 | return $next($request); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /my-project/app/Http/Middleware/TrimStrings.php: -------------------------------------------------------------------------------- 1 | 13 | */ 14 | protected $except = [ 15 | 'current_password', 16 | 'password', 17 | 'password_confirmation', 18 | ]; 19 | } 20 | -------------------------------------------------------------------------------- /my-project/app/Http/Middleware/TrustHosts.php: -------------------------------------------------------------------------------- 1 | 13 | */ 14 | public function hosts(): array 15 | { 16 | return [ 17 | $this->allSubdomainsOfApplicationUrl(), 18 | ]; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /my-project/app/Http/Middleware/TrustProxies.php: -------------------------------------------------------------------------------- 1 | |string|null 14 | */ 15 | protected $proxies; 16 | 17 | /** 18 | * The headers that should be used to detect proxies. 19 | * 20 | * @var int 21 | */ 22 | protected $headers = 23 | Request::HEADER_X_FORWARDED_FOR | 24 | Request::HEADER_X_FORWARDED_HOST | 25 | Request::HEADER_X_FORWARDED_PORT | 26 | Request::HEADER_X_FORWARDED_PROTO | 27 | Request::HEADER_X_FORWARDED_AWS_ELB; 28 | } 29 | -------------------------------------------------------------------------------- /my-project/app/Http/Middleware/ValidateSignature.php: -------------------------------------------------------------------------------- 1 | 13 | */ 14 | protected $except = [ 15 | // 'fbclid', 16 | // 'utm_campaign', 17 | // 'utm_content', 18 | // 'utm_medium', 19 | // 'utm_source', 20 | // 'utm_term', 21 | ]; 22 | } 23 | -------------------------------------------------------------------------------- /my-project/app/Http/Middleware/VerifyCsrfToken.php: -------------------------------------------------------------------------------- 1 | 13 | */ 14 | protected $except = [ 15 | // 16 | ]; 17 | } 18 | -------------------------------------------------------------------------------- /my-project/app/Models/Book.php: -------------------------------------------------------------------------------- 1 | 19 | */ 20 | protected $fillable = [ 21 | 'name', 22 | 'email', 23 | 'password', 24 | ]; 25 | 26 | /** 27 | * The attributes that should be hidden for serialization. 28 | * 29 | * @var array 30 | */ 31 | protected $hidden = [ 32 | 'password', 33 | 'remember_token', 34 | ]; 35 | 36 | /** 37 | * The attributes that should be cast. 38 | * 39 | * @var array 40 | */ 41 | protected $casts = [ 42 | 'email_verified_at' => 'datetime', 43 | 'password' => 'hashed', 44 | ]; 45 | } 46 | -------------------------------------------------------------------------------- /my-project/app/Providers/AppServiceProvider.php: -------------------------------------------------------------------------------- 1 | 14 | */ 15 | protected $policies = [ 16 | // 17 | ]; 18 | 19 | /** 20 | * Register any authentication / authorization services. 21 | */ 22 | public function boot(): void 23 | { 24 | // 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /my-project/app/Providers/BroadcastServiceProvider.php: -------------------------------------------------------------------------------- 1 | > 16 | */ 17 | protected $listen = [ 18 | Registered::class => [ 19 | SendEmailVerificationNotification::class, 20 | ], 21 | ]; 22 | 23 | /** 24 | * Register any events for your application. 25 | */ 26 | public function boot(): void 27 | { 28 | // 29 | } 30 | 31 | /** 32 | * Determine if events and listeners should be automatically discovered. 33 | */ 34 | public function shouldDiscoverEvents(): bool 35 | { 36 | return false; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /my-project/app/Providers/RouteServiceProvider.php: -------------------------------------------------------------------------------- 1 | by($request->user()?->id ?: $request->ip()); 29 | }); 30 | 31 | $this->routes(function () { 32 | Route::middleware('api') 33 | ->prefix('api') 34 | ->group(base_path('routes/api.php')); 35 | 36 | Route::middleware('web') 37 | ->group(base_path('routes/web.php')); 38 | }); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /my-project/artisan: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | make(Illuminate\Contracts\Console\Kernel::class); 34 | 35 | $status = $kernel->handle( 36 | $input = new Symfony\Component\Console\Input\ArgvInput, 37 | new Symfony\Component\Console\Output\ConsoleOutput 38 | ); 39 | 40 | /* 41 | |-------------------------------------------------------------------------- 42 | | Shutdown The Application 43 | |-------------------------------------------------------------------------- 44 | | 45 | | Once Artisan has finished running, we will fire off the shutdown events 46 | | so that any final work may be done by the application before we shut 47 | | down the process. This is the last thing to happen to the request. 48 | | 49 | */ 50 | 51 | $kernel->terminate($input, $status); 52 | 53 | exit($status); 54 | -------------------------------------------------------------------------------- /my-project/bootstrap/app.php: -------------------------------------------------------------------------------- 1 | singleton( 30 | Illuminate\Contracts\Http\Kernel::class, 31 | App\Http\Kernel::class 32 | ); 33 | 34 | $app->singleton( 35 | Illuminate\Contracts\Console\Kernel::class, 36 | App\Console\Kernel::class 37 | ); 38 | 39 | $app->singleton( 40 | Illuminate\Contracts\Debug\ExceptionHandler::class, 41 | App\Exceptions\Handler::class 42 | ); 43 | 44 | /* 45 | |-------------------------------------------------------------------------- 46 | | Return The Application 47 | |-------------------------------------------------------------------------- 48 | | 49 | | This script returns the application instance. The instance is given to 50 | | the calling script so we can separate the building of the instances 51 | | from the actual running of the application and sending responses. 52 | | 53 | */ 54 | 55 | return $app; 56 | -------------------------------------------------------------------------------- /my-project/bootstrap/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /my-project/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "laravel/laravel", 3 | "type": "project", 4 | "description": "The Laravel Framework.", 5 | "keywords": ["framework", "laravel"], 6 | "license": "MIT", 7 | "require": { 8 | "php": "^8.1", 9 | "guzzlehttp/guzzle": "^7.2", 10 | "laravel/framework": "^10.10", 11 | "laravel/sanctum": "^3.2", 12 | "laravel/tinker": "^2.8" 13 | }, 14 | "require-dev": { 15 | "fakerphp/faker": "^1.9.1", 16 | "laravel/pint": "^1.0", 17 | "laravel/sail": "^1.18", 18 | "mockery/mockery": "^1.4.4", 19 | "nunomaduro/collision": "^7.0", 20 | "phpunit/phpunit": "^10.1", 21 | "spatie/laravel-ignition": "^2.0" 22 | }, 23 | "autoload": { 24 | "psr-4": { 25 | "App\\": "app/", 26 | "Database\\Factories\\": "database/factories/", 27 | "Database\\Seeders\\": "database/seeders/" 28 | } 29 | }, 30 | "autoload-dev": { 31 | "psr-4": { 32 | "Tests\\": "tests/" 33 | } 34 | }, 35 | "scripts": { 36 | "post-autoload-dump": [ 37 | "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", 38 | "@php artisan package:discover --ansi" 39 | ], 40 | "post-update-cmd": [ 41 | "@php artisan vendor:publish --tag=laravel-assets --ansi --force" 42 | ], 43 | "post-root-package-install": [ 44 | "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" 45 | ], 46 | "post-create-project-cmd": [ 47 | "@php artisan key:generate --ansi" 48 | ] 49 | }, 50 | "extra": { 51 | "laravel": { 52 | "dont-discover": [] 53 | } 54 | }, 55 | "config": { 56 | "optimize-autoloader": true, 57 | "preferred-install": "dist", 58 | "sort-packages": true, 59 | "allow-plugins": { 60 | "pestphp/pest-plugin": true, 61 | "php-http/discovery": true 62 | } 63 | }, 64 | "minimum-stability": "stable", 65 | "prefer-stable": true 66 | } 67 | -------------------------------------------------------------------------------- /my-project/config/auth.php: -------------------------------------------------------------------------------- 1 | [ 17 | 'guard' => 'web', 18 | 'passwords' => 'users', 19 | ], 20 | 21 | /* 22 | |-------------------------------------------------------------------------- 23 | | Authentication Guards 24 | |-------------------------------------------------------------------------- 25 | | 26 | | Next, you may define every authentication guard for your application. 27 | | Of course, a great default configuration has been defined for you 28 | | here which uses session storage and the Eloquent user provider. 29 | | 30 | | All authentication drivers have a user provider. This defines how the 31 | | users are actually retrieved out of your database or other storage 32 | | mechanisms used by this application to persist your user's data. 33 | | 34 | | Supported: "session" 35 | | 36 | */ 37 | 38 | 'guards' => [ 39 | 'web' => [ 40 | 'driver' => 'session', 41 | 'provider' => 'users', 42 | ], 43 | ], 44 | 45 | /* 46 | |-------------------------------------------------------------------------- 47 | | User Providers 48 | |-------------------------------------------------------------------------- 49 | | 50 | | All authentication drivers have a user provider. This defines how the 51 | | users are actually retrieved out of your database or other storage 52 | | mechanisms used by this application to persist your user's data. 53 | | 54 | | If you have multiple user tables or models you may configure multiple 55 | | sources which represent each model / table. These sources may then 56 | | be assigned to any extra authentication guards you have defined. 57 | | 58 | | Supported: "database", "eloquent" 59 | | 60 | */ 61 | 62 | 'providers' => [ 63 | 'users' => [ 64 | 'driver' => 'eloquent', 65 | 'model' => App\Models\User::class, 66 | ], 67 | 68 | // 'users' => [ 69 | // 'driver' => 'database', 70 | // 'table' => 'users', 71 | // ], 72 | ], 73 | 74 | /* 75 | |-------------------------------------------------------------------------- 76 | | Resetting Passwords 77 | |-------------------------------------------------------------------------- 78 | | 79 | | You may specify multiple password reset configurations if you have more 80 | | than one user table or model in the application and you want to have 81 | | separate password reset settings based on the specific user types. 82 | | 83 | | The expiry time is the number of minutes that each reset token will be 84 | | considered valid. This security feature keeps tokens short-lived so 85 | | they have less time to be guessed. You may change this as needed. 86 | | 87 | | The throttle setting is the number of seconds a user must wait before 88 | | generating more password reset tokens. This prevents the user from 89 | | quickly generating a very large amount of password reset tokens. 90 | | 91 | */ 92 | 93 | 'passwords' => [ 94 | 'users' => [ 95 | 'provider' => 'users', 96 | 'table' => 'password_reset_tokens', 97 | 'expire' => 60, 98 | 'throttle' => 60, 99 | ], 100 | ], 101 | 102 | /* 103 | |-------------------------------------------------------------------------- 104 | | Password Confirmation Timeout 105 | |-------------------------------------------------------------------------- 106 | | 107 | | Here you may define the amount of seconds before a password confirmation 108 | | times out and the user is prompted to re-enter their password via the 109 | | confirmation screen. By default, the timeout lasts for three hours. 110 | | 111 | */ 112 | 113 | 'password_timeout' => 10800, 114 | 115 | ]; 116 | -------------------------------------------------------------------------------- /my-project/config/broadcasting.php: -------------------------------------------------------------------------------- 1 | env('BROADCAST_DRIVER', 'null'), 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Broadcast Connections 23 | |-------------------------------------------------------------------------- 24 | | 25 | | Here you may define all of the broadcast connections that will be used 26 | | to broadcast events to other systems or over websockets. Samples of 27 | | each available type of connection are provided inside this array. 28 | | 29 | */ 30 | 31 | 'connections' => [ 32 | 33 | 'pusher' => [ 34 | 'driver' => 'pusher', 35 | 'key' => env('PUSHER_APP_KEY'), 36 | 'secret' => env('PUSHER_APP_SECRET'), 37 | 'app_id' => env('PUSHER_APP_ID'), 38 | 'options' => [ 39 | 'cluster' => env('PUSHER_APP_CLUSTER'), 40 | 'host' => env('PUSHER_HOST') ?: 'api-'.env('PUSHER_APP_CLUSTER', 'mt1').'.pusher.com', 41 | 'port' => env('PUSHER_PORT', 443), 42 | 'scheme' => env('PUSHER_SCHEME', 'https'), 43 | 'encrypted' => true, 44 | 'useTLS' => env('PUSHER_SCHEME', 'https') === 'https', 45 | ], 46 | 'client_options' => [ 47 | // Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html 48 | ], 49 | ], 50 | 51 | 'ably' => [ 52 | 'driver' => 'ably', 53 | 'key' => env('ABLY_KEY'), 54 | ], 55 | 56 | 'redis' => [ 57 | 'driver' => 'redis', 58 | 'connection' => 'default', 59 | ], 60 | 61 | 'log' => [ 62 | 'driver' => 'log', 63 | ], 64 | 65 | 'null' => [ 66 | 'driver' => 'null', 67 | ], 68 | 69 | ], 70 | 71 | ]; 72 | -------------------------------------------------------------------------------- /my-project/config/cache.php: -------------------------------------------------------------------------------- 1 | env('CACHE_DRIVER', 'file'), 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Cache Stores 23 | |-------------------------------------------------------------------------- 24 | | 25 | | Here you may define all of the cache "stores" for your application as 26 | | well as their drivers. You may even define multiple stores for the 27 | | same cache driver to group types of items stored in your caches. 28 | | 29 | | Supported drivers: "apc", "array", "database", "file", 30 | | "memcached", "redis", "dynamodb", "octane", "null" 31 | | 32 | */ 33 | 34 | 'stores' => [ 35 | 36 | 'apc' => [ 37 | 'driver' => 'apc', 38 | ], 39 | 40 | 'array' => [ 41 | 'driver' => 'array', 42 | 'serialize' => false, 43 | ], 44 | 45 | 'database' => [ 46 | 'driver' => 'database', 47 | 'table' => 'cache', 48 | 'connection' => null, 49 | 'lock_connection' => null, 50 | ], 51 | 52 | 'file' => [ 53 | 'driver' => 'file', 54 | 'path' => storage_path('framework/cache/data'), 55 | 'lock_path' => storage_path('framework/cache/data'), 56 | ], 57 | 58 | 'memcached' => [ 59 | 'driver' => 'memcached', 60 | 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), 61 | 'sasl' => [ 62 | env('MEMCACHED_USERNAME'), 63 | env('MEMCACHED_PASSWORD'), 64 | ], 65 | 'options' => [ 66 | // Memcached::OPT_CONNECT_TIMEOUT => 2000, 67 | ], 68 | 'servers' => [ 69 | [ 70 | 'host' => env('MEMCACHED_HOST', '127.0.0.1'), 71 | 'port' => env('MEMCACHED_PORT', 11211), 72 | 'weight' => 100, 73 | ], 74 | ], 75 | ], 76 | 77 | 'redis' => [ 78 | 'driver' => 'redis', 79 | 'connection' => 'cache', 80 | 'lock_connection' => 'default', 81 | ], 82 | 83 | 'dynamodb' => [ 84 | 'driver' => 'dynamodb', 85 | 'key' => env('AWS_ACCESS_KEY_ID'), 86 | 'secret' => env('AWS_SECRET_ACCESS_KEY'), 87 | 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), 88 | 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'), 89 | 'endpoint' => env('DYNAMODB_ENDPOINT'), 90 | ], 91 | 92 | 'octane' => [ 93 | 'driver' => 'octane', 94 | ], 95 | 96 | ], 97 | 98 | /* 99 | |-------------------------------------------------------------------------- 100 | | Cache Key Prefix 101 | |-------------------------------------------------------------------------- 102 | | 103 | | When utilizing the APC, database, memcached, Redis, or DynamoDB cache 104 | | stores there might be other applications using the same cache. For 105 | | that reason, you may prefix every cache key to avoid collisions. 106 | | 107 | */ 108 | 109 | 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache_'), 110 | 111 | ]; 112 | -------------------------------------------------------------------------------- /my-project/config/cors.php: -------------------------------------------------------------------------------- 1 | ['api/*', 'sanctum/csrf-cookie'], 19 | 20 | 'allowed_methods' => ['*'], 21 | 22 | 'allowed_origins' => ['*'], 23 | 24 | 'allowed_origins_patterns' => [], 25 | 26 | 'allowed_headers' => ['*'], 27 | 28 | 'exposed_headers' => [], 29 | 30 | 'max_age' => 0, 31 | 32 | 'supports_credentials' => false, 33 | 34 | ]; 35 | -------------------------------------------------------------------------------- /my-project/config/filesystems.php: -------------------------------------------------------------------------------- 1 | env('FILESYSTEM_DISK', 'local'), 17 | 18 | /* 19 | |-------------------------------------------------------------------------- 20 | | Filesystem Disks 21 | |-------------------------------------------------------------------------- 22 | | 23 | | Here you may configure as many filesystem "disks" as you wish, and you 24 | | may even configure multiple disks of the same driver. Defaults have 25 | | been set up for each driver as an example of the required values. 26 | | 27 | | Supported Drivers: "local", "ftp", "sftp", "s3" 28 | | 29 | */ 30 | 31 | 'disks' => [ 32 | 33 | 'local' => [ 34 | 'driver' => 'local', 35 | 'root' => storage_path('app'), 36 | 'throw' => false, 37 | ], 38 | 39 | 'public' => [ 40 | 'driver' => 'local', 41 | 'root' => storage_path('app/public'), 42 | 'url' => env('APP_URL').'/storage', 43 | 'visibility' => 'public', 44 | 'throw' => false, 45 | ], 46 | 47 | 's3' => [ 48 | 'driver' => 's3', 49 | 'key' => env('AWS_ACCESS_KEY_ID'), 50 | 'secret' => env('AWS_SECRET_ACCESS_KEY'), 51 | 'region' => env('AWS_DEFAULT_REGION'), 52 | 'bucket' => env('AWS_BUCKET'), 53 | 'url' => env('AWS_URL'), 54 | 'endpoint' => env('AWS_ENDPOINT'), 55 | 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false), 56 | 'throw' => false, 57 | ], 58 | 59 | ], 60 | 61 | /* 62 | |-------------------------------------------------------------------------- 63 | | Symbolic Links 64 | |-------------------------------------------------------------------------- 65 | | 66 | | Here you may configure the symbolic links that will be created when the 67 | | `storage:link` Artisan command is executed. The array keys should be 68 | | the locations of the links and the values should be their targets. 69 | | 70 | */ 71 | 72 | 'links' => [ 73 | public_path('storage') => storage_path('app/public'), 74 | ], 75 | 76 | ]; 77 | -------------------------------------------------------------------------------- /my-project/config/hashing.php: -------------------------------------------------------------------------------- 1 | 'bcrypt', 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Bcrypt Options 23 | |-------------------------------------------------------------------------- 24 | | 25 | | Here you may specify the configuration options that should be used when 26 | | passwords are hashed using the Bcrypt algorithm. This will allow you 27 | | to control the amount of time it takes to hash the given password. 28 | | 29 | */ 30 | 31 | 'bcrypt' => [ 32 | 'rounds' => env('BCRYPT_ROUNDS', 10), 33 | ], 34 | 35 | /* 36 | |-------------------------------------------------------------------------- 37 | | Argon Options 38 | |-------------------------------------------------------------------------- 39 | | 40 | | Here you may specify the configuration options that should be used when 41 | | passwords are hashed using the Argon algorithm. These will allow you 42 | | to control the amount of time it takes to hash the given password. 43 | | 44 | */ 45 | 46 | 'argon' => [ 47 | 'memory' => 65536, 48 | 'threads' => 1, 49 | 'time' => 4, 50 | ], 51 | 52 | ]; 53 | -------------------------------------------------------------------------------- /my-project/config/logging.php: -------------------------------------------------------------------------------- 1 | env('LOG_CHANNEL', 'stack'), 22 | 23 | /* 24 | |-------------------------------------------------------------------------- 25 | | Deprecations Log Channel 26 | |-------------------------------------------------------------------------- 27 | | 28 | | This option controls the log channel that should be used to log warnings 29 | | regarding deprecated PHP and library features. This allows you to get 30 | | your application ready for upcoming major versions of dependencies. 31 | | 32 | */ 33 | 34 | 'deprecations' => [ 35 | 'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'), 36 | 'trace' => false, 37 | ], 38 | 39 | /* 40 | |-------------------------------------------------------------------------- 41 | | Log Channels 42 | |-------------------------------------------------------------------------- 43 | | 44 | | Here you may configure the log channels for your application. Out of 45 | | the box, Laravel uses the Monolog PHP logging library. This gives 46 | | you a variety of powerful log handlers / formatters to utilize. 47 | | 48 | | Available Drivers: "single", "daily", "slack", "syslog", 49 | | "errorlog", "monolog", 50 | | "custom", "stack" 51 | | 52 | */ 53 | 54 | 'channels' => [ 55 | 'stack' => [ 56 | 'driver' => 'stack', 57 | 'channels' => ['single'], 58 | 'ignore_exceptions' => false, 59 | ], 60 | 61 | 'single' => [ 62 | 'driver' => 'single', 63 | 'path' => storage_path('logs/laravel.log'), 64 | 'level' => env('LOG_LEVEL', 'debug'), 65 | 'replace_placeholders' => true, 66 | ], 67 | 68 | 'daily' => [ 69 | 'driver' => 'daily', 70 | 'path' => storage_path('logs/laravel.log'), 71 | 'level' => env('LOG_LEVEL', 'debug'), 72 | 'days' => 14, 73 | 'replace_placeholders' => true, 74 | ], 75 | 76 | 'slack' => [ 77 | 'driver' => 'slack', 78 | 'url' => env('LOG_SLACK_WEBHOOK_URL'), 79 | 'username' => 'Laravel Log', 80 | 'emoji' => ':boom:', 81 | 'level' => env('LOG_LEVEL', 'critical'), 82 | 'replace_placeholders' => true, 83 | ], 84 | 85 | 'papertrail' => [ 86 | 'driver' => 'monolog', 87 | 'level' => env('LOG_LEVEL', 'debug'), 88 | 'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class), 89 | 'handler_with' => [ 90 | 'host' => env('PAPERTRAIL_URL'), 91 | 'port' => env('PAPERTRAIL_PORT'), 92 | 'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'), 93 | ], 94 | 'processors' => [PsrLogMessageProcessor::class], 95 | ], 96 | 97 | 'stderr' => [ 98 | 'driver' => 'monolog', 99 | 'level' => env('LOG_LEVEL', 'debug'), 100 | 'handler' => StreamHandler::class, 101 | 'formatter' => env('LOG_STDERR_FORMATTER'), 102 | 'with' => [ 103 | 'stream' => 'php://stderr', 104 | ], 105 | 'processors' => [PsrLogMessageProcessor::class], 106 | ], 107 | 108 | 'syslog' => [ 109 | 'driver' => 'syslog', 110 | 'level' => env('LOG_LEVEL', 'debug'), 111 | 'facility' => LOG_USER, 112 | 'replace_placeholders' => true, 113 | ], 114 | 115 | 'errorlog' => [ 116 | 'driver' => 'errorlog', 117 | 'level' => env('LOG_LEVEL', 'debug'), 118 | 'replace_placeholders' => true, 119 | ], 120 | 121 | 'null' => [ 122 | 'driver' => 'monolog', 123 | 'handler' => NullHandler::class, 124 | ], 125 | 126 | 'emergency' => [ 127 | 'path' => storage_path('logs/laravel.log'), 128 | ], 129 | ], 130 | 131 | ]; 132 | -------------------------------------------------------------------------------- /my-project/config/mail.php: -------------------------------------------------------------------------------- 1 | env('MAIL_MAILER', 'smtp'), 17 | 18 | /* 19 | |-------------------------------------------------------------------------- 20 | | Mailer Configurations 21 | |-------------------------------------------------------------------------- 22 | | 23 | | Here you may configure all of the mailers used by your application plus 24 | | their respective settings. Several examples have been configured for 25 | | you and you are free to add your own as your application requires. 26 | | 27 | | Laravel supports a variety of mail "transport" drivers to be used while 28 | | sending an e-mail. You will specify which one you are using for your 29 | | mailers below. You are free to add additional mailers as required. 30 | | 31 | | Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2", 32 | | "postmark", "log", "array", "failover" 33 | | 34 | */ 35 | 36 | 'mailers' => [ 37 | 'smtp' => [ 38 | 'transport' => 'smtp', 39 | 'url' => env('MAIL_URL'), 40 | 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), 41 | 'port' => env('MAIL_PORT', 587), 42 | 'encryption' => env('MAIL_ENCRYPTION', 'tls'), 43 | 'username' => env('MAIL_USERNAME'), 44 | 'password' => env('MAIL_PASSWORD'), 45 | 'timeout' => null, 46 | 'local_domain' => env('MAIL_EHLO_DOMAIN'), 47 | ], 48 | 49 | 'ses' => [ 50 | 'transport' => 'ses', 51 | ], 52 | 53 | 'mailgun' => [ 54 | 'transport' => 'mailgun', 55 | // 'client' => [ 56 | // 'timeout' => 5, 57 | // ], 58 | ], 59 | 60 | 'postmark' => [ 61 | 'transport' => 'postmark', 62 | // 'client' => [ 63 | // 'timeout' => 5, 64 | // ], 65 | ], 66 | 67 | 'sendmail' => [ 68 | 'transport' => 'sendmail', 69 | 'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'), 70 | ], 71 | 72 | 'log' => [ 73 | 'transport' => 'log', 74 | 'channel' => env('MAIL_LOG_CHANNEL'), 75 | ], 76 | 77 | 'array' => [ 78 | 'transport' => 'array', 79 | ], 80 | 81 | 'failover' => [ 82 | 'transport' => 'failover', 83 | 'mailers' => [ 84 | 'smtp', 85 | 'log', 86 | ], 87 | ], 88 | ], 89 | 90 | /* 91 | |-------------------------------------------------------------------------- 92 | | Global "From" Address 93 | |-------------------------------------------------------------------------- 94 | | 95 | | You may wish for all e-mails sent by your application to be sent from 96 | | the same address. Here, you may specify a name and address that is 97 | | used globally for all e-mails that are sent by your application. 98 | | 99 | */ 100 | 101 | 'from' => [ 102 | 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), 103 | 'name' => env('MAIL_FROM_NAME', 'Example'), 104 | ], 105 | 106 | /* 107 | |-------------------------------------------------------------------------- 108 | | Markdown Mail Settings 109 | |-------------------------------------------------------------------------- 110 | | 111 | | If you are using Markdown based email rendering, you may configure your 112 | | theme and component paths here, allowing you to customize the design 113 | | of the emails. Or, you may simply stick with the Laravel defaults! 114 | | 115 | */ 116 | 117 | 'markdown' => [ 118 | 'theme' => 'default', 119 | 120 | 'paths' => [ 121 | resource_path('views/vendor/mail'), 122 | ], 123 | ], 124 | 125 | ]; 126 | -------------------------------------------------------------------------------- /my-project/config/queue.php: -------------------------------------------------------------------------------- 1 | env('QUEUE_CONNECTION', 'sync'), 17 | 18 | /* 19 | |-------------------------------------------------------------------------- 20 | | Queue Connections 21 | |-------------------------------------------------------------------------- 22 | | 23 | | Here you may configure the connection information for each server that 24 | | is used by your application. A default configuration has been added 25 | | for each back-end shipped with Laravel. You are free to add more. 26 | | 27 | | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null" 28 | | 29 | */ 30 | 31 | 'connections' => [ 32 | 33 | 'sync' => [ 34 | 'driver' => 'sync', 35 | ], 36 | 37 | 'database' => [ 38 | 'driver' => 'database', 39 | 'table' => 'jobs', 40 | 'queue' => 'default', 41 | 'retry_after' => 90, 42 | 'after_commit' => false, 43 | ], 44 | 45 | 'beanstalkd' => [ 46 | 'driver' => 'beanstalkd', 47 | 'host' => 'localhost', 48 | 'queue' => 'default', 49 | 'retry_after' => 90, 50 | 'block_for' => 0, 51 | 'after_commit' => false, 52 | ], 53 | 54 | 'sqs' => [ 55 | 'driver' => 'sqs', 56 | 'key' => env('AWS_ACCESS_KEY_ID'), 57 | 'secret' => env('AWS_SECRET_ACCESS_KEY'), 58 | 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), 59 | 'queue' => env('SQS_QUEUE', 'default'), 60 | 'suffix' => env('SQS_SUFFIX'), 61 | 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), 62 | 'after_commit' => false, 63 | ], 64 | 65 | 'redis' => [ 66 | 'driver' => 'redis', 67 | 'connection' => 'default', 68 | 'queue' => env('REDIS_QUEUE', 'default'), 69 | 'retry_after' => 90, 70 | 'block_for' => null, 71 | 'after_commit' => false, 72 | ], 73 | 74 | ], 75 | 76 | /* 77 | |-------------------------------------------------------------------------- 78 | | Job Batching 79 | |-------------------------------------------------------------------------- 80 | | 81 | | The following options configure the database and table that store job 82 | | batching information. These options can be updated to any database 83 | | connection and table which has been defined by your application. 84 | | 85 | */ 86 | 87 | 'batching' => [ 88 | 'database' => env('DB_CONNECTION', 'mysql'), 89 | 'table' => 'job_batches', 90 | ], 91 | 92 | /* 93 | |-------------------------------------------------------------------------- 94 | | Failed Queue Jobs 95 | |-------------------------------------------------------------------------- 96 | | 97 | | These options configure the behavior of failed queue job logging so you 98 | | can control which database and table are used to store the jobs that 99 | | have failed. You may change them to any database / table you wish. 100 | | 101 | */ 102 | 103 | 'failed' => [ 104 | 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'), 105 | 'database' => env('DB_CONNECTION', 'mysql'), 106 | 'table' => 'failed_jobs', 107 | ], 108 | 109 | ]; 110 | -------------------------------------------------------------------------------- /my-project/config/sanctum.php: -------------------------------------------------------------------------------- 1 | explode(',', env('SANCTUM_STATEFUL_DOMAINS', sprintf( 19 | '%s%s', 20 | 'localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1', 21 | Sanctum::currentApplicationUrlWithPort() 22 | ))), 23 | 24 | /* 25 | |-------------------------------------------------------------------------- 26 | | Sanctum Guards 27 | |-------------------------------------------------------------------------- 28 | | 29 | | This array contains the authentication guards that will be checked when 30 | | Sanctum is trying to authenticate a request. If none of these guards 31 | | are able to authenticate the request, Sanctum will use the bearer 32 | | token that's present on an incoming request for authentication. 33 | | 34 | */ 35 | 36 | 'guard' => ['web'], 37 | 38 | /* 39 | |-------------------------------------------------------------------------- 40 | | Expiration Minutes 41 | |-------------------------------------------------------------------------- 42 | | 43 | | This value controls the number of minutes until an issued token will be 44 | | considered expired. If this value is null, personal access tokens do 45 | | not expire. This won't tweak the lifetime of first-party sessions. 46 | | 47 | */ 48 | 49 | 'expiration' => null, 50 | 51 | /* 52 | |-------------------------------------------------------------------------- 53 | | Sanctum Middleware 54 | |-------------------------------------------------------------------------- 55 | | 56 | | When authenticating your first-party SPA with Sanctum you may need to 57 | | customize some of the middleware Sanctum uses while processing the 58 | | request. You may change the middleware listed below as required. 59 | | 60 | */ 61 | 62 | 'middleware' => [ 63 | 'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class, 64 | 'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class, 65 | ], 66 | 67 | ]; 68 | -------------------------------------------------------------------------------- /my-project/config/services.php: -------------------------------------------------------------------------------- 1 | [ 18 | 'domain' => env('MAILGUN_DOMAIN'), 19 | 'secret' => env('MAILGUN_SECRET'), 20 | 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), 21 | 'scheme' => 'https', 22 | ], 23 | 24 | 'postmark' => [ 25 | 'token' => env('POSTMARK_TOKEN'), 26 | ], 27 | 28 | 'ses' => [ 29 | 'key' => env('AWS_ACCESS_KEY_ID'), 30 | 'secret' => env('AWS_SECRET_ACCESS_KEY'), 31 | 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), 32 | ], 33 | 34 | ]; 35 | -------------------------------------------------------------------------------- /my-project/config/view.php: -------------------------------------------------------------------------------- 1 | [ 17 | resource_path('views'), 18 | ], 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Compiled View Path 23 | |-------------------------------------------------------------------------- 24 | | 25 | | This option determines where all the compiled Blade templates will be 26 | | stored for your application. Typically, this is within the storage 27 | | directory. However, as usual, you are free to change this value. 28 | | 29 | */ 30 | 31 | 'compiled' => env( 32 | 'VIEW_COMPILED_PATH', 33 | realpath(storage_path('framework/views')) 34 | ), 35 | 36 | ]; 37 | -------------------------------------------------------------------------------- /my-project/database/.gitignore: -------------------------------------------------------------------------------- 1 | *.sqlite* 2 | -------------------------------------------------------------------------------- /my-project/database/factories/UserFactory.php: -------------------------------------------------------------------------------- 1 | 10 | */ 11 | class UserFactory extends Factory 12 | { 13 | /** 14 | * Define the model's default state. 15 | * 16 | * @return array 17 | */ 18 | public function definition(): array 19 | { 20 | return [ 21 | 'name' => fake()->name(), 22 | 'email' => fake()->unique()->safeEmail(), 23 | 'email_verified_at' => now(), 24 | 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password 25 | 'remember_token' => Str::random(10), 26 | ]; 27 | } 28 | 29 | /** 30 | * Indicate that the model's email address should be unverified. 31 | */ 32 | public function unverified(): static 33 | { 34 | return $this->state(fn (array $attributes) => [ 35 | 'email_verified_at' => null, 36 | ]); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /my-project/database/migrations/2023_06_02_131008_create_score_table.php: -------------------------------------------------------------------------------- 1 | increments("id"); 16 | $table->string("name"); 17 | $table->string("score"); 18 | $table->string("date"); 19 | $table->timestamps(); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | */ 26 | public function down(): void 27 | { 28 | Schema::dropIfExists('score'); 29 | } 30 | }; 31 | -------------------------------------------------------------------------------- /my-project/database/migrations/2023_06_02_133112_create_calificacion_table.php: -------------------------------------------------------------------------------- 1 | id(); 16 | $table->string("estudiante"); 17 | $table->string("unidad"); 18 | $table->string("nota"); 19 | $table->timestamps(); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | */ 26 | public function down(): void 27 | { 28 | Schema::dropIfExists('calificacion'); 29 | } 30 | }; 31 | -------------------------------------------------------------------------------- /my-project/database/migrations/2023_06_05_112555_create_customers_example.php: -------------------------------------------------------------------------------- 1 | id(); 16 | $table->string("Identificacion"); 17 | $table->string("Antiguedad"); 18 | $table->string("pedido"); 19 | $table->timestamps(); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | */ 26 | public function down(): void 27 | { 28 | Schema::dropIfExists('customers'); 29 | } 30 | }; 31 | -------------------------------------------------------------------------------- /my-project/database/migrations/2023_06_05_124105_create_books_table.php: -------------------------------------------------------------------------------- 1 | increments("id"); 16 | $table->string("name"); 17 | $table->string("isbn"); 18 | $table->string("author"); 19 | $table->string("edition"); 20 | $table->timestamps(); 21 | }); 22 | } 23 | 24 | /** 25 | * Reverse the migrations. 26 | */ 27 | public function down(): void 28 | { 29 | Schema::dropIfExists('books'); 30 | } 31 | }; 32 | -------------------------------------------------------------------------------- /my-project/database/migrations/2023_06_06_124453_create_cars_table.php: -------------------------------------------------------------------------------- 1 | increments("id"); 16 | $table->string("marca"); 17 | $table->integer("annio"); 18 | $table->string("color"); 19 | $table->timestamps(); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | */ 26 | public function down(): void 27 | { 28 | Schema::dropIfExists('cars'); 29 | } 30 | }; 31 | -------------------------------------------------------------------------------- /my-project/database/migrations/2023_06_06_125122_create_houses_table.php: -------------------------------------------------------------------------------- 1 | increments("id"); 16 | $table->string("direccion"); 17 | $table->enum("tipo",["Apartamento","Casa"]); 18 | $table->integer("plantas"); 19 | $table->timestamps(); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | */ 26 | public function down(): void 27 | { 28 | Schema::dropIfExists('houses'); 29 | } 30 | }; 31 | -------------------------------------------------------------------------------- /my-project/database/seeders/DatabaseSeeder.php: -------------------------------------------------------------------------------- 1 | create(); 16 | 17 | // \App\Models\User::factory()->create([ 18 | // 'name' => 'Test User', 19 | // 'email' => 'test@example.com', 20 | // ]); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /my-project/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "type": "module", 4 | "scripts": { 5 | "dev": "vite", 6 | "build": "vite build" 7 | }, 8 | "devDependencies": { 9 | "axios": "^1.1.2", 10 | "laravel-vite-plugin": "^0.7.5", 11 | "vite": "^4.0.0" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /my-project/phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | ./tests/Unit 10 | 11 | 12 | ./tests/Feature 13 | 14 | 15 | 16 | 17 | ./app 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /my-project/public/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | 3 | Options -MultiViews -Indexes 4 | 5 | 6 | RewriteEngine On 7 | 8 | # Handle Authorization Header 9 | RewriteCond %{HTTP:Authorization} . 10 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 11 | 12 | # Redirect Trailing Slashes If Not A Folder... 13 | RewriteCond %{REQUEST_FILENAME} !-d 14 | RewriteCond %{REQUEST_URI} (.+)/$ 15 | RewriteRule ^ %1 [L,R=301] 16 | 17 | # Send Requests To Front Controller... 18 | RewriteCond %{REQUEST_FILENAME} !-d 19 | RewriteCond %{REQUEST_FILENAME} !-f 20 | RewriteRule ^ index.php [L] 21 | 22 | -------------------------------------------------------------------------------- /my-project/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fullstack-Basico/examples/07457e5cbfed2f9e9403d9b793b9c8f954c71bf5/my-project/public/favicon.ico -------------------------------------------------------------------------------- /my-project/public/index.php: -------------------------------------------------------------------------------- 1 | make(Kernel::class); 50 | 51 | $response = $kernel->handle( 52 | $request = Request::capture() 53 | )->send(); 54 | 55 | $kernel->terminate($request, $response); 56 | -------------------------------------------------------------------------------- /my-project/public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /my-project/resources/css/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fullstack-Basico/examples/07457e5cbfed2f9e9403d9b793b9c8f954c71bf5/my-project/resources/css/app.css -------------------------------------------------------------------------------- /my-project/resources/js/app.js: -------------------------------------------------------------------------------- 1 | import './bootstrap'; 2 | -------------------------------------------------------------------------------- /my-project/resources/js/bootstrap.js: -------------------------------------------------------------------------------- 1 | /** 2 | * We'll load the axios HTTP library which allows us to easily issue requests 3 | * to our Laravel back-end. This library automatically handles sending the 4 | * CSRF token as a header based on the value of the "XSRF" token cookie. 5 | */ 6 | 7 | import axios from 'axios'; 8 | window.axios = axios; 9 | 10 | window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; 11 | 12 | /** 13 | * Echo exposes an expressive API for subscribing to channels and listening 14 | * for events that are broadcast by Laravel. Echo and event broadcasting 15 | * allows your team to easily build robust real-time web applications. 16 | */ 17 | 18 | // import Echo from 'laravel-echo'; 19 | 20 | // import Pusher from 'pusher-js'; 21 | // window.Pusher = Pusher; 22 | 23 | // window.Echo = new Echo({ 24 | // broadcaster: 'pusher', 25 | // key: import.meta.env.VITE_PUSHER_APP_KEY, 26 | // cluster: import.meta.env.VITE_PUSHER_APP_CLUSTER ?? 'mt1', 27 | // wsHost: import.meta.env.VITE_PUSHER_HOST ? import.meta.env.VITE_PUSHER_HOST : `ws-${import.meta.env.VITE_PUSHER_APP_CLUSTER}.pusher.com`, 28 | // wsPort: import.meta.env.VITE_PUSHER_PORT ?? 80, 29 | // wssPort: import.meta.env.VITE_PUSHER_PORT ?? 443, 30 | // forceTLS: (import.meta.env.VITE_PUSHER_SCHEME ?? 'https') === 'https', 31 | // enabledTransports: ['ws', 'wss'], 32 | // }); 33 | -------------------------------------------------------------------------------- /my-project/routes/api.php: -------------------------------------------------------------------------------- 1 | get('/user', function (Request $request) { 18 | return $request->user(); 19 | });*/ 20 | 21 | 22 | Route::get("/saludo/abc",function (Request $request) { 23 | 24 | $message = ['mensaje' => "Hola Mundo !"]; 25 | 26 | return response()->json($message); 27 | 28 | }); 29 | 30 | 31 | Route::post("/libro",function (Request $request) { 32 | 33 | $message = ['book' => "Cien años de soledad!"]; 34 | 35 | return response()->json($message); 36 | 37 | }); 38 | 39 | 40 | Route::put("/carro",function (Request $request) { 41 | 42 | $message = [ 43 | 'carro' => "Renault", 44 | 'diseño' => [ 45 | "color" => "rojo", 46 | "tamaño" => "grande", 47 | "detalle" =>[ 1,2,3,4] 48 | ]]; 49 | 50 | return response()->json($message); 51 | 52 | }); 53 | 54 | 55 | Route::patch("/computador",function (Request $request) { 56 | 57 | $message = ['computador' => "Lenovo"]; 58 | 59 | return response()->json($message); 60 | 61 | }); 62 | 63 | 64 | Route::delete("/musica",function (Request $request) { 65 | 66 | $message = ['musica' => "Nirvana"]; 67 | 68 | return response()->json($message); 69 | 70 | }); -------------------------------------------------------------------------------- /my-project/routes/channels.php: -------------------------------------------------------------------------------- 1 | id === (int) $id; 18 | }); 19 | -------------------------------------------------------------------------------- /my-project/routes/console.php: -------------------------------------------------------------------------------- 1 | comment(Inspiring::quote()); 19 | })->purpose('Display an inspiring quote'); 20 | -------------------------------------------------------------------------------- /my-project/routes/web.php: -------------------------------------------------------------------------------- 1 | make(Kernel::class)->bootstrap(); 18 | 19 | return $app; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /my-project/tests/Feature/ExampleTest.php: -------------------------------------------------------------------------------- 1 | get('/'); 16 | 17 | $response->assertStatus(200); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /my-project/tests/TestCase.php: -------------------------------------------------------------------------------- 1 | assertTrue(true); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /my-project/vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite'; 2 | import laravel from 'laravel-vite-plugin'; 3 | 4 | export default defineConfig({ 5 | plugins: [ 6 | laravel({ 7 | input: ['resources/css/app.css', 'resources/js/app.js'], 8 | refresh: true, 9 | }), 10 | ], 11 | }); 12 | -------------------------------------------------------------------------------- /phpJs/example.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 | 108 | 109 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /phpJs/example.php: -------------------------------------------------------------------------------- 1 | Importante PHP:
"; 4 | echo "

Variables(varian su valor) Inician con el Simbolo $


"; 5 | echo "

Finalizar sentencias de ejecución con el simbolo ;


"; 6 | echo "Hola Mundo PHP !!"; 7 | 8 | 9 | const miConstante = "Información"; 10 | 11 | echo "
"; 12 | echo miConstante; 13 | 14 | 15 | 16 | $miVariable = 1000; 17 | 18 | $miVariable=300; 19 | 20 | echo "
"; 21 | echo $miVariable; 22 | 23 | 24 | $abc = true ; 25 | 26 | if ($abc) { 27 | echo "
"; 28 | echo "True=".$abc; 29 | } 30 | 31 | $abc = false ; 32 | 33 | if ($abc) { 34 | echo "
"; 35 | echo "True"; 36 | }else{ 37 | echo "
"; 38 | echo "False=".$abc; 39 | } 40 | 41 | $abc = true ; 42 | 43 | if ($abc == true ) { 44 | echo "
"; 45 | echo "== ".$abc; 46 | } 47 | 48 | $abc=false; 49 | 50 | if ($abc) { 51 | echo "
"; 52 | echo "True"; 53 | }else if($abc == false){ 54 | echo "
"; 55 | echo "False=".$abc; 56 | } 57 | 58 | 59 | for ($i=0; $i < 10; $i++) { 60 | echo "
"; 61 | echo $i; 62 | } 63 | 64 | $a=100; 65 | while ($a <= 110) { 66 | echo "
"; 67 | echo $a; 68 | $a++; 69 | } 70 | 71 | $b = 1000; 72 | 73 | do { 74 | echo "
"; 75 | echo $b; 76 | $b++; 77 | } while ($b<=1010); 78 | 79 | 80 | $cajero ="Opción 1"; 81 | $cajero ="Otra cosa"; 82 | switch ($cajero) { 83 | case 'Opción 1': 84 | echo "
"; 85 | echo $cajero; 86 | break; 87 | 88 | default: 89 | echo "
"; 90 | echo $cajero; 91 | break; 92 | } 93 | 94 | function mifuncion(){ 95 | echo "
"; 96 | echo "Ejecutando mifuncion()!!"; 97 | } 98 | 99 | mifuncion(); 100 | 101 | 102 | function operacion() { 103 | $i=10; 104 | $a=10; 105 | $ia= $i+$a; 106 | echo "
"; 107 | echo $ia; 108 | } 109 | 110 | operacion(); 111 | 112 | ?> -------------------------------------------------------------------------------- /poo/Ejemplo.php: -------------------------------------------------------------------------------- 1 | HOLA MUNDO EN PHP"; 4 | 5 | $fecha ="22 Marzo"; 6 | 7 | echo $fecha; 8 | 9 | $fecha = 12; 10 | 11 | if($fecha == 12){ 12 | 13 | echo "
".$fecha; 14 | 15 | } 16 | 17 | 18 | 19 | for ($i=0; $i < 10 ; $i++) { 20 | echo "
".$i; 21 | } 22 | 23 | ?> -------------------------------------------------------------------------------- /poo/index.php: -------------------------------------------------------------------------------- 1 | tamannio= $tamannio; 13 | $this->valorLibro = $precioLibro; 14 | $this->isbn = "sadwxx11"; 15 | $this->nombre = $nombre; 16 | } 17 | 18 | 19 | function Mostrar(){ 20 | 21 | } 22 | 23 | function Informar(){ 24 | 25 | echo "
Ejecutando Acción o metodo Informar de la clase libro"; 26 | $this->MostrarIsbn(); 27 | echo "
".$this->isbn; 28 | 29 | } 30 | 31 | function Compartir(){ 32 | 33 | } 34 | 35 | private function MostrarIsbn(){ 36 | echo "
Ejecutando Acción o metodo MostrarIsbn de la clase libro"; 37 | } 38 | } 39 | 40 | 41 | 42 | $libroColombiano = new libro("15cm",12000,"Cien años de Soledad"); //Instanciando clase o creado un objeto a partir de una clase 43 | 44 | echo $libroColombiano->tamannio; 45 | echo"
"; 46 | echo $libroColombiano->valorLibro; 47 | echo"
"; 48 | echo $libroColombiano->nombre; 49 | 50 | $libroColombiano->Informar(); 51 | 52 | 53 | echo"
";echo"
";echo"
"; 54 | 55 | 56 | 57 | $libroFrances = new libro("5cm",40000,"Diccionario"); //Instanciando clase o creado un objeto a partir de una clase 58 | 59 | echo $libroFrances->tamannio; 60 | echo"
"; 61 | echo $libroFrances->valorLibro; 62 | echo"
"; 63 | echo $libroFrances->nombre; 64 | 65 | $libroFrances->Informar(); 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | ?> -------------------------------------------------------------------------------- /ppoo/connection.php: -------------------------------------------------------------------------------- 1 | "; 11 | } 12 | } 13 | 14 | 15 | class Mysql extends Connection { 16 | 17 | public function executeConnection(){ 18 | echo "Success Connection Mysql!
"; 19 | } 20 | } 21 | 22 | class MongoDB extends Connection { 23 | 24 | public function executeConnection(){ 25 | echo "Success Connection MongoDB!
"; 26 | } 27 | } 28 | 29 | 30 | 31 | 32 | function connected(Connection $connection){ 33 | 34 | $connection->executeConnection(); 35 | } 36 | 37 | 38 | $instancePostgresql = new PostgreSql(); 39 | $instanceMysql = new Mysql(); 40 | 41 | connected($instanceMysql); 42 | connected($instancePostgresql); 43 | 44 | 45 | 46 | ?> -------------------------------------------------------------------------------- /ppoo/encapsulamiento.php: -------------------------------------------------------------------------------- 1 | "; 13 | $this->emitirGases(); 14 | } 15 | 16 | 17 | public function acelerar(){ 18 | echo "Acelerando carro a 80 Km/h !!!
"; 19 | } 20 | 21 | private function emitirGases(){ 22 | echo "Emitir Gases CO2!!!
"; 23 | } 24 | 25 | 26 | public function emitirMulta($valorMulta){ 27 | $this->multas = $valorMulta; 28 | } 29 | 30 | public function mostrarMulta(){ 31 | echo "Nombre Propietario: ". $this->nombrePropietario."
"; 32 | echo "Valor Multa : ".$this->multas."
"; 33 | } 34 | 35 | } 36 | 37 | 38 | ?> -------------------------------------------------------------------------------- /ppoo/herencia.php: -------------------------------------------------------------------------------- 1 | "; 10 | 11 | } 12 | } 13 | 14 | class Perro extends Animal { 15 | 16 | public function vigilar(){ 17 | echo "Vigilar Hogar
"; 18 | } 19 | } 20 | 21 | 22 | 23 | 24 | class Gato extends Animal { 25 | 26 | public function dormir(){ 27 | echo "Domir todo el dia
"; 28 | } 29 | 30 | } 31 | 32 | 33 | 34 | 35 | $miPerro= new Perro(); 36 | $miGato= new Gato(); 37 | 38 | $miPerro->vigilar(); 39 | $miGato->dormir(); 40 | 41 | 42 | 43 | 44 | $miPerro->correr(); 45 | 46 | 47 | $miGato->correr(); 48 | 49 | 50 | echo $miPerro->tamanio; 51 | 52 | 53 | ?> -------------------------------------------------------------------------------- /ppoo/index.php: -------------------------------------------------------------------------------- 1 | llave."
"; 14 | $ferrari->encender(); 15 | 16 | $ferrari->nombrePropietario = "Carlos Perez"; 17 | $ferrari->emitirMulta("$530.000"); 18 | 19 | $ferrari->mostrarMulta(); 20 | 21 | ?> -------------------------------------------------------------------------------- /ppoo/polimorfismo.php: -------------------------------------------------------------------------------- 1 | "; 30 | $animal->hablar(); 31 | } 32 | 33 | 34 | 35 | $miPerro = new Perro(); 36 | $miGato = new Gato(); 37 | 38 | 39 | hacerHablar($miPerro); 40 | hacerHablar($miGato); 41 | 42 | 43 | 44 | 45 | 46 | ?> -------------------------------------------------------------------------------- /reviewphp/index.php: -------------------------------------------------------------------------------- 1 | Hola
Mundo !
"; 4 | 5 | const myConst =" data"; 6 | 7 | $myVar = 1000000; 8 | $name = 'Alfonso'; 9 | $email = "alfonso@hotmail.com"; 10 | 11 | 12 | echo $myVar."
"; 13 | 14 | $myVar = "Stiv"; 15 | 16 | $mydata = $myVar . myConst; 17 | 18 | echo $mydata; 19 | 20 | echo "
"; 21 | 22 | if(1===2){ 23 | echo "Ingreso Condicional if"; 24 | }else{ 25 | echo "Ingreso Condicional else"; 26 | } 27 | 28 | echo "
"; 29 | 30 | for ($i=0; $i < 2 ; $i++) { 31 | echo "Cadena for
"; 32 | } 33 | 34 | $a=0; 35 | while ($a <= 2) { 36 | # code... 37 | echo "Cadena while
"; 38 | $a++; 39 | } 40 | 41 | $a= 5; 42 | do { 43 | # code... 44 | echo "Cadena do while
"; 45 | $a++; 46 | } while ($a <= 2); 47 | 48 | $variable = "opcion_80"; 49 | 50 | switch ($variable) { 51 | 52 | case 'opcion_1': 53 | echo "ejecución opcion 1
"; 54 | break; 55 | 56 | case 'opcion_2': 57 | echo "ejecución opcion 2
"; 58 | break; 59 | 60 | default: 61 | echo "ejecución default
"; 62 | break; 63 | } 64 | // 0 1 2 3 4 65 | $variable=[1,3,4,"miercoles","viernes"]; 66 | 67 | foreach ($variable as $key => $value) { 68 | echo "posición en el arreglo =>".$key. " => ". $value; 69 | echo "
"; 70 | } 71 | 72 | 73 | function suma ($valorA = 1,$valorB = 0) { 74 | 75 | $result = $valorA + $valorB; 76 | return "Resultado = ".$result ."
"; 77 | } 78 | 79 | 80 | $sum = suma(); 81 | 82 | echo $sum; 83 | //Metodo o Funcion 84 | function saludar () { 85 | echo "Saludo Full Stack !!!
"; 86 | 87 | return true; 88 | } 89 | 90 | 91 | saludar(); 92 | 93 | 94 | class persona { 95 | 96 | public $name; 97 | private $age=50; 98 | 99 | 100 | public function setName($nameData) 101 | { 102 | $this->name = $nameData; 103 | } 104 | 105 | public function setAge($ageData) 106 | { 107 | $this->age = $ageData; 108 | } 109 | 110 | public function viewInformation(){ 111 | return "Nombre: ".$this->name." Edad: ".$this->age; 112 | } 113 | } 114 | 115 | $person = new persona(); 116 | 117 | $person->setName("Maria"); 118 | $person->setAge(25); 119 | 120 | 121 | echo $person->viewInformation(); 122 | 123 | ?> -------------------------------------------------------------------------------- /scriptSQL/admin_db.sql: -------------------------------------------------------------------------------- 1 | create database test_practice character set utf8 collate utf8_unicode_ci; 2 | 3 | create database test_app character set utf8 collate utf8_unicode_ci; 4 | 5 | show databases; 6 | 7 | create user 'stiv'@'%' IDENTIFIED by 'passadmin'; 8 | 9 | 10 | grant all privileges on test_app.* to 'stiv'@'%'; 11 | 12 | 13 | grant update on test_app.* to 'stiv'@'%'; 14 | 15 | grant delete on test_app.* to 'stiv'@'%'; 16 | 17 | grant select on test_app.* to 'stiv'@'%'; 18 | 19 | grant create on test_app.* to 'stiv'@'%'; 20 | 21 | 22 | 23 | 24 | repair table mysql.db; 25 | repair table mysql.global_priv; -------------------------------------------------------------------------------- /scriptSQL/joins.sql: -------------------------------------------------------------------------------- 1 | /*JOINS SQL*/ 2 | 3 | 4 | select * 5 | from escuelas as es 6 | inner join bibliotecas as b on b.id_escuela = es.id 7 | 8 | 9 | select * 10 | from escuelas as es 11 | left join bibliotecas as b on b.id_escuela = es.id 12 | 13 | 14 | select * 15 | from escuelas as es 16 | right join bibliotecas as b on b.id_escuela = es.id 17 | 18 | 19 | 20 | 21 | select * 22 | from escuelas as es 23 | left join bibliotecas as b on b.id_escuela = es.id 24 | where b.id_escuela is null 25 | 26 | 27 | 28 | 29 | select * 30 | from escuelas as es 31 | right join bibliotecas as b on b.id_escuela = es.id 32 | where es.id is null 33 | 34 | 35 | 36 | select * 37 | from escuelas as es 38 | left join bibliotecas as b on b.id_escuela = es.id 39 | union 40 | select * 41 | from escuelas as es 42 | right join bibliotecas as b on b.id_escuela = es.id 43 | 44 | 45 | 46 | 47 | select * 48 | from escuelas as es 49 | left join bibliotecas as b on b.id_escuela = es.id 50 | where b.id_escuela is null 51 | union 52 | select * 53 | from escuelas as es 54 | right join bibliotecas as b on b.id_escuela = es.id 55 | where es.id is null 56 | 57 | 58 | select * 59 | from escuelas e , bibliotecas b 60 | 61 | 62 | /**Joins Biblioteca y Libros**/ 63 | 64 | 65 | select * 66 | from libros as l 67 | join bibliotecas as b on b.id = l.id_biblioteca 68 | 69 | 70 | 71 | select * 72 | from libros as l 73 | left join bibliotecas as b on b.id = l.id_biblioteca 74 | 75 | select * 76 | from libros as l 77 | right join bibliotecas as b on b.id = l.id_biblioteca 78 | 79 | 80 | 81 | 82 | select * 83 | from libros as l 84 | left join bibliotecas as b on b.id = l.id_biblioteca 85 | where b.id is null 86 | 87 | 88 | 89 | select * 90 | from libros as l 91 | right join bibliotecas as b on b.id = l.id_biblioteca 92 | where l.id is null 93 | 94 | 95 | 96 | 97 | 98 | 99 | select * 100 | from libros as l 101 | left join bibliotecas as b on b.id = l.id_biblioteca 102 | union 103 | select * 104 | from libros as l 105 | right join bibliotecas as b on b.id = l.id_biblioteca 106 | 107 | 108 | 109 | 110 | select * 111 | from libros as l 112 | left join bibliotecas as b on b.id = l.id_biblioteca 113 | where b.id is null 114 | union 115 | select * 116 | from libros as l 117 | right join bibliotecas as b on b.id = l.id_biblioteca 118 | where l.id is null 119 | 120 | 121 | 122 | select * 123 | from libros l, bibliotecas b 124 | 125 | 126 | 127 | 128 | 129 | 130 | -------------------------------------------------------------------------------- /scriptSQL/operaciones.sql: -------------------------------------------------------------------------------- 1 | /**Conteo**/ 2 | 3 | select * 4 | from libros 5 | 6 | 7 | select id, nombre, id_biblioteca as identificador_biblioteca 8 | from libros 9 | 10 | 11 | select count(*) as conteo_regitros 12 | from libros 13 | 14 | /**Sumatoria**/ 15 | select * 16 | from escuelas e 17 | 18 | select sum(numero_estudiantes) as numero_estudiantes 19 | from escuelas e 20 | 21 | 22 | /**Mostrar los registro no repetidos*/ 23 | 24 | select distinct * 25 | from empleados e 26 | 27 | select distinct salario,edad 28 | from empleados e 29 | 30 | 31 | /** Promedio **/ 32 | 33 | select avg(numero_estudiantes) as promedio_numero_estudiantes 34 | from escuelas e 35 | 36 | 37 | /** Maximo y Minimo**/ 38 | 39 | select * 40 | from escuelas e 41 | 42 | select min(numero_estudiantes) as minimo_estudiantes_escuela 43 | from escuelas e 44 | 45 | select max(numero_estudiantes) as maximo_estudiantes_escuela 46 | from escuelas e 47 | 48 | /**Ordenamiento datos**/ 49 | 50 | select * 51 | from escuelas e 52 | order by numero_estudiantes asc 53 | 54 | 55 | select * 56 | from escuelas e 57 | order by numero_estudiantes desc 58 | 59 | 60 | 61 | select * 62 | from escuelas e 63 | order by nombre asc 64 | 65 | 66 | select * 67 | from escuelas e 68 | order by nombre desc 69 | 70 | 71 | 72 | 73 | 74 | 75 | /**Agrupaciones**/ 76 | 77 | select salario , count(*) numero_empleados 78 | from empleados e 79 | group by salario 80 | 81 | select nombre , count(*) numero_regitros_nombre 82 | from empleados e 83 | group by nombre 84 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /scriptSQL/pk_fk.sql: -------------------------------------------------------------------------------- 1 | /** 2 | * Taller 3 | */ 4 | 5 | create table escuelas( 6 | id integer primary key, 7 | nombre varchar(50), 8 | numero_estudiantes integer 9 | ); 10 | 11 | 12 | create table bibliotecas( 13 | id integer primary key, 14 | nombre varchar(50), 15 | sitio_web varchar(100), 16 | id_escuela int, 17 | foreign key (id_escuela) references escuelas(id) 18 | ); 19 | 20 | 21 | create table libros( 22 | id integer primary key, 23 | nombre varchar(50), 24 | id_biblioteca int, 25 | id_autor int, 26 | foreign key (id_biblioteca) references bibliotecas(id), 27 | foreign key (id_autor) references autores(id) 28 | ); 29 | 30 | 31 | create table autores( 32 | id integer primary key, 33 | nombre varchar(50), 34 | anios varchar(100) 35 | ); 36 | 37 | 38 | 39 | 40 | 41 | insert into autores (id,nombre,anios) 42 | values (1,'GABRIEL GARCIA MARQUEZ',60), 43 | (2, 'ISSAC ASIMOV', 75 ), 44 | (3, 'WILLIAM GOLDING', 80); 45 | 46 | 47 | 48 | 49 | insert into escuelas (id,nombre,numero_estudiantes) 50 | values (1,'ALFONSO REYES',1000),(2,'SAN JOSE', 15000),(3, 'LLANO ORIENTAL', 2000); 51 | 52 | 53 | 54 | 55 | insert into bibliotecas (id,nombre,sitio_web, id_escuela) 56 | values (1,'CENTRO SABER','http://centro.saber.co',1), 57 | (2,'LUIS ANGELA ARANGO', 'http://arango.com',1), 58 | (3, 'VIRGILO BARCO', 'http://virgilio.co',3); 59 | 60 | 61 | 62 | insert into bibliotecas (id,nombre,sitio_web) 63 | values (4, 'ABC', 'http://abc.co'); 64 | 65 | 66 | 67 | insert into libros (id,nombre,id_autor,id_biblioteca) 68 | values (1,'CIEN AÑOS SOLEDAD',1,2), 69 | (2,'YO ROBOT', 2, 2 ), 70 | (3, 'OSCURIDAD VISIBLE', 3, 3); 71 | 72 | 73 | select * 74 | from escuelas ; 75 | 76 | select numero_estudiantes 77 | from escuelas; 78 | 79 | 80 | 81 | select * 82 | from bibliotecas; 83 | 84 | 85 | select sitio_web 86 | from bibliotecas; 87 | 88 | 89 | select * 90 | from libros; 91 | 92 | 93 | select autor 94 | from libros; 95 | 96 | 97 | 98 | /*Eliminar Tablas*/ 99 | 100 | drop table libros; 101 | 102 | drop table escuelas ; 103 | 104 | drop table bibliotecas; 105 | 106 | 107 | -------------------------------------------------------------------------------- /scriptSQL/tables-insert-select.sql: -------------------------------------------------------------------------------- 1 | /** 2 | * CREAR TABLA 3 | * */ 4 | 5 | create table empleados( 6 | id INTEGER, 7 | nombre VARCHAR(15), 8 | edad INTEGER, 9 | salario DECIMAL(10,2) 10 | ); 11 | 12 | 13 | create table universidades( 14 | identificador INTEGER, 15 | nombre_institucion VARCHAR(100) 16 | ); 17 | 18 | 19 | 20 | 21 | /** 22 | * INSERTAR DATOS O REGISTROS EN TABLA 23 | * */ 24 | 25 | 26 | insert into empleados (id, nombre, edad ,salario) 27 | values (1,'stiv', '31', 10000.12); 28 | 29 | 30 | insert into empleados (id, nombre, edad) 31 | values (10,'carlos', '66'); 32 | 33 | 34 | insert into empleados (edad,id,nombre) 35 | values (40,3,'Gloria'); 36 | 37 | 38 | insert into empleados (edad,id,nombre) 39 | values (25,8,'Eliana'); 40 | 41 | 42 | insert into empleados (edad,id,nombre) 43 | values (45,4,'Adriana'),(18,5,'juan'),(32,6,'violeta'); 44 | 45 | 46 | /** 47 | * CONSULTA DE REGISTROS O DATOS 48 | * */ 49 | 50 | select * 51 | from empleados; 52 | 53 | 54 | 55 | select id,nombre 56 | from empleados; 57 | 58 | 59 | select nombre, edad 60 | from empleados; 61 | 62 | 63 | 64 | select nombre, salario 65 | from empleados; 66 | 67 | 68 | 69 | select nombre, salario,edad,id 70 | from empleados; 71 | 72 | 73 | select nombre as 'Nombre Completo', edad as 'Edad (Años)' 74 | from empleados; 75 | 76 | 77 | 78 | 79 | /**TIPOS DE ATRIBUTOS-COLUMNAS*/ 80 | 81 | 82 | /** 83 | * ENTEROS: 84 | * 85 | * INT o INTEGER 86 | * SMALLINT 87 | * MEDIUMINT 88 | * BIGINT 89 | */ 90 | 91 | 92 | 93 | 94 | /** 95 | * DECIMALES: 96 | * 97 | * DECIMAL (p, e) 98 | */ 99 | 100 | 101 | 102 | /** 103 | * TEXTO: 104 | * 105 | * CHAR(n) 106 | * VARCHAR(n) 107 | * TEXT 108 | */ 109 | 110 | 111 | 112 | /** 113 | * FECHA: 114 | * 115 | * DATE -> 'YYYY-MM-DD' 116 | * TIME -> 'HH:MM:SS' 117 | * DATETIME -> 'YYYY-MM-DD HH:MM:SS' 118 | * TIMESTAMP -> marca de tiempo 119 | */ 120 | 121 | 122 | /** 123 | * BOLLEANOS: 124 | * 125 | * BOOL -> verdadero (1) o falso (0) 126 | */ 127 | 128 | 129 | 130 | 131 | -------------------------------------------------------------------------------- /scriptSQL/taller_1.sql: -------------------------------------------------------------------------------- 1 | /** 2 | * Taller 3 | */ 4 | 5 | create table escuelas( 6 | id integer primary key, 7 | nombre varchar(50), 8 | numero_estudiantes integer 9 | ); 10 | 11 | 12 | create table bibliotecas( 13 | id integer primary key, 14 | nombre varchar(50), 15 | sitio_web varchar(100), 16 | id_escuela int, 17 | foreign key (id_escuela) references escuelas(id) 18 | ); 19 | 20 | 21 | create table libros( 22 | id integer primary key, 23 | nombre varchar(50), 24 | autor varchar(100), 25 | id_biblioteca int, 26 | foreign key (id_biblioteca) references bibliotecas(id) 27 | ); 28 | 29 | 30 | 31 | insert into escuelas (id,nombre,numero_estudiantes) 32 | values (1,'ALFONSO REYES',1000),(2,'SAN JOSE', 15000),(3, 'LLANO ORIENTAL', 2000); 33 | 34 | 35 | 36 | 37 | insert into bibliotecas (id,nombre,sitio_web, id_escuela) 38 | values (1,'CENTRO SABER','http://centro.saber.co',1), 39 | (2,'LUIS ANGELA ARANGO', 'http://arango.com',1), 40 | (3, 'VIRGILO BARCO', 'http://virgilio.co',3); 41 | 42 | 43 | 44 | insert into libros (id,nombre,autor,id_biblioteca) 45 | values (1,'CIEN AÑOS SOLEDAD','GABRIEL GARCIA MARQUEZ',2), 46 | (2,'YO ROBOT', 'ISSAC ASIMOV', 2 ), 47 | (3, 'OSCURIDAD VISIBLE', 'WILLIAM GOLDING', 3); 48 | 49 | 50 | select * 51 | from escuelas ; 52 | 53 | select numero_estudiantes 54 | from escuelas; 55 | 56 | 57 | 58 | select * 59 | from bibliotecas; 60 | 61 | 62 | select sitio_web 63 | from bibliotecas; 64 | 65 | 66 | select * 67 | from libros; 68 | 69 | 70 | select autor 71 | from libros; 72 | 73 | 74 | 75 | /*Eliminar Tablas*/ 76 | 77 | drop table libros; 78 | 79 | drop table escuelas ; 80 | 81 | drop table bibliotecas; 82 | 83 | 84 | -------------------------------------------------------------------------------- /scriptSQL/taller_2.sql: -------------------------------------------------------------------------------- 1 | /*Consultas */ 2 | 3 | 4 | select * 5 | from libros 6 | where nombre is not null 7 | 8 | 9 | select * 10 | from libros 11 | where nombre is null 12 | 13 | 14 | select * 15 | from libros 16 | where id > 2 17 | 18 | select autor, id, nombre 19 | from libros 20 | where nombre is null and autor = 'a' 21 | 22 | 23 | /**Actualizaciones*/ 24 | 25 | update libros 26 | set nombre = "oscuridad visible" 27 | where id = 3 28 | 29 | 30 | update libros 31 | set autor = "issac asimov" 32 | where autor = "ISSAC ASIMOV" 33 | 34 | 35 | update libros 36 | set nombre = "La Fundacion" 37 | where nombre is null; 38 | 39 | 40 | 41 | 42 | update libros 43 | set autor = NULL 44 | where id = 7 ; 45 | 46 | 47 | 48 | /**Eliminaciones*/ 49 | 50 | delete from libros 51 | where id is null 52 | 53 | 54 | delete from libros 55 | where autor = 'e' 56 | 57 | 58 | delete from libros 59 | where autor is null 60 | 61 | 62 | 63 | delete from libros 64 | where autor is null and nombre is null; 65 | 66 | 67 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /scriptSQL/update-delete-select-where.sql: -------------------------------------------------------------------------------- 1 | /** 2 | * Actualizacion y eliminacion registros 3 | */ 4 | 5 | 6 | select * 7 | from empleados; 8 | 9 | 10 | 11 | /**Actualizacion**/ 12 | 13 | 14 | update empleados 15 | set salario=1200000; 16 | 17 | update empleados 18 | set salario= 800000 19 | where id = 6; 20 | 21 | 22 | 23 | update empleados 24 | set salario= 500000, edad= 20 25 | where id = 6; 26 | 27 | update empleados 28 | set salario= 10000000, edad= 60 29 | where nombre = 'carlos'; 30 | 31 | 32 | 33 | 34 | update empleados 35 | set salario= 1100 36 | where nombre = 'carlos'; 37 | 38 | 39 | update empleados 40 | set salario= 3300 41 | where nombre = 'carlos' and edad = 18 and salario = 2200; 42 | 43 | 44 | update empleados 45 | set salario= null 46 | where nombre = 'carlos' and edad = 66; 47 | 48 | /**Eliminación/**/ 49 | 50 | 51 | delete from empleados 52 | where id = 5; 53 | 54 | 55 | 56 | delete from empleados 57 | where nombre = 'gloria'; 58 | 59 | 60 | delete from empleados 61 | where nombre = 'carlos' and edad = 60; 62 | 63 | 64 | 65 | 66 | /**consultas compuestas/**/ 67 | 68 | 69 | select * 70 | from empleados 71 | where nombre = 'juan' 72 | 73 | 74 | 75 | 76 | select * 77 | from empleados 78 | where edad < 30; 79 | 80 | 81 | 82 | select * 83 | from empleados 84 | where edad > 30; 85 | 86 | 87 | 88 | select * 89 | from empleados 90 | where edad > 30 and salario < 1000000; 91 | 92 | 93 | 94 | 95 | select nombre 96 | from empleados 97 | where edad > 30 and salario < 1000000; 98 | 99 | 100 | 101 | select * 102 | from empleados 103 | where edad > 30 or salario < 1000000; 104 | 105 | 106 | select nombre,edad 107 | from empleados 108 | where edad <> 31 and nombre <> 'violeta'; 109 | 110 | 111 | select nombre,edad 112 | from empleados 113 | where edad = 31; 114 | 115 | 116 | select id, nombre, salario 117 | from empleados 118 | where salario is null; 119 | 120 | 121 | select id, nombre, salario 122 | from empleados 123 | where salario is not null; 124 | 125 | 126 | 127 | /** >, <,<>, */ 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | -------------------------------------------------------------------------------- /tallerFronted/index_e2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Ejercicio 2 8 | 9 | 10 | 11 |

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis nesciunt ad, ratione praesentium eos sed aliquid expedita tempore fugiat unde consectetur maiores quod ipsa nemo sint perferendis voluptatibus itaque libero.

12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tallerFronted/index_e34.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Ejercicio 3 Y 4 8 | 9 | 10 |

Lorem ipsum dolor sit amet consectetur adipisicing elit. Numquam laboriosam ex ad nisi possimus culpa illum harum omnis id mollitia nostrum, ipsam ullam cupiditate, qui distinctio magni vitae eum. Natus?

11 | 12 |

Lorem ipsum dolor sit amet consectetur adipisicing elit. Numquam laboriosam ex ad nisi possimus culpa illum harum omnis id mollitia nostrum, ipsam ullam cupiditate, qui distinctio magni vitae eum. Natus?

13 | 14 | 15 |
16 |
17 | 18 | 19 |
20 |
21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /tallerFronted/index_e5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Ejercicio 5 8 | 9 | 10 |
11 | 12 | 13 |
14 |
15 | 16 | 17 |
18 |
19 | 20 |
21 | 22 |
23 |
24 | 25 | 26 | 27 |
28 |

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nisi, sed consequuntur. Natus, non commodi voluptatum modi omnis sapiente nihil velit perferendis voluptatibus rem porro, placeat quaerat incidunt numquam quae repudiandae!

29 |
30 | 31 | 32 | -------------------------------------------------------------------------------- /tallerFronted/script_e2.js: -------------------------------------------------------------------------------- 1 | console.log("Loading Javascript!!!") 2 | 3 | var example= document.getElementById("parrafo"); 4 | 5 | example.innerHTML="Hola, soy Javascript!!!!" 6 | 7 | 8 | example =document.getElementsByTagName('p') 9 | 10 | example[0].innerHTML="Hola, soy Javascript 2 !!!!" 11 | 12 | 13 | example = document.getElementsByClassName("tipoParrafo") 14 | 15 | example[0].innerHTML = "Hola, soy Javascript 3 !!!!" 16 | -------------------------------------------------------------------------------- /tallerFronted/script_e34.js: -------------------------------------------------------------------------------- 1 | console.log("Loading Javascript!"); 2 | 3 | 4 | function cambiarColor(){ 5 | 6 | var myPar = document.getElementsByTagName("p"); 7 | 8 | myPar[0].style.color = "blue"; 9 | 10 | 11 | myPar[1].style.color = "red"; 12 | 13 | } 14 | 15 | 16 | function saludar(){ 17 | console.log("Saludo!!"); 18 | alert("Saludo!!"); 19 | } 20 | 21 | 22 | var buttonSL = document.getElementById("btnSaludar2"); 23 | 24 | buttonSL.addEventListener("click",saludar); -------------------------------------------------------------------------------- /tallerFronted/script_e5.js: -------------------------------------------------------------------------------- 1 | console.log("Loading Javascript"); 2 | 3 | var form = document.getElementById("myForm"); 4 | 5 | //form =>null =>false no ingresa al if 6 | //form =>false no ingresa al if 7 | 8 | if(form){ 9 | form.addEventListener("submit",validarFormulario); 10 | } 11 | //(validacion ) && ejecucion; 12 | form && form.addEventListener("submit",validarFormulario); 13 | 14 | 15 | if(form){ 16 | form.addEventListener("submit",validarFormulario); 17 | }else{ 18 | 19 | console.log("error"); 20 | } 21 | 22 | var data= (form) ? form.addEventListener("submit",validarFormulario): console.log("error"); 23 | 24 | 25 | 26 | function validarFormulario (event){ 27 | event && event.preventDefault(); 28 | 29 | console.log("ejecutando funcion validar"); 30 | 31 | 32 | let inputName = document.getElementById("name"); 33 | 34 | let inputEmail = document.getElementById("email"); 35 | 36 | 37 | let valueName = inputName.value; 38 | let valueEmail = inputEmail.value; 39 | 40 | 41 | let valueName2 = valueName.trim(); //Elimina los espacios en blanco al inicio y fin de un cadena string 42 | valueEmail = valueEmail.trim(); 43 | 44 | let valueName3 = valueName2.replace("i","1") 45 | 46 | if(valueName && valueEmail){ 47 | 48 | alert("Datos Correctos, Información Enviada !"); 49 | 50 | alert("Nombre: '"+valueName3+"'
Correo: '"+valueEmail+"'"); 51 | 52 | }else{ 53 | alert("Error en los Datos, Valide que no esten vacios !!") 54 | } 55 | 56 | 57 | } 58 | 59 | 60 | 61 | 62 | //------------------------------------------------------------------ 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | var container = document.getElementById("mainContainer"); 72 | 73 | 74 | container.addEventListener("mouseenter",()=>{ 75 | container.style.backgroundColor = "yellow"; 76 | }) 77 | 78 | 79 | container.addEventListener("mouseleave",()=>{ 80 | container.style.backgroundColor = "red"; 81 | }) 82 | 83 | 84 | -------------------------------------------------------------------------------- /tallerPHP/example_1.php: -------------------------------------------------------------------------------- 1 | "; 8 | } 9 | ?> -------------------------------------------------------------------------------- /tallerPHP/example_2.php: -------------------------------------------------------------------------------- 1 | "; 8 | }else{ 9 | echo "El número $numero es impar
"; 10 | } 11 | 12 | } 13 | 14 | 15 | 16 | echo true; 17 | echo "
"; 18 | 19 | echo false; 20 | 21 | echo "
"; 22 | esPar(99); 23 | 24 | esPar(16); 25 | 26 | 27 | esPar(20); 28 | 29 | 30 | esPar(-2); 31 | 32 | 33 | esPar(-100); 34 | 35 | 36 | 37 | esPar(-15); 38 | 39 | 40 | 41 | 42 | ?> -------------------------------------------------------------------------------- /tallerPHP/example_3.php: -------------------------------------------------------------------------------- 1 | "; 13 | $i=0; 14 | 15 | while($i <= $limite){ 16 | 17 | echo "Numero = $numeros[$i]
"; 18 | //por posiciones 19 | $i ++; 20 | 21 | } 22 | 23 | 24 | 25 | 26 | 27 | 28 | ?> -------------------------------------------------------------------------------- /tallerPHP/example_4.php: -------------------------------------------------------------------------------- 1 | 29, 6 | "Juan" => 30, 7 | "Mishell" => 27, 8 | "Samuel" => 35, 9 | "Diana" => 40, 10 | "Jonathan" => 35, 11 | ); 12 | 13 | 14 | foreach ($datosPersonales as $nombre => $edad) { 15 | echo "Nombre $nombre Edad $edad años
"; 16 | # code... 17 | } 18 | 19 | 20 | ?> -------------------------------------------------------------------------------- /tallerPHP/example_5.php: -------------------------------------------------------------------------------- 1 | nombre = "Stiv"; 18 | $user->edad = 31; 19 | $user->profesion = "Ingenieria"; 20 | 21 | 22 | echo "Nombre: $user->nombre
"; 23 | echo "Edad: $user->edad
"; 24 | echo "Profesión: $user->profesion
"; 25 | 26 | */ 27 | 28 | class Persona { 29 | 30 | private $nombre; 31 | private $edad; 32 | private $profesion; 33 | 34 | public function setPerson($nombreData, $edadData,$profesionData){ 35 | $this->nombre =$nombreData; 36 | $this->edad = $edadData; 37 | $this->profesion = $profesionData; 38 | return true; 39 | } 40 | 41 | public function viewInformation (){ 42 | echo "Nombre: $this->nombre
"; 43 | echo "Edad: $this->edad
"; 44 | echo "Profesión: $this->profesion
"; 45 | return true; 46 | } 47 | 48 | } 49 | 50 | $user = new Persona(); 51 | 52 | $user->setPerson("Stiv",31,"Ingenieria"); 53 | 54 | $user->viewInformation(); 55 | 56 | 57 | ?> -------------------------------------------------------------------------------- /tallerPHP/example_6.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tallerPHP2/example_1.php: -------------------------------------------------------------------------------- 1 | "Juan Alonso", 5 | "apellidos" => "Rodriguez", 6 | "tipoIdentificacion" =>"CC", 7 | "numeroIdentificacion" => 10252625335, 8 | "telefono"=>3165306534, 9 | "email"=> "juan@gmail.com", 10 | "profesion"=> "Ingenieria", 11 | "rol" => "Administrador" 12 | ]; 13 | 14 | 15 | 16 | foreach ($myArray as $key => $value) { 17 | 18 | echo "$key : $value
"; 19 | echo "$key
"; 20 | echo "$value
"; 21 | 22 | echo "-------------------------------------
"; 23 | 24 | } 25 | 26 | foreach ($myArray as $value) { 27 | 28 | echo " $value
"; 29 | echo "-------------------------------------
"; 30 | 31 | } 32 | 33 | 34 | $myArrayNext = array( 35 | "nombres" =>"Juan Alonso", 36 | "apellidos" => "Rodriguez", 37 | "tipoIdentificacion" =>"CC", 38 | "numeroIdentificacion" => 10252625335, 39 | "telefono"=>3165306534, 40 | "email"=> "juan@gmail.com", 41 | "profesion"=> "Ingenieria", 42 | "rol" => "Administrador" 43 | ); 44 | 45 | 46 | foreach ($myArrayNext as $data => $info) { 47 | 48 | 49 | echo "$data : $info
"; 50 | echo "******************
"; 51 | } 52 | 53 | 54 | 55 | foreach ($myArrayNext as $info) { 56 | 57 | echo "$info
"; 58 | echo "/////////////////////////
"; 59 | } 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | ?> 70 | 71 | -------------------------------------------------------------------------------- /tallerPHP2/example_2.php: -------------------------------------------------------------------------------- 1 | ///////
"; 23 | 24 | 25 | 26 | for ($i=0; $i <= $countArray - 1 ; $i++) { 27 | echo "Fecha : $myDate[$i]
"; 28 | echo "********************
"; 29 | } 30 | 31 | 32 | $i = 0; 33 | while ($i <= $countArray - 1) { 34 | echo "Fecha : $myDate[$i]
"; 35 | echo "////////////////////
"; 36 | $i++; 37 | } 38 | 39 | 40 | 41 | 42 | 43 | $i = 0; 44 | 45 | 46 | do { 47 | echo "Fecha : $myDate[$i]
"; 48 | echo "--------------------
"; 49 | $i++; 50 | } while ($i <= $countArray - 1); 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | ?> -------------------------------------------------------------------------------- /tallerPHP2/example_3.php: -------------------------------------------------------------------------------- 1 | "; 8 | break; 9 | 10 | case 'Correr': 11 | echo "La persona esta corriendo !!
"; 12 | break; 13 | 14 | case 'Leer': 15 | echo "La persona esta leyendo 100 años de soledad !!
"; 16 | break; 17 | 18 | case 'Desayunar': 19 | echo "La persona esta desayunando huevos fritos!!
"; 20 | break; 21 | 22 | 23 | case 'Dormir': 24 | echo "La persona esta durmiendo en el sofa!!
"; 25 | break; 26 | 27 | 28 | case 'Trabajar': 29 | echo "La persona esta trabajando con la contrucción de una pagina web!!
"; 30 | break; 31 | default: 32 | echo "Actividad no contemplada
"; 33 | break; 34 | } 35 | 36 | return true; 37 | } 38 | 39 | 40 | 41 | actividades("Dormir"); 42 | 43 | 44 | actividades("Trabajar"); 45 | 46 | 47 | actividades("Desayunar"); 48 | 49 | 50 | 51 | 52 | ?> --------------------------------------------------------------------------------