PHP - Comenzar a programar en PHP

 
Vista:
sin imagen de perfil

Comenzar a programar en PHP

Publicado por guswilliams (3 intervenciones) el 28/01/2013 12:40:32
Buenas a todos.
LLevo un tiempo haciendo aplicaciones web asp contra sql, siempre bajo windows.
Ahora necesito empezar a programar PHP contra MYSQL.
Me hablan de entorno Linux, Frameworks, Apache,etc.
No tengo ni idea.
Por favor alguien me puede indicar qué necesito para poder comenzar a programar en PHP contra Mysql (aparte claro está de aprender ese lenguaje y la base de datos). Me refiero sobre todo a qué tengo un ordenador con windows y no se si tengo que instar Linux, Apache, un framework.
Lo tipico para comenzar a desarrollar..
Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Comenzar a programar en PHP

Publicado por Ignacio Esviza (16 intervenciones) el 28/01/2013 13:16:45
Gus:

Buenos días.

Para cualquier desarrollo web preciás:
1) Servicio HTTP
2) Servicio de almacenamiento de datos
3) Intérprete de lenguaje
4) IDE de trabajo (editor)
5) Opcional: frameworks/librerías

1) Servicio HTTP

Sistema operativo: No hace falta Linux sí o sí. Windows 100% perfecto para programar PHP, incluso aún cuando la aplicación final fuera a estar en servidores Linux.

Si ya venías trabajando con ASP/SQL seguramente usabas IIS (internet information server). Ese está ok, sirve para PHP y vendría a reemplazar a Apache. Apache es un servicio HTTP que funciona en Windows, Linux/Unix, MacOSX, etc. y por eso lo usan en Linux. Pero si ya tenés andando el IIS en Windows no hace falta otra cosa.

2) Almacenamiento de datos

Con PHP podés seguir utilizando MS SQL lo más bien, tal como venías con ASP. Por supuesto, las llamadas y ejecuciones serán utilizando las funciones del lenguaje PHP, pero la capa de datos puede ser una base Microsoft SQL Server perfectamente.

MySQL es otro servicio de almacenamiento, tal como el MS SQL. Lo bueno es que MySQL funciona en Windows, o en Linux/Unix, o en MacOSX, etc. Está su versión para Windows, con su instalador refácil, así que lo bajás y lo instalás. Bajate el que se llama "Community Version" que es el de licenciamiento libre.

Acá sí te recomiendo que si la app final va a funcionar en un linux con MySQL, entonces sí desarrolles desde Windows con MySQL porque Microsoft SQL Server es bastante distinto de lo que vas a tener en el servidor final.

3) Intérprete del lenguaje

En Windows, el IIS no entiende "por sí" los scripts .asp y aspx. Requiere unas .DLL para poder interpretarlo. Cuando por navegador le piden algo .asp o .aspx, el IIS busca la .DLL que va a interpretar esos scripts y es ese intérprete el que los ejecuta. Lo mismo pasa con PHP. Vos tenés que configurar tu IIS para que los scripts .php sean interpretados con la .DLL que provee PHP. Te bajás PHP, lo instalás y hay dos (2) formas de configurarlo en IIS, como FastCGI o como DLL. Hay millones de referencias en la web acerca de cómo configurar IIS para que corra scripts PHP.

El intérprete PHP para Windows y Linux es exactamente igual (siempre q respetes la versión), asi que aún cuando la app final esté en Linux, vos podés desarrollarla desde Windows.

4) IDE de desarrollo

Viniendo del mundo Microsoft uno se acostumbra a que todo es muy visual, que todo tiene un "ide". Por ejemplo Visual Basic 6.0, por ejecumplo Frontpage o Visual InterDev o Visual Studio. Para PHP no hay ningún IDE "oficial". Cada empresa ha desarrollado editores para distintos lenguajes, incluyendo PHP, así que vas y te conseguís cualquiera que te guste. Yo uso NetBeans, te bajás el que está marcado para PHP y perfecto.

Entonces en una sesión normal de trabajo tenés en tu máquina el Windows, con IIS, con el intérprete PHP, con el NetBeans abierto para modificar el código y el navegador abierto apuntando a "localhost" para ir viendo lo que programás.

5) Frameworks/librerías

Los frameworks tomalos como librerías, que te agregan cierta estructura y/o funcionalidad a tus desarrollos PHP. Por ejemplo, Microsoft .NET Framework es una librería que viene con clases, etc. En PHP tenés el lenguaje con su propia librería interna y además se han desarrollado innumerables "frameworks" para tu trabajo cotidiano. No es para andar usando todos, ni andar saltando de uno a otro. Trabajás con uno que te guste. A lo sumo en la experiencia conocés otro y un tercero y comparás, pero no andas trabajando con todos. De nuevo: en el mundo Microsoft ellos te dicen cómo debe ser tu aplicación ASP.NET y qué librerías usar y hasta la estructura de directorios que debés tener (ya viene todo integrado). En cambio en PHP es todo muy libre y por eso sirve para hacer scripts de juguete como para una aplicación corporativa si tenés el conocimiento para hacerlo bien. Te sugiero Symfony 2. También el Zend Framework (no es de mi devoción) pero está bien igual. Es muy normal que en empresas de software se creen frameworks propios y se utilicen generadores de código interno para los desarrollos, esto agrega productividad.

