studio programando programacion móviles desarrollo curso aplicaciones php mysql frameworks

programando - ¿Qué debería saber cada programador de PHP?



programacion android pdf 2018 (20)

Aunque esto no es una tecnología, creo que es muy importante que comprenda que, al usar PHP, depende completamente de usted escribir un buen código. PHP es capaz de hacerlo, pero no lo fomenta. Usted es completamente responsable de escribir un código que esté bien diseñado y, si lo desea, sigue los principios de OO. No tendrás ayuda del idioma.

Me gustaría ser un programador de PHP / MySQL

¿Cuáles son las tecnologías que debo conocer?

Me gusta:

  1. Frameworks
  2. IDEs
  3. Motores de plantilla
  4. Ajax y CSS Frameworks

Por favor, dime los requisitos mínimos que debo conocer y cuéntame tus cosas favoritas en la lista anterior.

Gracias


Debería saber cómo usar efectivamente al menos un depurador / IDE. Es sorprendente lo que puede aprender de su código al recorrerlo y verlo funcionar. Hace que sea mucho más sencillo rastrear errores y mejorar la calidad de tu código. Creo que nunca deberías ingresar código a un proyecto que no has visto ejecutar.


En primer lugar, ese PHP en sí es un sistema de plantillas



Necesita aprender lo siguiente (sugeriría en este orden):

  1. Principios básicos orientados a objetos (como herencia, polimorfismo y encapsulación)
  2. El lenguaje PHP en sí. Específicamente, PHP 5.
  3. Principios de diseño de la base de datos, como tablas, claves, relaciones, normalización, etc.
  4. SQL - Estructurado (o Estándar nunca puede recordar cuál) Lenguaje de consulta. Aprende específicamente los conceptos básicos de seleccionar, insertar, actualizar y eliminar consultas.
  5. Buenos principios de diseño y prácticas de codificación (puede encontrar publicaciones aquí en para uno) como la división de la presentación y la lógica comercial.
  6. Un marco, cualquier marco: esto le ayudará a conocer conceptos más avanzados de patrones de diseño orientados a objetos y le permitirá seguir tutoriales que fomentarán buenas prácticas de diseño y codificación.
  7. Patrones de diseño orientados a objetos como MVC, Modelos de abstracción de bases de datos y similares
  8. SQL avanzado y otras cosas de base de datos como desencadenantes, procedimientos almacenados y otras funciones.

Seguridad.

Al igual que Lucas Oman dijo, depende de usted en PHP escribir bien el código; y no te mima. Si no entiende por qué necesita confirmar la desconexión, o por qué no puede validar en javascript, o por qué register_globals es malo, su aplicación será vulnerable de una forma u otra.


Yo diría que lo más importante es aprender cómo funciona todo el proceso de creación de una página con PHP, en el sentido de que las solicitudes provienen de un cliente (navegador web), ingresan en el servidor web, pasan a PHP y luego generan la respuesta. eso es enviado de vuelta. Una sólida comprensión de esto te pondrá a tierra en

  • por qué no puedes enviar encabezados después de que la salida haya comenzado
  • cómo funcionan las sesiones y las cookies
  • cómo se debe construir cada página de manera apátrida (es decir, entregar lo que solicite la solicitud, no recordar lo que sucedió la última vez, o adivinar qué está haciendo el usuario)
  • La diferencia entre HTML, PHP, JavaScript y CSS, y lo que es más importante, para qué se utiliza cada uno principalmente y dónde reside la responsabilidad de cada uno.

Una vez que lo hayas descifrado, deberías sentirte bastante cómodo escribiendo cualquier aplicación. Pero a menos que lo hayas descifrado, comenzarás a mezclar cosas como he visto muchos novatos antes.


El lenguaje PHP

Vaya a PHP.net y lea toda la documentación. Cuando haya terminado, no sabrá todo lo que necesita saber sobre php, pero sabrá dónde buscar.


Que cada valor en todas partes tiene que estar codificado apropiadamente. echo $some_variable_that_seems_innocent es malvado nueve veces de cada diez.

Utilice htmlspecialchars() en HTML / XML, sentencias preparadas o al menos addslashes() al crear consultas SQL, json_encode() al insertar valores en scripts, rawurlencode() al rawurlencode() componentes de URL, escapeshellargs() al construir comandos de shell, etc.

Si inserta texto en la URL que forma parte de una secuencia de comandos en un documento XHTML, deberá codificar los datos tres veces.


Todas las respuestas son buenas, pero falta algo importante: si quieres adentrarte seriamente en PHP, debes ser consciente de que hay muchos programadores de PHP que son perezosos, ineptos, ignorantes, equivocados y, desafortunadamente, obtienen su código. para el publico. La historia de PHP significa que admite algunas características cuestionables (no solo cosas como register_globals sino también cosas más pequeñas como la inicialización automática) y las personas todavía las usan. No quieres.


