Gracias por llegar hasta aquí, ahora ve por el examen 😃
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 52
Preguntas 2
Gracias por llegar hasta aquí, ahora ve por el examen 😃
Este curso sí está mucho mejor, a la altura de la academia.
Lo que me encanta de PHP es que es super flexible como lenguaje, me gustó el curso, voy por el examen!
🧠 Entender la flexibilidad y potencia de PHP, me permitió comprender la importancia de las buenas prácticas del lenguaje.
https://phpbestpractices.org/
Muy bueno el curso, muy mal hecho el examen.
Vengo de java y cada vez me sorprende mas la simpleza de php. Sin embargo creo que no hay que abusar de tanta flexibilidad que brinda el lenguaje, porque podríamos caer en malas practicas de programación.
Excelente curso profe Italo, muchas gracias.
excelente curso, ojala el profesor Italo haga mas cursos, uno en donde podamos aplicar de manera mas practica lo que nos ha enseñado
Pd: dejo mis apunte de todo el curso
$variable
, lo imprime exactamente igual, no toma el valor que esta dentro de la variablePara estos casos utilizamos las llaves para escapar, asi le indicamos a php que esa es una estructura compleja y que la analice detenidamente
$courses = [
'backend' => [
'PHP',
'Laravel'
]
]
echo "{$courses['backend'][0]}"
Utilizamos una especie de flechita
class User{
public $name = "Matias";
}
//creamos la instancia
user = New User;
//imprimimos
echo "user->name"
$teacher = 'italo';
$italo = 'Profesor de PHP';
echo "$teacher es ${$teacher}";
Esto tambien podemos hacerlo con funciones
function getTeacher(){
return 'teacher';
}
echo "${getTeacher}"
podemos indicar el indice que queremos seleccionar entre llaves o entre corchetes, es decir:
data[0];
data{0};
significa substraer string
. La sintaxis es la siguiente
substr($valor, 0, 20);
Asi indicamos, de donde tiene que substraer, desde donde tiene que empezar y hasta que indice tiene que llegar
pasar de texto a un array separando los elementos mediante un valor. Por ejemplo
$data = 'javascript, php, laravel';
$tags = explode(', ', $data);
//utilizamos var_dump() para imprimir un array
echo "<pre>";
var_dump($tags);
Es una etiqueta propia de PHP, lo que nos permite es extructurar mejor la informacion a imprimir
Es el contrario de la funcion explode
, lo que hace es pasar de un array a un string. La sintaxis es la misma.
Lo que hace es eliminar los espacios restantes tanto al final como al inicio.
Tiene otras dos variantes:
$code = 39;
echo str_pad($code, 8, '#');
//salida: 39######
Si agregamos el parametro STR_PAD_BOTH lo que hara sera centrar el numero actual de nuestra factura y rellenar con # a los lados
$code = 39;
echo str_pad($code, 8, '#', STR_PAD_BOTH);
//salida: ###39###
Tambien podemos utilizar STR_PAD_LEFT y STR_PAD_LEFT
$text = '<h1>Hola mundo</h1>';
echo strip_tags($text);
Cuando trabajamos caracteres especiales, como por ejemplo la ñ o la ó, no son interpretados correctamente en las funciones strtoupper entre otras, es decir que no convierte el caracter a mayuscula
Cuando nos topamos con un elemento como este decimos que estamos trabajando con un elemento multibyte
Solucionarlo es muy sencillo
$text = 'Hola ña ñeca';
echo strtoupper($text);
//salida: HOLA ñA ñECA
echo mb_strtoupper($text);
//salida: HOLA ÑA ÑECA
asi le indicamos a PHP que estamos trabajando con un elemento Multibyte
preg_match
preg_match("/^[0-9]{6,9}$/");
Lo primero que hacemos es requerir phpunit para el desarrollo
composer require --dev phpunit/phpunit
Luego de eso, modificamos el archivo composer.json y le agregamos un nombre, despcripcion y configuramos el autoload
{
"name": "matias-ed/validate",
"description": "proyecto de validacion",
"autoload": {
"psr-4": {
"App\\": "src/"
}
},
"require-dev": {
"phpunit/phpunit": "^9.5"
}
}
Creamos el archivo phpunit.xml donde especificamos en que carpeta se encuentran nuestros tests
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="vendor/autoload.php" colors="true">
<testsuite name="Test directory">
<directory>tests</directory>
</testsuite>
</phpunit>
Creamos la carpeta tests y dentro de ella creamos el archivo ValidateTest.php
obs: Es buena practica que los archivos de testing terminen en Test
<?php
use PHPUnit\Framework\TestCase;
use App\Validate;
class ValidateTest extends TestCase
//TestCase es una clase de PHPUnit
{
public function test_email()
{
$email = Validate::email("[email protected]");
//aqui llamamos al metodo email de la clase Validate que aun no hemos creado
$this->assertTrue($email);
//Es un metodo de TestCase
}
}
Por ultimo creamos nuestra carpeta src/ y adentro creamos nuestra clase Validate
namespace App;
class Validate
{
public static function email($value)
{
return (bool) filter_var($value, FILTER_VALIDATE_EMAIL);
}
}
//filter_var es una funcion propia de php que me permite filtrar a mis variables
//FILTER_VALIDATE_EMAIL es una constante propia de PHP
$course = 'PHP';
function path($course)
{
$course = 'Laravel';
echo $course;
}
path($course);
echo $course;
Esta function solo modifica el valor internamente en la funcion, quiere decir que fuera de la function $course
sigue teniendo el valor ‘PHP’
Si queremos que tambien se modifique el valor global agregamos un &
$course = 'PHP';
function path(&$course)
{
$course = 'Laravel';
echo $course;
}
path($course);
echo $course;
Parametro o argumento predeterminado
Es el valor por defecto que tiene un argumento
Return
Lo que hace es devolver un resultado
Exit()
Es una funcion que detiene el sistema
Una funcion anonima se usa en una variable que requiere logica
Nos referimos a ella a traves de una variable
$greet = function($name){
return "Hola $name";
};
$greet("Matias");
Son aquellos a los cuales no hemos definido ningun key
Son aquellos que ya cuentan con clave => valor
Utilizando foreach
$courses = [
'frontend' => 'JavaScript',
'framework' => 'React',
'backend' => 'PHP'
];
foreach ($courses as $key=>$value)
{
echo "$key: $value<br>";
}
Utilizando array_walk
$courses = [
'frontend' => 'JavaScript',
'framework' => 'React',
'backend' => 'PHP'
];
function upper($course)
{
echo strtoupper($course). "<br>";
}
array_walk($courses, 'upper');
$array_1 + $array_2
sin embargo aqui se sobreescriben los indices. Si tenemos dos arrays con indice 0, el elemento que esta en el indice 0 del array 1 sobreescribe a el elemento del indice 0 del array 2. Tenemos dos formas de solucionar esto
Dejo por aquí el Repositorio en github por si lo necesitan :3
Me gusta que en php hay muchas palabras reservadas para hacer determinadas cosas para manipular los arrays, eso es muy util a la hora de simplificar el codigo y ayuda agilizandolo
Explicaciones claras y puntuales. Buena metodologia.
Me gusta sobre todo como hace enfasis en las buenas practicas y la manera profesional de hacer las cosas.
Excelente !
Me hice este curso en 30’
Joder Esto si es PHP!
Gracias por tan buen y util Curso, es bueno que se enseñe un PHP mas moderno y con muy buenas Explicaciones, Gracias Italo :] xd.
Gracias profesor Italo, aprendi muchisimo en este curso, se la importancia de conocer un lenguaje de programacion para resolver problemas de la manera mas eficiente, y con este curso he profundizado tanto en PHP que no me deja de explotar la cabeza, las posibilidades son infinitas y estoy bastante emocionado de lo que viene despues de este curso ❤️
El curso lo he visto medianamente bien, pero la redacción de algunas preguntas del examen final de parecen de risa. Llevo varios años en Platzi y no me había pasado esto jamás. Cuando lo hagás (creo que) lo entenderás.
Genial el curso
Muy buen curso, me encanta como enseña Italo.
Aprendí bastante 😄
Muy buen curso. Excelente ritmo y explicaciones claras.
Excelente curso, me ha ayudado a entender desde cero (casi) poder lograr entender este curso.
Muchas gracias por tan excelente curso y tan buen profesor
Excelente Curso 👌
esta super bueno el curso!! y con estas clases puedo apreciar todo el potencial que tiene PHP, y entender que no es un mal lenguaje como muchos opinan, sino uno muy flexible donde depende de quién programa, crear buen código y dar solución a problemas!!
Muy buen curso!
excelente curso, muchas gracias ahora a seguir practicando para no olvidarlo.
A por ello
Gracias excelente curso!
Me gusto mucho el curso, aprendí mucho de PHP. Gracias Italo.
Buena explicacion Italo,muy buen curso.
Excelente Curso! Voy por otro examen! Gracias Italo!
Gracias excelente curso !
Excelente curso, estoy aprendiendo claramente los temas
Muchas gracias Italo , perfecta explicación.
El modulo de los arrays me ayudo mucho.
Buen curso, aun ando algo perdido en la parte de composer, pero espero se explique a detalle más adelante
La verdad es que tenía mucha inseguridad de empezar los cursos de php, creyendo que se me harían muy complicados, pero el profesor explica excelente. A por los demás cursos de PHP 😄
Muy buena explicación, ya termine el examen y php me esta sorprendiendo.
En lo personal el tema de los array siempre me ha costado entenderlo bien. Sin duda este curso me ayudo a tener una base más sólida. Excelente curso!
bastante interesante, muy buen maestro
Excelente curso y explicación del profesor
Gracias por compartir su conocimiento
Que buen curso, aprendí cosas que aún no sabía.
excelente. 5.0
Muy buen curso…
Con esta ojeada que vimos a las pruebas unitarias quede muy motivado para profundizar en el tema.
Gracias profesor!
Excelente curso Italo, muy concreta la enseñanza, creo que seguiremos por mas…
vine buscando cobre y encontré oro
Genial este curso, gracias Italomoralesf
Excelente e interesantes explicaciones sobre el manejo de datos en PHP
Excelente curso. Sigo aprendiendo teniendo conocimientos anteriores. Gracias!
A pesar de ser fundamentos básicos del lenguaje me han servido mucho los temas como un repaso general, sobre todo por la forma de explicar del profesor, ha sido muy fácil de entender los conceptos.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?