Recetas Código: PHP
De Daniel Pecos
Contenido |
Habilitar el mostrar errores en la salida generada:
<?
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
<?
// usefull during development
if( isset($showerrors) && $showerrors ) {
error_reporting( E_ALL | E_NOTICE );
} else {
error_reporting( E_ERROR | E_WARNING | E_PARSE );
}
?>
Evitar la cache del navegador:
<?
header("Expires: Sat, 01 Jan 2000 01:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>
Borrado de cookies y de sesión:
<?
session_start();
foreach($_COOKIE as $key => $value) {
if ($key != session_name())
setcookie($key, "", time()-42000);
}
session_unset();
if (session_id != "" || isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000);
}
session_destroy();
header("Location: /");
exit;
?>
Uso de Gettext:
1 - Extraer las cadenas del código fuente (tanto como para la creación inicial del fichero, como para actualizaciones):
xgettext ../src/*.php --output=index.pot --from-code=ISO-8859-1 xgettext -j ../src/admin/*.php --output=index.pot --from-code=ISO-8859-1 xgettext -j ../src/npshop/*.php --output=index.pot --from-code=ISO-8859-1 ...
2 - Convertir el fichero a ISO, si es necesario
msgconv -t iso-8859-1 index.pot > indexISO.pot
3 - En caso de estar creando el fichero inicial:
msginit --input=indexISO.pot --output=messages.po --locale=en_US
4 - En caso de estar actualizando un fichero previamente traducido con las posibles nuevas cadenas:
msgmerge --update messages.po indexISO.pot
5 - Finalmente, y después de haber traducido las cadenas (con gtranslator o poedit), generar el fichero binario:
msgfmt messages.po -o messages.mo

