Archivos de la categoría PHP

Cheatsheet (chuleta) para Symfony2

Número de lecturas: 2324
{lang: 'es-419'}

Navegando y buscando un poco de información sobre Symfony2 me encontré con un sitio web interesante donde se encuentra “ayuda” que puede facilitar la programación cuando se tiene pequeñas dudas.

Esta dividido en varias secciones:

Si desean ingresar y revisar aqui esta el enlace:

http://www.symfony2cheatsheet.com/

Eliminar mensaje “Briefly unavailable for scheduled maintenance. Check back in a minute.

Número de lecturas: 3163
{lang: 'es-419'}

Al momento de actualizar mi versión de wordpress a la 3.2 me salió un mensaje de error:

Briefly unavailable for scheduled maintenance. Check back in a minute.

Todo esto se debe que al momento de actualizar se crea en el root de nuestro wordpress un archivo “.maintenance” .

Si lo eliminamos ya no nos volverá a salir el mensaje de error y podemos seguir trabajando con nuestro wordpress.

¡Saludos!

 

Fuente:

http://blog.g2peru.com

Como instalar Apache+PostgreSQL+PHP en Ubuntu

Número de lecturas: 7759
{lang: 'es-419'}

La instalacion se hara desde la consola ya que muchas veces es el unico medio diponible en servidores o cuando se hacen instalaciones mediante el uso de SSH.

También hay formas mas sencillas de hacerlo mediante el uso de las herramientas gráficas como pueden ser  Synaptic, KPackageKit y muchas otras utilidades.

Como dijimos estos comandos son para Ubuntu así que usaremos sudo para ganar privilegios y la utilidad apt-get.

El proceso es bastante sencillo y rápido.

Primero instalamos Apache con el comando

sudo apt-get install apache2

Luego PHP con el comando

sudo apt-get install php5

Luego PostgreSQL  con el comando

sudo apt-get install postgresql-8.4

Finalmente conectamosPostgreSQLcon Apache y PHP  con los comandos

sudo apt-get install php5-pgsql
sudo apt-get install libapache2-mod-auth-pgsql

Para asegurarnos reiniciamos PostgreSQLy Apache con los comandos

sudo /etc/init.d/apache2 restart
sudo /etc/init.d/postgresql-8.4 restart

Si les indica que el comando no funciona prueben de esta forma:

sudo /etc/init.d/postgresql restart

Para verificar que todo quedo bien instalado pondremos un archivo llamado prueba.php en la carperta /var/www/ con el siguiente contenido

<?
phpinfo();
?>

Abrimos el navegador de internet y navegamos la URL http://127.0.0.1 y deberiamos ver algo asi:

 

en particular para verificar que PHP tenga soporte para PostgreSQL en la zona media tenemos que encontrar un bloque de pgsql parecido al de la imagen que se ve a continuación

Fuente:

http://dcala.wordpress.com

PHP 5.4 a fondo (cambios)

Número de lecturas: 2668
{lang: 'es-419'}

Hace poco anunciábamos el lanzamiento de PHP 5.4.0 y hablábamos de pasada sobre las nuevas características que incluye. Pues bien, hoy vamos a entrar en mayor detalle sobre los cambios de la nueva versión para comprobar de que forma nos afecta a la hora de desarrollar en PHP.

Uno de los cambios que más pueden afectar a nuestro código y nuestras aplicaciones es que el “Safe Mode” y “Magic Quotes” han desaparecido del lenguaje.

También se ha eliminado la posibilidad de pasar argumentos por referencia al invocar un método o función, es decir, no se puede llamar a una función utilizando una referencia:

// Esto resulta en un error fatal:

// Fatal error: Call-time pass-by-reference has been removed

$euros = 1000;

multiplica_estos(&$euros);

Si necesitamos pasar un valor por referencia a la función multiplicame es necesario hacerlo en la declaración de la función:
function multiplicame(&$cantidad) {

}
Break y continue ya no aceptan argumentos variables aunque los argumentos estáticos siguen funcionando:
// Resulta en un error fatal

// PHP Fatal error: ‘break’ operator with non-constant operand is no longer supported

case 1:
echo “bla”;
break 1 + 2;


A partir de esta versión no se puede fijar el timezone utilizando la variable de entorno TZ se obliga a fijar el valor de la opción date.timezone en php.ini o bien utilizar la función date_default_timezone_set().

A su vez, desaparecen en esta versión las siguientes funciones:

define_syslog_variables
import_request_variables
session_is_registered
session_register
session_unregister
mysqli_bind_param
mysqli_bind_result
mysqli_client_encoding
mysqli_fetch
mysqli_param_count
mysqli_get_metadata
mysqli_send_long_data
mysqli::client_encoding
mysql_smtp::smtp
Novedades y adiciones al lenguaje

La versión 5.4.0 incorpora, obviamente, novedades al lenguaje, algunas de ellas muy esperadas relacionadas con los arrays. Por ejemplo ahora se pueden definir arrays con sintaxis abreviada:
$page = [‘name’ => ‘Genbetadev’, ‘url’ => ‘http://www.genbetadev.com’, ‘category’ => ‘Technology’, ‘format’ => ‘Blog’];
Otra adición esperada es la desreferencia de arrays como valores de retorno de métodos y funciones, feature que incorporan otros lenguajes dinámicos como Python o JavaScript y en PHP la verdad es que se echaba de menos:
...

$url = $page->getData()["url"]; // Amazing!!
Ahora podemos acceder a los miembros de una clase al instanciar objetos de la misma:
$page = (new Page($pageData))->initialize();
Otra adición que puede ser considerada muy potente o muy fea (y peligrosa) es la nueva sintaxis con posibilidad de expresiones para la llamada de métodos estáticos de las clases:
...

Page::{$url == ‘http://www.genbetadev.com’ ? ‘vote’ : ‘novote’ }();


A mi la verdad es que se me ocurren infinitas posibilidades.

Traits

Esta nueva versión del lenguaje incorpora un nuevo mecanismo de reutilización de código utilizado en lenguajes que no permiten la herencia múltiple como es el caso de PHP. Este nuevo mecanismo son los traits.
No debemos pensar sobre los traits en términos similares a una interfaz en Java. Al igual que las interfaces, un trait es similar a una clase pero solo define agrupaciones de funcionalidad mientras que una interfaz define que es lo que una clase debe implementar para cumplir con un contrato especificado.

No es posible instanciar un trait, al igual que no es posible instanciar una clase virtual pura ( o ADT ) en C++ o un interface en Java. Para utilizar un trait en nuestra clase utilizamos la palabra reservada use:
< ?php trait motorFunction { function walk() { echo “I’m walking!”; } } class Animal { use motorFunction; function breath() { echo “I’m breathing!”; } } $cat = new Animal(); $cat->breath();

$cat->walk();
Con resutado:
I'm breathing!

I’,m walking!
El uso de traits es bastante complejo y es, creo, la mayor adición al lenguaje en esta nueva versión.

La precedencia de métodos heredados de una clase base puede ser sobreescrita por un método miembro en un trait que adopta además el papel de hija de la clase padre inicial al usarla en una clase hija:
< ?php class Animal { public function walk() { echo "an animal walks"; } } trait slowlyWalk { public function walk() { parent::walk(); echo " slowly"; } } class Cat extends Animal { use slowlyWalk; } $cat = new Cat(); $cat->walk();
Que produce el siguiente resultado:
an animal walks slowly
Recomiendo que le echéis un vistazo a la página sobre traits en el manual de ayuda de PHP pues hay muchísimos más casos de uso que no hemos tratado aquí hoy como la herencia de múltiples traits o la resolución de conflictos.

CLI Web Server

Por último, pero no por ello menos importante, cabe destacar que esta nueva versión de PHP viene con un servidor web para pruebas de desarrollo embebido ( y que no debe usarse jamás para producción ) y su uso es bastante sencillo:
$ cd ~/MyProject
$ php -S localhost:8000
PHP 5.4.0--pl0-gentoo Development Server started at Tue Mar 20 12:51:09 2012
Listening on localhost:8000
Document root is /home/damnwidget/MyProject
Press Ctrl-C to quit.

De momento esto es todo, como podéis comprobar, la nueva versión de PHP viene con novedades y cambios muy esperados y no dudamos en que el futuro, el lenguaje seguirá mejorando.

Más información | Página web de PHP

Fuente:
genbetadev.com