venerdì 1 novembre 2013

Implementare il tipo Datetime in Extbase

TYPO3, normalmente usa il tipo timestamp salvando in formato int su database per indicare una data. Il grande vantaggio di questo tipo di approccio è che si lavora solo con dei numeri interi.

Con le nuove versioni di PHP sta però diventando sempre più comodo usare il tipo Datetime sia in PHP che nel database. Oggi con Extbase 6 (TYPO3 6.X) è possibile utilizarlo in maniera completa anche nelle entità consentendo quindi una grande flessibilità alle estensioni.

 Ecco come configurare il nostro sistema: Il modello diventa:
class MyEntity extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
    
    /**
     * @var \DateTime
     */
    protected $date;

    //put your code...
}
poi bisogna specificare a Extbase che l'elemento sarà salvato in una colonna di tipo datetime e questo lo si fa nella TCA:
   //General Table and ctrl section definition ...

   'columns' => array(
        'date' => array(
            'exclude' => 1,
            'config' => array(
                'dbType' => 'datetime',
                'type' => 'input',
                'eval' => 'datetime'
            ),
        ),
        // other column ...
I parametri importanti sono due:  
dbType, che definisce come sarà salvato nel database e i possibili valori sono: date o datetime, in base al tipo di colonna date o datetime, nel primo caso sarà salvato nel formato 'Y-m-d' nel secondo 'Y-m-d H:i:s'.  
Eval, che deve contenere il tipo date o datetime. Fatto questo nel database sarà salvato il datetime e il property mapper farà poi le relative mappature.

3 commenti:

  1. The automotive and aviation business additionally makes use of sheet metals to make vehicles’ body components. Deciding to use—or merely consider—sheet steel Pencil Sharpener for an application the primary step|is step one} in a process. The process begins, of course, with function, which in flip dictates design. Choosing a fabric and gauge are critical steps that involve balancing factors like strength, weight, and value.

    RispondiElimina
  2. Controlling Machines and Processes — Using both control mechanisms or direct physical exercise to operate machines or processes . Construct parts for high-performance wind turbine systems. Fasten roof panel edges or machine-made moldings to constructions by nailing or welding. Perform building commissioning actions by finishing Storage Bags Vacuum mechanical inspections of a building's water, lighting, or heating, ventilating, and air con systems.

    RispondiElimina
  3. Below lectric Pencil Sharpener we'll explain the mould classification with few most seen forms of injection molding molds. A gate is a gap in the injection mould software that permits resin to enter and fill the cavity. Injection molding with polycarbonate thermoplastic provides the clarity of glass with over 200 instances the energy. Its versatility makes it an excellent possibility for the plastic injection molding of many alternative...

    RispondiElimina