Los frameworks también funcionan tanto en Windows como Linux y son iguales (respetando nro de versión) así que tampoco importa si trabajás desde Windows y la app final fuera a correr en linux.

saludos
Ignacio
PD: disponible para consultoría vía skype "ignacio.esviza"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Comenzar a programar en PHP

Publicado por guswilliams (3 intervenciones) el 28/01/2013 14:28:11
Muchisimas gracias Ignacio.
Te querría realizar una pregunta.
Me comentan acerca de instalar una máquina virtual.
Me podrías informar. No se de qué va.
De nuevo MUCHISIMAS GRACIAS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Comenzar a programar en PHP

Publicado por Ignacio Esviza (16 intervenciones) el 28/01/2013 14:58:15
1. De qué va

En tu propia PC en tu propio Windows, se crea un archivo grande que es un disco virtual. Por ejemplo, digamos un archivo de 10 Gb (ponele como ejemplo). Esto *NO* es una partición, es solamente un archivo, como cualquier otro en tu Windows.

Ese archivo, por si solo, no sirve para nada. Está vacío. Pero va a servir para usarlo como si fuera un disco rígido aparte e instalarle un sistema operativo completo. Por ejemplo, le podés instalar un Linux, o un Mac OS X, o incluso otro Windows de otra versión.

2. Por qué se usa

Lo usamos mucho los desarrolladores porque la ventaja es que podés utilizar las herramientas que vienen para otras plataformas todo desde nuestra misma notebook y para testing.

Suponete que hacés un software y querés probarlo en Windows XP, en Windows 7, en Windows 8 y en Windows Server y ya que estamos también en Linux ... ¿que harías vos? ¿tendrías una máquina física con particiones para cada uno de los sistemas? Sí, es una forma, pero lo bueno de la máquina virtual es que en una misma sesión de trabajo podés "arrancar" al mismo tiempo distintas máquinas, si se cuelgan las podés cerrar, etc. Finalmente se tratan como si fueran máquinas conectadas en red.

Otro uso es cuando por ejemplo un determinado software queda "antiguo" y sólo funciona bien en Windows XP, pero vos tenés en tu notebook Windows 8. ¿Qué hacés? Bien, en vez de pelear tanto, simplemente te creás una máquina virtual con Windows XP y le instalás el programa ese y ya está, las veces que necesités lo usás y punto.

En en tu sesión normal de Windows querés utilizar algo de Linux, entonces arrancás la máquina virtual de Linux, lo usás y siempre seguís estando en tu sesión de Windows y compartís cosas en red, etc. Yo uso mac. Tengo mi macbook pro con el sistema Mac OS X, pero como programo mucho para Windows tengo unas máquinas virtuales con Windows XP, con Windows 7 y Windows 8. Lo que necesie de Windows simplemente arranco la máquina virtual que quiero, lo pruebo y listo y sigo estando con mi correo y chat abiertos en el Mac OS X.

2. Cómo se usa

Tenés que instalarte alguno de los muchos software para máquinas virtuales que hay. Yo uso el VirtualBox, que es de Oracle y es gratuito y funciona PERFECTO. El virtualbox viene con versiones para Windows, para Linux, para Mac. Asi que bajate el de Windows y ponelo en tu PC.

3. Aclaraciónes importantes

3.a) El software de máquina virtual *NO* viene con el sistema operativo pre-instalado. Es decir, al bajarte e instalar VirtualBox solamente estás instalando un programa que te permite crear discos virtuales VACÍOS. Cuando arrancás una máquina virtual asociada a un disco vacío, tenés vos que hacer la instalación del sistema operativo tal y como lo harías con cualquier otro disco real vacío.

3.b) Los discos virtuales son compatibles entre distintos software y los podés usar, retirar, volver a usar en otra PC, etc. Por ejemplo, en mi macbook tengo unos cuantos discos virtuales con distintos sistemas. Si mi socio Diego necesita un Windows XP virtual, le puedo copiar en un pendrive el disco virtual y dárselo y él lo puede pasar a usar en su PC (él usa linux) lo más bien.

3.c) Hay dando vueltas por distintos lugares discos virtuales ya preparados. Cuestión de buscar, pero lo mejor es siempre hacerte vos mismo una instalación de cero y ponerle los programas que necesites.

¡Saludos y suerte!
Ignacio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Comenzar a programar en PHP

Publicado por guswilliams (3 intervenciones) el 28/01/2013 16:10:38
Gracias de nuevo Ignacio.
Con personas como tu, da gusto..........
Eres muy amable.
De nuevo MIL GRACIAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar