Quiero pedir disculpas por la resolución del vídeo, les recomiendo verlo en "Modo cine" y no en pantalla completa. El detalle es que los vídeos ya se realizaron y es imposible editarlos de nuevo, quiero comentarles que este detalle es hasta el vídeo 7, a partir del vídeo 8 (cuando comienza la acción) tiene calidad full hd. Gracias.
Carlos Fernandes el constructor en tu ejemplo deberia ser la base de la casa jajajaja como vas a empezar una casa por el techo ? XD unn ejemplo mejor en este caso seria a base de la casa luego el medio como lo explicaste pero el techo no seria el destructor sino un demoledor de casas XD asi no queda ni base ni nada todo cerrado :D
Esta modalidad de video enserió me parece genial, que expliques algo del lenguaje, el concepto del tema que quieres explicar y luego realizas un ejerció eso me parece muy genial y uno aprende mas, enserió eres un gran profesor, gracias por ser tan profesional.
Wilder Perozo Ah otro detalle que me gustaría sugerir, que subas los ejercicios que haces en las clases a un repo de Github creo que a muchos nos seria muy útil tenerlo a la mano. Saludos
Wilder Perozo La verdad Wilder que agrado leer comentarios como estos muchas gracias, estaré subiendo todos los archivos y también las presentaciones las estaré publicando por mi cuenta de twitter @_bycar .
hola, soy nuevo aca pero trabajo en capacitación en otra area. Una sugerencia (no se si lo habras realizado ya) pero debes aplicar Zoom convenientemente, ayuda mucho a quien sigue tus instrucciones., gracias por los videos, muy claros.
Este código es como el del video, falta añadirle algo más para que pare la ejecución cuando hayas acertado y te indique correctamente el número de intentos que empleaste para acertar.
Muy bueno el vídeo, se agradece. Pienso que estaría genial que fueras colocando en dropbox el material (como haces) pero además colocaras el enlace en la descripción del vídeo porque estar entrando a tu tweeter y buscándolo en la historia es un poco pesado. ¡Sigue así y a por el resto de vídeos!
Amigos de CodigoFacilito, Gracias por el curso. les recomiendo que vuelvan y editen el video con CAMSTUDIO y hagan los acercamientos, ya que he tenido problemas con los simbolos en rojo (.,
Gracias por los tutoriales, tengo una pregunta agradeceria sus respuestas, tambien puedo crear el metodo constructo creando un metodo pero el metodo tendra el mismo nombre de la clase y dentro de ese metodo tambien se pueden asigar los valores por defecto del objeto?
8 ปีที่แล้ว +3
Es solo cuestión de poner atención y lo más obvio para ver este tipo de vídeos debes tener algún conocimiento sobre el tema porque sino están en el lugar equivocado. El vídeo esta muy bien explicado. Gracias =)
Muy buen curso, tanto este como el de laravel, solo quisiera saber de algun libro o recurso de php orientado a objetos ademas de el curso para complementar +Carlos Fernandes
No entendi esta solucion, en este paso $this->intentos = $i+1; esta realizando la comparacion entre el numero de intentos ingresados y la variable $i que se va incrementado, no se supone que debe ser comparacion entre el aleatorio y el numero ingresado
Muy amena la manera de presentar el tema, pero... el color que sublime aplica a public se hace dificil de distinguir en caracterers como = - >. Saludos
si quieren que el codigo no siga ejecutando cuando gane esta es la solucion public function intentos($int){ if ($this->resultado == false) { if ($int == $this->num) { echo "". $int . "==" . $this->num . " "; $this->resultado=true; }else{ echo "". $int . " != " . $this->num . " "; } } }
Gracias por este gran Aporte, he modificado un poco el codigo para incorporar cuantas victorias ha tenido el jugador y para que el mismo jugador pueda escojer el numero de su preferencia desde la misma pagina aqui:
Una consulta, veo que eliminando las variables o atributos , (public intentos y public numeros) no me arroja ningun error, y el codigo sigue funcionando, entonce sno es necesario declararlos?
tengo una duda en que parte del código se le asigna un valor a la variable numero y me pueden explicar esta parte del código: $construct = new loteria(10,10); yo se que el primer numero hace referencia al # de intentos y el segundo es el # a acertar pero no se en el código como hacen para tomar los valores y hacer referencia a las funciones no se si me hago entender agradecería una explicación gracias
Si lo hace. Cuando está vacío generalmente es porque se usa una clase de utilidades (solo métodos y la mayoría son estáticos). Eso depende de las necesidades.
Hola Funciona pero luego de probarlo algunas veces me aparece: Notice: Undefined variable: resultado in C:\xampp\htdocs\loteria.php on line 36 Fatal error: Cannot access empty property in C:\xampp\htdocs\loteria.php on line 36 que puede ser????? Gracias
Muy buen video, solo que a mi no me sale nada, no se que pasa ya lo cheque bien... La verdad es que da trabajo esta en muy mala resolucion este video, pero gracias...
La calidad del video no ayuda, quisiera sugerirte algo seria bueno proponer ejercicios o una pagina donde uno pueda encontrar ejercicios para poner en practica lo que enseñas, por lo demás muy bien gracias por el aporte
No es más correcto poner los atributos como privados y usar dentro de la clase getters y setters ? si la clase es muy grande y usas getters y setters al cambiar algo de los atributos tendrías que cambiarlo en todas partes que se llamen en la clase, pero si usas los getters y setters solo en ellos..
Ciertamente el compañero dejó el código a medias para que nosotros lo arreglaramos por nuestra cuenta y así aprender por nuestros propios medios. Me parece magnífica idea. Os dejo mi solución:
Básicamente: El constructor es el método que da inicio a la clase. Cuando esté no se incluye o no sé específica, Él lo hace automáticamente (de manera interna) por uno. En otras palabras : piensa que ese método es el "start" o el que le da "encendido" al objeto. Sin un constructor el objeto jamás se iniciará. Entonces allí metes todo lo que deseas que inicie automáticamente al crearse el objeto. Con respecto al destructor, es un tema un poco más delicado, que de hecho, no deberían mencionar en este nivel del curso., Pero básicamente el destructor lo que hace es "valga la redundancia" destruir el objeto. Entonces todo lo que metas allí,se ejecutará en el momento que el objeto se destruye.
Buen video, pero a pesar de eso no está bien hecha la aplicación, porque igual me va a decir 10 intentos a pesar que me salga igual en el primero, segundo u otro numero de intento antes del decimo. Saludos.
Quiero pedir disculpas por la resolución del vídeo, les recomiendo verlo en "Modo cine" y no en pantalla completa. El detalle es que los vídeos ya se realizaron y es imposible editarlos de nuevo, quiero comentarles que este detalle es hasta el vídeo 7, a partir del vídeo 8 (cuando comienza la acción) tiene calidad full hd. Gracias.
***** Si lo se, pero como te digo este problema llega hasta el vídeo 7, no se preocupen y gracias por la comprensión.
Carlos Fernandes el constructor en tu ejemplo deberia ser la base de la casa jajajaja como vas a empezar una casa por el techo ? XD unn ejemplo mejor en este caso seria a base de la casa luego el medio como lo explicaste pero el techo no seria el destructor sino un demoledor de casas XD asi no queda ni base ni nada todo cerrado :D
+Carlos Fernandes Te recomiendo tambien usar un tema de sublime con colores mas claros como slush n poppies
Gustavo Ramirez entre mas oscuro mejor asi no te quemas la retina del ojo
Esta modalidad de video enserió me parece genial, que expliques algo del lenguaje, el concepto del tema que quieres explicar y luego realizas un ejerció eso me parece muy genial y uno aprende mas, enserió eres un gran profesor, gracias por ser tan profesional.
Wilder Perozo Ah otro detalle que me gustaría sugerir, que subas los ejercicios que haces en las clases a un repo de Github creo que a muchos nos seria muy útil tenerlo a la mano. Saludos
Wilder Perozo La verdad Wilder que agrado leer comentarios como estos muchas gracias, estaré subiendo todos los archivos y también las presentaciones las estaré publicando por mi cuenta de twitter @_bycar .
Como programador, Esta es una de las mejores formas de programacion. Recomendado el video :) Aprender a desarrollar orientado a objetos es excelente.
gracias, no me habia dado cuenta que eran recientes los videos. Pense que eran ya de meses atras y no habian seguido subiendo.
Excelente, ahora sí me animo a aprender POO.. Porque lo he visto muy engorroso. Vamos a ver que tal el curso, hasta ahora ha sido muy bueno :D
Me dejaste con muchas dudas, gracia por el vídeo.
hola, soy nuevo aca pero trabajo en capacitación en otra area. Una sugerencia (no se si lo habras realizado ya) pero debes aplicar Zoom convenientemente, ayuda mucho a quien sigue tus instrucciones., gracias por los videos, muy claros.
El ejemplo de la casa es el peor ejemplo que he visto en mi vida jsjdkajdskaj aún así muchas gracias por todos tus videos.
Amigos, Adjunto el codigo ya probado y funcionando. para los que tienen algun tipo de inconveniente.
Paulo César Ramírez Rodríguez Gracias, por que no sabia si lo que pone e son puntos o comas XD
Paulo César Ramírez Rodríguez gracias, mi código está bien, solo me equivoqué en guardarlo como archivo php
Este código es como el del video, falta añadirle algo más para que pare la ejecución cuando hayas acertado y te indique correctamente el número de intentos que empleaste para acertar.
Muy buen vídeo .! , aquí les dejo el código un poco más optimizado por si lo quieren :
class Loteria {
public $numero;
public $intentos;
public $iteraciones_logradas;
public $resultado = false;
// El método constructor se inicia automáticamente al instanciarse la clase
public function __construct($numero, $intentos) {
$this->numero = $numero;
$this->intentos = $intentos;
}
public function sortear() {
$minimo = $this->numero / 2;
$maximo = $this->numero * 2;
for ($i = 0; $i < $this->intentos; $i++) {
$num_aleatorio = rand($minimo, $maximo);
$this->intentos($num_aleatorio, $i + 1);
if ($this->resultado) {
break;
}
}
}
public function intentos($num_aleat, $num_iteraciones) {
if ($this->numero == $num_aleat) {
echo "Intento " . $num_iteraciones . " : " . $num_aleat . " es igual a " . $this->numero . "";
$this->resultado = true;
} else {
echo "Intento " . $num_iteraciones . ": " . $num_aleat . " es diferente a " . $this->numero . "";
}
$this->iteraciones_logradas = $num_iteraciones;
}
public function __destruct() {
if ($this->resultado) {
echo " Ganaste :D acertaste con " .$this->iteraciones_logradas . " intentos ";
} else {
echo " Perdiste .! , lo intentaste " . $this->iteraciones_logradas . " veces ";
}
}
}
$loteria = new Loteria(10, 10);
$loteria->sortear();
Codigo Facilito, si es cierto, Mas Facil, No se puede, 'Pura Vida' desde Costa Rica. Gracias
excelente curso, es genial como lo explicas :)
gracias
Bueno aquí la linea 27 por si no se ven los punto que son para concatenar. Muy buen vídeo.
echo "".$int." == ". $this->numero."";
Luis Gago Casas Gracias no sabia para que eran los puntos XD
Explicas súper bien, gracias ;)
Muy bueno el vídeo, se agradece. Pienso que estaría genial que fueras colocando en dropbox el material (como haces) pero además colocaras el enlace en la descripción del vídeo porque estar entrando a tu tweeter y buscándolo en la historia es un poco pesado. ¡Sigue así y a por el resto de vídeos!
Excelente video, Pienso que el compañero quiso hacer el programa así a ver si nos dabamos cuenta de algunos detalles que hacian falta.
muy bien explicado felicitaciones
Excelente video. cuando te dió el error con el rand(), ¿Como hicistes la corrida en frío?, eso me ayudaría a entenderlo muchísimo mejor. Gracias
Buen curso de php.
Amigos de CodigoFacilito, Gracias por el curso. les recomiendo que vuelvan y editen el video con CAMSTUDIO y hagan los acercamientos, ya que he tenido problemas con los simbolos en rojo (.,
muy bien excelente muchas gracias por este video =)
gracias por los vídeos están bien explicado
muy buen video man , me ayudo bastante
aqui dejo el codigo un poco mas optimo
Excelente, muchas gracias por compartir
Gracias por los tutoriales,
tengo una pregunta agradeceria sus respuestas, tambien puedo crear el metodo constructo creando un metodo pero el metodo tendra el mismo nombre de la clase y dentro de ese metodo tambien se pueden asigar los valores por defecto del objeto?
Es solo cuestión de poner atención y lo más obvio para ver este tipo de vídeos debes tener algún conocimiento sobre el tema porque sino están en el lugar equivocado.
El vídeo esta muy bien explicado. Gracias =)
Buen curso, sigan adelante :D
Muy buen curso, tanto este como el de laravel, solo quisiera saber de algun libro o recurso de php orientado a objetos ademas de el curso para complementar +Carlos Fernandes
El código, con un par de arreglos para que se cierre cuando se gana la loteria!! :D
Excelente... no sabía lo del return... gracias!!!
No entendi esta solucion, en este paso $this->intentos = $i+1; esta realizando la comparacion entre el numero de intentos ingresados y la variable $i que se va incrementado, no se supone que debe ser comparacion entre el aleatorio y el numero ingresado
gracias
Exeleten, me queda pendiente saber por que pusiste el parametro la variable $minimo ?
hola brother, una pregunta que entorno grafico utilizas?
Ese Editor es sublime text.
Yo prefiero VSCode.
Muy amena la manera de presentar el tema, pero... el color que sublime aplica a public se hace dificil de distinguir en caracterers como = - >.
Saludos
no es necesario liberar las variables dentro del destructor?, o el destructor las libera por defecto?
me demore 20 minutos viendo por que no me salia, y era un piche "=" que faltaba :v
no te entiendo
si quieren que el codigo no siga ejecutando cuando gane esta es la solucion
public function intentos($int){
if ($this->resultado == false) {
if ($int == $this->num) {
echo "". $int . "==" . $this->num . " ";
$this->resultado=true;
}else{
echo "". $int . " != " . $this->num . " ";
}
}
}
solo llega hasta el 4? donde puedo encontrar los demas si es que los hay?
seul zarraga Que tal, todos los días sale uno nuevo, puedes ir practicando mientras sale el siguiente.
a toda ahora toca utilizar el this en la clase ?
El "this" siempre hará referencia a a los atributos (propiedades) y a los métodos propios de la clase.
Gracias por este gran Aporte, he modificado un poco el codigo para incorporar cuantas victorias ha tenido el jugador y para que el mismo jugador pueda escojer el numero de su preferencia desde la misma pagina aqui:
aqui ( $this->victorias = $this->victorias + 1; ) tambien puedes usar ( $this->victorias++; )
Una consulta, veo que eliminando las variables o atributos , (public intentos y public numeros) no me arroja ningun error, y el codigo sigue funcionando, entonce sno es necesario declararlos?
Como podría poner aleatorio un array?
¿Por que no agregas el código aquí en youtube? Es difícil de leer en el video
No me funciona las intrucciones puestas en __destruct(){}, estoy usando la versión 5.6.8 de PHP, agradecería mucho si me das una mano. Gracias.
Listo, ya encontre mi error, sabia que andaba por ahi en mis constructores jajajaa...
tengo una duda en que parte del código se le asigna un valor a la variable numero
y me pueden explicar esta parte del código:
$construct = new loteria(10,10);
yo se que el primer numero hace referencia al # de intentos y el segundo es el # a acertar pero no se en el código como hacen para tomar los valores y hacer referencia a las funciones
no se si me hago entender
agradecería una explicación gracias
php no toma un constructor vacio por defecto???
Si lo hace.
Cuando está vacío generalmente es porque se usa una clase de utilidades (solo métodos y la mayoría son estáticos). Eso depende de las necesidades.
Hola Funciona pero luego de probarlo algunas veces me aparece:
Notice: Undefined variable: resultado in C:\xampp\htdocs\loteria.php on line 36
Fatal error: Cannot access empty property in C:\xampp\htdocs\loteria.php on line 36
que puede ser?????
Gracias
Muy buen video, solo que a mi no me sale nada, no se que pasa ya lo cheque bien... La verdad es que da trabajo esta en muy mala resolucion este video, pero gracias...
Zoom? No se mira, muy pequeño
Tampoco entendí creo que estuvo mal el ejemplo que tomaste de la lotería, pero se agradece la intención seguiré viendo los demás tutoriales
La calidad del video no ayuda, quisiera sugerirte algo seria bueno proponer ejercicios o una pagina donde uno pueda encontrar ejercicios para poner en practica lo que enseñas, por lo demás muy bien gracias por el aporte
Y donde esta la explicación????
no me funca :C
Quien chucha hace primero el techo
No es más correcto poner los atributos como privados y usar dentro de la clase getters y setters ? si la clase es muy grande y usas getters y setters al cambiar algo de los atributos tendrías que cambiarlo en todas partes que se llamen en la clase, pero si usas los getters y setters solo en ellos..
Ciertamente el compañero dejó el código a medias para que nosotros lo arreglaramos por nuestra cuenta y así aprender por nuestros propios medios. Me parece magnífica idea. Os dejo mi solución:
no funciono solo sale el mensaje: Que lastima, has perdido en intentos. pero es muy loable la intencion
Disculpen no entendí muy bien el concepto de los métodos constructores y destructores, ¿alguien en su bondad podría explicarme por favor?.
Básicamente:
El constructor es el método que da inicio a la clase. Cuando esté no se incluye o no sé específica, Él lo hace automáticamente (de manera interna) por uno.
En otras palabras : piensa que ese método es el "start" o el que le da "encendido" al objeto. Sin un constructor el objeto jamás se iniciará.
Entonces allí metes todo lo que deseas que inicie automáticamente al crearse el objeto.
Con respecto al destructor, es un tema un poco más delicado, que de hecho, no deberían mencionar en este nivel del curso., Pero básicamente el destructor lo que hace es "valga la redundancia" destruir el objeto.
Entonces todo lo que metas allí,se ejecutará en el momento que el objeto se destruye.
Buen video, pero a pesar de eso no está bien hecha la aplicación, porque igual me va a decir 10 intentos a pesar que me salga igual en el primero, segundo u otro numero de intento antes del decimo. Saludos.
Horrible explicado menos mal que no pagué por esto.
Muy buena la Intención, pero no explicas cada una de las cosas. Me quedo con muchas preguntas sobre como haces cada una de las cosas.
Se perdio el objetivo del curso, al final no hubo conclusión de cómo funciona el constructor. Igual gracias por el video.
Hasta aquí llegue. Que pedagógica tan pésima. No me extraña que la mayoría de comentarios están de acuerdo con migo.
No entendí ni mierda
Realmente el curso veo que está diseñado para quienes tengan algunas bases.
Muy seguramente quien esté en ceros, se perderá fácilmente.