Mas de una vez nos habremos visto en la duda de, como hacer que según el mes y el año que hemos marcado que nos de los dias que tiene ese mes, pues bien, en php hay una función interna que nos facilita el trabajo, esta es cal_days_in_month, y hay que pasarle como parametros el calendario que queremos, por ejemplo CAL_GREGORIAN, el numero del mes, y el año y nos devuelve el numero de dias que tuvo ese mes.
Esta es una clase la cual la uso muchísimas veces para establecer la conexión a una base de datos con PHP. Se establece la conexión via PDO y esta basada en el patrón Singleton. Una de las ventajas que tiene esta clase es que solo establece la conexión una vez, y por muchas veces que sea instanciada no duplica la conexión.
final class DBConnection {
private static $_handle = null;
private static $_dsn = "mysql:dbname=mydb;host=my.host.com;port=3306";
private static $_user = "myUserName";
private static $_password = "myPassword";
private static $_options = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"); // SET UTF-8
/**
* Deny Construct
*/
private function __construct()
{
}
/**
* Deny Clone
*/
private function __clone()
{
}
/**
* Function to connect width database
*/
function connect()
{
if ( is_null( self::$_handle ) ) {
try {
self::$_handle = new PDO(
self::$_dsn, self::$_user, self::$_password, self::$_options
);
} catch ( PDOException $error ){
die ( $error->getMessage() );
}
}
return self::$_handle;
}
}
Dejo aquí los comandos de la zf tool en la versión de Zend Framework 1.11.11
Zend Framework Command Line Console Tool v1.11.11
Usage:
zf [--global-opts] action-name [--action-opts] provider-name [--provider-opts] [provider parameters ...]
Note: You may use "?" in any place of the above usage string to ask for more specific help information.
Example: "zf ? version" will list all available actions for the version provider.
Providers and their actions:
Version
zf show version mode[=mini] name-included[=1]
Note: There are specialties, use zf show version.? to get specific help on them.
Config
zf create config
zf show config
zf enable config
Note: There are specialties, use zf enable config.? to get specific help on them.
zf disable config
Note: There are specialties, use zf disable config.? to get specific help on them.
Phpinfo
zf show phpinfo
Manifest
zf show manifest
Profile
zf show profile
Project
zf create project path name-of-profile file-of-profile
zf show project
Note: There are specialties, use zf show project.? to get specific help on them.
Application
zf change application.class-name-prefix class-name-prefix
Model
zf create model name module
View
zf create view controller-name action-name-or-simple-name module
Controller
zf create controller name index-action-included[=1] module
Action
zf create action name controller-name[=Index] view-included[=1] module
Module
zf create module name
Form
zf enable form module
zf create form name module
Layout
zf enable layout
zf disable layout
DbAdapter
zf configure db-adapter dsn section-name[=production]
DbTable
zf create db-table name actual-table-name module force-overwrite
Note: There are specialties, use zf create db-table.? to get specific help on them.
ProjectProvider
zf create project-provider name actions
Con la función money_format money_format( $formato, $numero ), podemos convertir un numero en el formato de moneda sin necesidad de estar agregando el símbolo, establecer el numero de decimales que tendrá el numero, el separador de miles y el separador de decimales. En formato lo mas sencillo es poner «%i» o «%n» siendo la primera el formato internacional para la configuración regional y la segunda el formato nacional para la configuración regional.
Estas opciones las coges de las locales que tengamos definidas en el sistema, y aquí viene lo divertido de la historia.
Primero establecemos el formato monetario con setlocale.
Es posible que probéis estos ejemplos y no funcionen, uno de los motivos es si estais usando ubuntu o cualquier distro basada en Debian, en estas distros hay que poner en vez de es_ES , es_ES.UTF-8, o puede que estéis probando esta función en windows y no funcione a lo cual me remito a lo que dice la documentacion de PHP:
«La función money_format() sólo está definida si el sistema tiene capacidad strfmon. Por ejemplo, Windows no lo hace, así que money_format() no está definido en Windows.»
Por lo tanto si tenemos la aplicación corriendo en un windows no podremos utilizar esta función tan util.