Yo diría que uno básico sería HTML. ;)


  1. Ningún experto en marcos Php. Como plantilla, lo que hace que el sistema sea mucho más complejo que eso.
  2. Comprenda el requisito de la lógica de negocios y piense en los contras / pro. Esperar que SA piense todo por usted no es un buen programador.
  3. No ajax.Me ocupo de una gran cantidad de datos, renderizar en un archivo js unos 4000 k de datos es muy malo.
  4. Comience desde el bloc de notas o VI
  5. Después de aprender php aproximadamente de 1 a 2 años, intente aprender otro idioma como c # o c ++ para mejorar su aplicación php.
  6. Php es un lenguaje adicto en lugar de otro idioma. Lo escribes. Otro idioma, escribes It''s Compile It''s Hang up. 7. Para la aplicación de complejidad, php es lo mejor para mí en lugar de otro idioma, porque piensas que lo escribes.

Ignora las funciones mysql_ *. No solo no proporcionan un método sencillo para escribir un código seguro, sino que hacen todo lo posible para que sea doloroso y tedioso si lo intentas. Use mysqli o PDO en su lugar (y no tiene excusa ahora - PHP 4 fue end-of-life''d meses atrás).


Personalmente, encontré el libro " Crea tu propio sitio web basado en bases de datos usando PHP y MySQL " extremadamente útil.

Aparte de eso, lo único que me resultaba más difícil acostumbrarme con PHP es lo relajado que está, en comparación con cualquier otro idioma que haya usado alguna vez. Con eso me refiero a ningún tipo, flexibilidad sobre la sintaxis y la puntuación. Personalmente creo que eso es algo bueno, pero también sé que probablemente alienta un comportamiento bastante malo.

Aquí hay otro consejo que tengo: trate de usar algo como el principio DRY, es decir, se encontrará escribiendo los mismos pequeños (o grandes) bits de código una y otra vez, conviértalos en funciones tan pronto como sea posible. en el proceso de codificación, y la vida será mucho más fácil más adelante.


Tenga cuidado con los fragmentos de código que encuentre en la web. A menudo contienen sql en html, lo cual es una mala práctica, así como vulnerabilidades de seguridad como la inyección sql. He visto algunos que usan declaraciones preparadas, lo que es bueno para la seguridad.


Obtener una configuración de servidor web

Para ejecutar PHP y MySQL localmente en su computadora, necesitará instalar Apache webserver con el módulo php y el servidor de base de datos MySQL. es decir. un servidor web LAMP (Linux Apache MySQL PHP).

En el pasado, recomendaría instalar Ubuntu. Estos días, hay algunas soluciones disponibles que le darán un servidor web de instalación de un clic sin usar Linux.

Para ventanas:
http://www.wampserver.com

Para OSX: http://www.mamp.info

Después de tener un servidor web LAMP, use los tutoriales de w3schools.com para comenzar.


¿Qué debería saber cada programador de PHP?

Necesita saber un idioma que no es PHP. No digo que no deba desarrollar sus sitios en PHP, en realidad es realmente bueno para eso, pero realmente necesita saber al menos otro idioma para obtener una perspectiva.

¿Por qué? PHP está roto y lleno de mal diseño y fallas. Puedes escribir un código excelente en PHP, pero nunca serás capaz de detectar el mal diseño y los fallos de PHP en sí mismo si no conoces algo mejor.

Sugeriría python, ruby ​​o C #

PD: Si no crees que esta es una sugerencia útil, significa que bajás esta respuesta, pero si estás avergonzado porque te sientes insultado por mi afirmación de que PHP está roto y mal diseñado, no dispares el messenger, ¡estoy diciendo la verdad!


