Тёмный

12.- PHP Orientado a Objetos - Namespaces 

codigofacilito
Подписаться 725 тыс.
Просмотров 34 тыс.
50% 1

Опубликовано:

 

4 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 92   
@sebastianrincon7381
@sebastianrincon7381 8 лет назад
No hay que ser malagradecido al contrario codigoFacilito tiene muy buenos cursos pero este tema fue inentendible.
@edurperez5226
@edurperez5226 3 года назад
Yo sí entendí ;-;
@franco26978
@franco26978 4 года назад
El único video con el que logre entender del todo namespace, gracias
@edsermoreno7629
@edsermoreno7629 5 лет назад
Lo que más me gusta es a la velocidad que escriben código, lo que hace que el video sea más rápido e interesante. lo mantiene a uno concentrado al 100 %.
@ragadiveluka
@ragadiveluka 9 лет назад
Hola estoy muy agradecido por el curso, agradezco que brinden estos conocimientos de manera gratuita. De veras considero que codigofacilito.com es un exelente sitio donde brindan todos estos cursos. Con respecto a este mi único señalamiento es que en algunos casos se explica como funciona lo que se esta tratando pero no se explica porque es útil especificamente o que lo diferencia de hacerlo de otra manera, es decir, que es lo novedoso del topico que se trata en cuestion. Mil gracias por el aporte
@cirogoyeneche9400
@cirogoyeneche9400 8 лет назад
Anteriormente, comenté que no sabia el uso de los namespaces. Pero buscando info, encontré que sirven para diferenciar, es decir, si se tienen quizás clases con el mismo nombre, por ejemplo, se usan los namespaces para poder diferenciarlas. Un ejemplo: Si en una compañía entra alguien que se llame Pepe y después entra otro, se usan los apellidos para diferenciarlos, es así en código pero se usan los namespaces.
@LuisHernandez-hh9ul
@LuisHernandez-hh9ul 8 лет назад
Yo no soy un experto en PHP, sin embargo tengo experiencia desarrollando paginas, aplicaciones y sistemas en dicho lenguaje y entiendo perfectamente lo que el tutor explica y modifica en el código, veo que muchos se quejan por no entender ciertas partes del video, seria mejor que comiencen con algo más básico para poder entender algo más complejo. Para eso se debe tener algo esencial llamado "Lógica de programación".
@AlejoElGunner
@AlejoElGunner 8 лет назад
Realmente no entendí porque los namespaces es lo mas apasionante del curso y lo que todos esperaban o.O
@tatoElpaisa
@tatoElpaisa 7 лет назад
+Alejandro Rueda , un saludo. Realmente los "Namespaces" nos ayudan a dar orden, estructura y cumplimiento a convenciones que mejoran la administración y mantenimiento del código. Básicamente es eso.
@JorhelR
@JorhelR 4 года назад
Yo creo que lo dice porque puede poner un autoload.
@HenryBeGa
@HenryBeGa 6 лет назад
Al final no entendí naada, un par de horas confundido pero luego me salió bien, o eso espero. En mi caso escribí el mismo código, con las diferencias que los archivos tienen el mismo nombre: api/Models/persona.php y api/Controllers/persona.php, luego en index.php escibí: function autoload($clase){ include str_replace("\\","/","$clase.php");} spl_autoload_register('autoload'); Models\persona::Hola(); Controllers\persona::Hola();
@HenryBeGa
@HenryBeGa 6 лет назад
Otra cosa que pude comprobar para que funcione, el nombre del archivo php debe ser igual al de la clase, es decir: personaController.php y class personaController{ }
@davoxpantostado
@davoxpantostado 3 года назад
Excelente explicación, y hasta los errores fueron muy útiles. Gracias.
@edsermoreno7629
@edsermoreno7629 5 лет назад
Muy, muy bueno. ando aprendiendo Laravel y es imperativo ver este video que te conduce al saber como funcionan los Frameworks. Gracias.
@drivegr2497
@drivegr2497 3 года назад
gracias por la info del comienzo me sirvió para corregir un error que tenia por colocarlo después de código php y html
@cristianandresvargasgonzal4510
Gracias por el video, no lograba entender lo de los namespace busque en documentacion y tutoriales sobre este tema muy poco se habla sobre los directorios o carpetas donde se almacena los archivos.php que es algo importante y no se puede perder de vista pues esa es la gracia del namespace.
@carlosfabianpalaciospalaci6289
@carlosfabianpalaciospalaci6289 3 года назад
A la fecha de hoy(2021) siguiendo el curso.
@JuanCarlosLerma
@JuanCarlosLerma 8 лет назад
Estoy siguiendo el curso, en los próximos días continuaré viéndolos. Muy interesante las cosas que haces. Me ha interesado lo del namespace, el trait y lo del autoload que está genial. Saludos desde Venezuela.
@juanmaa1414
@juanmaa1414 7 лет назад
Muy bueno. Solo aclarar que una de las convenciones es que se coloca por ejemplo PersonasController y no PersonasControllers, ya que "controller" llamamos a un tipo de clase y archivo que cumple con esa función, y por lo tanto, lo lógico es que sea controller en singular.
@Frankcedenho
@Frankcedenho 5 лет назад
Excelente! Pilas con la ruta que le damos... api/ en mi caso estaba de mas ya que index en mi caso estaba a la misma altura que las carpetas.
@rafaeltorrealba6689
@rafaeltorrealba6689 9 лет назад
Felicitaciones ya hoy publicaste el video #12 de este tutorial.
@valenciapaginasweb
@valenciapaginasweb 9 лет назад
En el minuto 6:30 se bajo el volumen
@ogermanernesto
@ogermanernesto 3 года назад
Excelente explicación.
@davidticstorm4114
@davidticstorm4114 6 лет назад
Muy buenos los videos hasta ahora sobre el uso de namespace...
@JoseAlvaradoo
@JoseAlvaradoo 9 лет назад
Al final no quedó muy claro, ya que cambiaste el nombre de una de las clases lo que haría inútil al Namespace. Claro, esto para adaptarlo a nuestro spl_autoload_register(); y todo por hacer de buena práctica colocando el archivo del controlador como PersonaController.php Si ambos archivos se llamaran Persona.php y uno está en /Models y el otro en /Controllers al hacer el spl no tendríamos problemas.. Y por lo tanto, no tendríamos que cambiar el nombre de la clase, seguiríamos teniendo las clases con el mismo nombre :P
@dindjarin360
@dindjarin360 9 лет назад
Jose Alvarado Si, todo iba bien pero al final yo quede confundido con el cambio de nombre a la clase y al archivo :/
@AngelHdzMultimedia
@AngelHdzMultimedia 9 лет назад
Professor Zoom Hola Eobard thawne eres todo un loquillo xD
@halperiano
@halperiano 9 лет назад
+Professor Zoom asi son los de codigo facilito no preparan ya la clase sino q nos hacen perder el tiempo para luego decirnos q hay un error borran todo y kedas asi U.u
@freivincampbell
@freivincampbell 9 лет назад
Depende de los profes!! bueno tutores
@halperiano
@halperiano 9 лет назад
Freivin Campbell eso no tiene nada q ver amigo mio
@emiliosantana2243
@emiliosantana2243 Год назад
Gracias por el curso. Una consulta: estos códigos son validos para la versión del PHP 8 y mas?
@ElRinconDeJavo
@ElRinconDeJavo 8 лет назад
Recientemente empecé a aprender PHP y en un sistema de pruebas donde voy realizando todas mis prácticas estoy utilizando PDO en lugar de MySQLi, tanto para la conexión como para el resto de clases y funciones (simplemente por cuestión de versatilidad); hasta el momento no tuve ningún problema, pero al empezar con el tema de los namespaces tengo la sensación que PDO no funciona con namespaces, eso o existe otro método para hacerlos funcionar en PDO porque utilizando el método que nos enseñas créeme que ya he revisado mil veces el código y no existe ningún problema, no obstante indica que la clase no existe. Saludos!
@delvistovar4132
@delvistovar4132 8 лет назад
Hermano me interesa saber como resolviste ese inconveniente saludos
@ElRinconDeJavo
@ElRinconDeJavo 8 лет назад
Lamento la tardanza, el mensaje lo hice hace 3 meses y desde entonces ya he trabajado en algunos proyectos PHP por lo que estuve algo liado. Precisamente ahora estoy trabajando en un nuevo proyecto que voy a desarrollar utilizando el patrón MVC + PDO y por ello es que volví a repasar el vídeo y vi el mensaje; revisando la sintaxis que utilizaba en aquel entonces creo que el problema no se encuentra tanto en la compatibilidad del método PDO con los namespaces, si no precisamente en la sintaxis que yo utilizaba al momento de invocar una clase. Por ejemplo yo hacía esto: $variable = new clase(); $variable -> metodo(); Que es correcto, en primer lugar, creaba una variable donde instanciaba la clase y en segundo lugar utilizaba -> para llamar al método de esa clase, mientras que “creo” (aun no puedo confirmarlo porque aún no me considero un experto y recién empiezo este proyecto) que es ahí donde partía el problema, pues usando autoload y namespaces la forma de llamar a la clase y su método seria directamente así: models\clase::metodo(); También se puede utilizar “use” para crear un alias y no escribir el models\clase, se haría de la siguiente forma: use models\clase as alias; alias::metodo(); La última vez que lo hice no me funciono y no había forma que encontrase el fallo por lo que me rendí con este asunto, claro, sin ser experto es normal que haya cosas que se escapen, pero aprendiendo poco a poco se van agarrando las mañas y creo que el problema es realmente el estar mezclando sintaxis, si vas a utilizar PDO, vas hacerlo de la forma correcta y en todo el sitio, no utilices PDO aquí, MySQLi allá... Hasta donde alcanzan mis conocimientos la teoría tiene su lógica, pero déjame lo ponga en práctica para confirmarlo, si me sale con todo gusto vuelvo a escribir un comentario para indicar que estaba en lo correcto y si no lo estaba, indicar donde fallaba. Saludos!
@ElRinconDeJavo
@ElRinconDeJavo 8 лет назад
Y te respondo porque hasta apenas encontré el motivo. No era por lo que decía, la sintaxis que estaba utilizando en aquel entonces, aunque mejorable era correcta, efectivamente es un problema de los namespaces con PDO que tiene una sencilla solución: En primer lugar se declara el namespace ¿no? si se utiliza PDO y con nuestro autoload configurado como se indica en el vídeo va a indicar que el archivo no existe, pero si vemos los errores nos dice algo muy curioso: Fatal error: Uncaught Error: Class 'model\PDO' not found... ¡Eureka! por supuesto que no existe, no tengo ningún archivo PDO dentro de model ¿Solución? crear un alias de la siguiente forma: namespace nombre_cualquiera; use PDO; ¡Listo! arreglado el problema, ahora sí existe el archivo. ¡Saludos!
@gvargasruiz
@gvargasruiz 7 лет назад
Me parece que le problema más bien está en lo de static y abstrac.
@compartelo007
@compartelo007 5 лет назад
Las clases por convención no deben ir en plural, son maquetas de objetos deberían ir en singular
@jannermunoz9984
@jannermunoz9984 5 лет назад
gran tutorial me aclaro muchas dudas de los frameworks
@masterleonardo
@masterleonardo 9 лет назад
Muy bueno el tutorial muchas gracias. Como consulta. Para mostrar información en tiempo real es recomendable utilizar socket o una conexión push, Quedo atento a sus comentarios saludos desde chile
@qqqqqqqqqqqqqqq67
@qqqqqqqqqqqqqqq67 5 лет назад
namespaces significa espacios de nombre, y no, nombres de espacio.
@misaelbonilla3234
@misaelbonilla3234 4 года назад
Sos grande amigo, gracias
@jc.diazbarreto
@jc.diazbarreto 9 лет назад
Muy bueno el curso. Cuando suben el siguiente video?
@mundostar5680
@mundostar5680 8 лет назад
me sale error en linea 1
@victorguzman7487
@victorguzman7487 7 лет назад
@sebastiancipolat
@sebastiancipolat 7 лет назад
Gracias Amigo, me haz salvado!!
@Discotraxxx
@Discotraxxx 4 года назад
Muy bueno el curso, pero crack dale un zoom al IDE la estoy sufriendo para ver desde el celu.
@adoniyajoo
@adoniyajoo 6 лет назад
En el archivo donde se llama las clases solo debe quedar asi: spl_autoload_register(function($clase){ $ruta = "api/".str_replace("\\", "/", $clase).".php"; include_once($ruta); }); Controlador\Persona::mostrar(); Modelo\Persona::mostrar(); No es necesario cambiar nada mas....
@alejandrotiria8856
@alejandrotiria8856 9 лет назад
Eres un crack para php
@pegatino
@pegatino 4 года назад
Que se puede decir de la palabra reservada Use?
@yoto3326
@yoto3326 8 лет назад
Haré como si el str_replace no existe todo el vídeo iba de 10 hasta ay, quizás no sean compatibles esos métodos no me quedo del claro la anulación del namespace cambiando los nombres un enredo total pero muy bueno el resto. Saludos gracias por compartir esta info!
@juanofdark
@juanofdark 6 лет назад
Hola, porque no usaste la sentencia use, en vez de hacer un autoloader?
@wordle_23
@wordle_23 9 лет назад
agrego, el namespace debe de estar en la primer linea, sino no funciona. por mas que no haya error de codigo
@naqzher
@naqzher 9 лет назад
muy bueno!
@andresmestradev
@andresmestradev 9 лет назад
saludos, con que programa estas grabando la pantalla ? +codigofacilito
@cirogoyeneche9400
@cirogoyeneche9400 8 лет назад
Hola, no sé si es medio tarde. Pero estuve un tiempo en Linux Ubuntu y creo que se llama Kazam.
@elarcademan
@elarcademan 8 лет назад
aaa pero al final has usado otro nombre para llamar a la clase es decir Models\Persona::Hola(); y Controllers\PersonaControllers::Hola(); no se supone que podemos usar el mismo nombre con diferente namespace?
@elarcademan
@elarcademan 8 лет назад
ya entendi jejeje gracias
@dannyquispe6015
@dannyquispe6015 8 лет назад
mmmmm si un poco flojo pero sus aportes son buenos ok estoy aprendiendo mucho. a los q no les gusta este metodo en ve de criticar pueden dar un unlike pero a ud mismo por no valorar lo que al tutor el tiempo y dedicación que te traen "gratis" maldicion es gratis ok. no sean frescos ai quieren criticar primero compren sus libros y su videos. man tu sigue estas bien solo q si aveces deves de preparte un pelo o en todo caso antes de subir solo revisalo con alguien ps :) vamos man no dejes q estos pelados todabia de misios conchudos te bajen la moral.
@lazfercode
@lazfercode 7 лет назад
para los que usamos SO Windows puede quedar asi $ruta = "..\\api\\".$clase.".php";
@sheidy231
@sheidy231 7 лет назад
Sabes porque la variable $clase almacena esa ruta? esa parte nunca fue explicada.
@josuegomez3352
@josuegomez3352 4 года назад
@@sheidy231 ¿Hallaste la respuesta a esa pregunta? jaja
@carlosfabianpalaciospalaci6289
@carlosfabianpalaciospalaci6289 3 года назад
@@josuegomez3352 Cuando utilizamos Models\Persona::hola() la funcion spl_autoload_register detecta esta "ruta" \Models\Persona, donde esta se almecenara en el parametro $clase es mi oponion.
@juniorsanchez5202
@juniorsanchez5202 7 лет назад
que buen tutorial esta fácil de entender pero deberías realizar primero los ejemplos porque si cambias cada rato el código puedes hacer confundir
@luisstiventrujilloortiz8734
@luisstiventrujilloortiz8734 5 лет назад
no entendí nada para que entonces si igual terminó al final llamando a la clase PersonasControllers, que se supone era lo que no quería -.-
@luisstiventrujilloortiz8734
@luisstiventrujilloortiz8734 5 лет назад
les recomiendo este video: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-zTxz_kOLIZM.html está en ingles, pero me sacó muchas dudas que aquí se me generaron
9 лет назад
al final dejaste comentado el echo.
@marcosgonzalez9426
@marcosgonzalez9426 6 лет назад
genio!
@cquirozdev
@cquirozdev 7 лет назад
Me está costando un poco entender el tema.
@sheidy231
@sheidy231 7 лет назад
Porque $clase almacena esa ruta? no entendi esa parte.
@ColdRooster
@ColdRooster 6 лет назад
Me anoto a tu duda..
@cirogoyeneche9400
@cirogoyeneche9400 8 лет назад
Entendí cómo hacerlo pero no el uso.
@victorguzman7487
@victorguzman7487 7 лет назад
El uso sería poder utilizar varias clases sin importarnos que se llamen igual para eso el namespace como indicador de la clase, y no estar renombrando las clases que nos arrojaran error el codigo por que se llamaran igual y andar a buscar y reemplazar su nombre. Bueno eso yo le entendi
@codex8646
@codex8646 7 лет назад
del minuto 10 para arriba no entendi un carajo :v
@tatoElpaisa
@tatoElpaisa 7 лет назад
Pueden complementar el tema de "spl_autoload_register" aquì: php.net/manual/es/function.spl-autoload-register.php
@ColdRooster
@ColdRooster 6 лет назад
Estaba leyendo el link y mi duda con respecto al vídeo es en la función anónima recibe un parámetro $clase, en qué momento se envió algo a esa función anónima?? Esta muy lindo eso de recuperar el namespace de Models\Persona, pero en qué momento se cargó?
@juancarloscb1303
@juancarloscb1303 8 лет назад
deja de tomar cafe antes de hacer un video, pareciera que tienes prisa y eso genera una mala experiencia de aprendizaje
@softfarr
@softfarr 3 года назад
La traducción de "namespaces", NO es "nombre de espacios". Es, "Espacio de Nombres". Ojo con las traducciones porque confunde a los videntes.
@miguelorellana4052
@miguelorellana4052 5 лет назад
Más de la mitad del ejercicio resolviendo errores....
@alejandrogonzalez8032
@alejandrogonzalez8032 8 лет назад
En 8:55 has dicho "fueramos hecho". Eres muy bueno programando, pero eso daña tu reputacion... Se dice: "HUBIERAMOS hecho".
@rodrigogarciatrejo8084
@rodrigogarciatrejo8084 7 лет назад
es que el hubiera no existe ajajajajjajajja
@rodrigogarciatrejo8084
@rodrigogarciatrejo8084 7 лет назад
el se lo tomo literal
@tatoElpaisa
@tatoElpaisa 7 лет назад
Pero por supuesto que si existe. No entiendo como hacen correcciones si no tienen el conocimiento. Hubiéramos o Hubiésemos, es la conjugación del verbo Haber en PRETÉRITO IMPERFECTO. Consúltalo en RAE. Saludos.
9 лет назад
Excelentes tutoriales los publicados, pero intenta respirar un poco más :D
@EricLarrea
@EricLarrea 6 лет назад
Es evidente que el orador domina perfectamente el tema .. pero asimismo que no gastó ni un minuto en preparar la clase, se lo sacó todo de la cabeza al vuelo ... si al final corriges una línea y luego todo sale bien ... ok .. Pero cuando empiezas a cambiar cosas a una velocidad de vértigo ... muchos podrían quedar desfazados ... y se verán obligados a ver el video una y otra vez para entender, o simplemente buscarse otro video (cosa inapropiada para este canal) .. considero que son errores imperdonables ... el profesor debería tener un código 100% probado antes de iniciar el video, así fuera en un papel aparte y lo reescriba luego en la pantalla, o pausar el video, arreglar las cosas ... Y en este caso al final perdió totalmente el sentido del "namespace" pues tenías dos clases con diferentes nombres .. entonces para que me sirvió el namespace ... esas mismas clases se habrían cargado perfectamente con el autoload sin el uso de "namespace" porque tenían diferente nombre ("Persona" y "PersonasControllers") Lo bueno de Código facilito es que son videos breves de temas específicos ... pero eso no debería convertirse en mareo del expectador.
@rkm357
@rkm357 9 лет назад
Incomoda esa forma de enseñar, confunde para los que van empezando y no se definen bien las cosas
@dannyquispe6015
@dannyquispe6015 8 лет назад
mmmmm si un poco flojo pero sus aportes son buenos ok estoy aprendiendo mucho. a los q no les gusta este metodo en ve de criticar pueden dar un unlike pero a ud mismo por no valorar lo que al tutor el tiempo y dedicación que te traen "gratis" maldicion es gratis ok. no sean frescos ai quieren criticar primero compren sus libros y su videos. man tu sigue estas bien solo q si aveces deves de preparte un pelo o en todo caso antes de subir solo revisalo con alguien ps :) vamos man no dejes q estos pelados todabia de misios conchudos te bajen la moral.
Далее
13.- PHP Orientado a Objetos - Planteamiento e ini
8:37
11.- PHP Orientado a Objetos - Traits
11:53
Просмотров 25 тыс.
HA-HA-HA-HA 👫 #countryhumans
00:15
Просмотров 4,6 млн
13. Namespace en PHP
11:43
Просмотров 5 тыс.
10.- PHP Orientado a Objetos - Autoload
10:10
Просмотров 31 тыс.
8.- PHP Orientado a Objetos - Interfaces
17:13
Просмотров 45 тыс.
Let's Create a Compiler (Pt.1)
1:11:03
Просмотров 526 тыс.
HA-HA-HA-HA 👫 #countryhumans
00:15
Просмотров 4,6 млн