PHP fue mi primer idioma, el cual aprendí mientras trabajaba como oficinista en mi primer trabajo hace más de 10 años. Aquí hay algunas cosas de mi experiencia:

  • Descargue el manual de PHP, imprímalo y comience a leer desde la primera página. Sigue hasta que estés al final. Descansa sobre los bits que probablemente no necesites (como usar KADM5 o Hyperwave), pero siempre lee las introducciones para que sepas de qué PHP es capaz (esto te ahorrará intentar reinventar la rueda). La documentación de PHP sopla los documentos de casi todos los demás idiomas con los que he trabajado desde que salí del agua.
  • Próximo paso; configurar PHP A mano. No use XAMPP ni nada, hágalo usted mismo . Siempre ayuda saber cómo está configurado su entorno.
  • No te molestes con un IDE al principio. Conocer un idioma significa tener una relación cercana y personal. Los IDEs oscurecen las cosas en un intento de ayudarte GetThingsDone, que funciona muy bien cuando sabes lo que estás haciendo y conoces tu entorno objetivo, pero cuando comienzas, se interponen en el camino y ocultan lo que es importante.
  • No te molestes con los marcos al principio, tampoco. Una vez más, están ahí para ayudarlo con GetThingsDone, que solo funciona cuando usted sabe lo que hace en primer lugar. Comience con lo básico; de lo contrario, aprenderá el marco y no PHP.
  • PHP es esencialmente un motor de plantillas avanzado . No caiga en la trampa de "motores de plantillas PHP" demasiado publicitados. Simplemente están haciendo lo que PHP ya hace, doblándose en el trabajo y corriendo el doble de lento que PHP. Quédese con html / php en línea para comenzar. Nuevamente, esto te ayudará a entender qué es PHP, cómo funciona y cuándo usarlo.
  • Al igual que con AJAX y CSS ... no tienen nada que ver con PHP, pero con el resultado que produces desde PHP (y con la entrada de AJAX). No cargue su plato con demasiado para comer a la vez. Comience con PHP + HTML simple, y haga su CSS a mano. Luego, cuando estés contento, mezcla un poco de javascript.
  • Lo mejor que puede hacer con cualquier idioma es aprender el entorno en el que va a trabajar, porque la programación es (relativamente) similar en todos ellos. Todos tienen bucles, estructuras de datos, entrada / salida, etc., pero todos funcionan de forma diferente.
  • No creas en la publicidad. Me estoy moviendo de PHP a Python en este momento y podría haber subido al carro de la banda de Django a GetThingsDone, pero sé que si encontrara un problema no sabría por dónde empezar a solucionarlo. Así que tomo mi propio consejo y empiezo desde el principio; leer el manual, configurar un sistema de prueba, analizar archivos simples, obtener entrada / salida, vincularlo con un servidor web ... todo para conocer mi nuevo entorno.

Use un gran IDE (como Eclipse, por ejemplo) que le permita depurar y completar el código. Esto te ahorrará tiempo.

PHP tiene mucho programador y es muy popular = ya se han hecho muchas cosas por ti, antes de escribir algún código, hacer una búsqueda en Google siempre es una buena idea.

Debería usar parte del Marco si comienza desde cero. Esto responderá a todas sus preguntas sobre AJax, motores de plantilla ... porque la mayoría de ellos vienen con estos paquetes. Aquí hay una publicación sobre cómo comenzar a elegir un marco: SO 1 , SO2 , Aquí hay una lista de PHP Framework.

Puede desarrollar PHP en Windows, Linux o Mac.


En primer lugar, no se debe saber sobre el aprendizaje de PHP y MySQL ... Entras sin saber nada, y saldrás sabiendo un montón. Si hubiera que saber, entonces nadie sería capaz de entrar en el desarrollo de PHP y MySQL. Personalmente creo que estás en una ligera ventaja al entrar en esto sin saber nada al respecto. Te dará una nueva perspectiva y una actitud fuera de la caja :)

En cuanto a las cosas orientadas a objetos en este hilo, es verdad. Pero, como otros han dicho, depende completamente del programador (usted) decidir cómo escribir su código. Puede utilizar prácticas orientadas a objetos, crear un cruce de códigos de espagueti o simplemente un conjunto de funciones, o lo que sea. De cualquier manera, como todo el mundo ha estado diciendo, depende de usted :)

Canal de IRC:

Realmente no necesito esto, pero me parece útil ... Nos vemos aquí :)

irc.freenode.net #php

Manual:

El manual es tu amigo y probablemente lo único que debes saber antes de bucear.

http://www.php.net/manual/en/

http://dev.mysql.com/doc/refman/5.0/en/apis-php.html

Marcos de trabajo:

Asegúrate de que sea un framework MVC :)

http://www.cakephp.org/

http://www.phpmvc.net/

http://www.codeigniter.com/

http://www.symfony.com/

http://www.laravel.com

http://www.yiiframework.com/

IDE:

Lo que más te convenga :)

http://www.eclipse.org/

http://www.vim.org/

http://www.zend.com/en/products/studio/

http://php.netbeans.org/

https://www.jetbrains.com/phpstorm/

Motores de plantillas:

PHP es un buen motor de plantillas

Los marcos del controlador de vista modelo ayudan con esto

twig.sensiolabs.org

http://www.smarty.net/

Ajax:

http://jquery.com/

http://www.mootools.net/

http://developer.yahoo.com/yui/

http://www.prototypejs.org/

http://www.extjs.com/

http://code.google.com/webtoolkit/

https://angularjs.org/

CSS:

http://www.yaml.de/en/home.html

http://code.google.com/p/blueprintcss/

http://developer.yahoo.com/yui/reset/

Definitivamente no es una lista exhaustiva, y las cosas cambian constantemente ... Pero, es un comienzo :)

¡Que te diviertas!

Chrelad