Lecture et compréhension

Une petite question de programmation, à propos de l’usage des appels chaînés (utilisés depuis longtemps dans Dotclear, en particulier pour la description de la structure de la base de données).

Vous préférez, question facilité de lecture et de compréhension, ceci :

$_s->blog
    ->blog_id('varchar', 32, false)
    ->blog_uid('varchar', 32, false)
    ->blog_creadt('timestamp', 0, false, 'now()')
    ->blog_upddt('timestamp', 0, false, 'now()')
    ->blog_url('varchar', 255, false)
    ->blog_name('varchar', 255, false)
    ->blog_desc('text', 0, true)
    ->blog_status('smallint', 0, false, 1)

    ->primary('pk_blog', 'blog_id')
;

Ou cela :

$_s->blog->blog_id('varchar', 32, false);
$_s->blog->blog_uid('varchar', 32, false);
$_s->blog->blog_creadt('timestamp', 0, false, 'now()');
$_s->blog->blog_upddt('timestamp', 0, false, 'now()');
$_s->blog->blog_url('varchar', 255, false);
$_s->blog->blog_name('varchar', 255, false);
$_s->blog->blog_desc('text', 0, true);
$_s->blog->blog_status('smallint', 0, false, 1);

$_s->blog->primary('pk_blog', 'blog_id');

Autre exemple, ceci :

$sql = new dcSelectStatement($this->core);
$sql
    ->distinct()
    ->columns([
        $sql->dateFormat('post_dt', $dt_f) . ' AS dt',
        $sql->count('P.post_id', 'nb_post'),
    ])
    ->from($this->prefix . 'post P')
    ->join(
        (new dcJoinStatement($this->core))
        ->type('LEFT')
        ->from($this->prefix . 'category C')
        ->on('P.cat_id = C.cat_id')
        ->statement()
    )
    ->where('P.blog_id = ' . $sql->quote($this->id))
    ->group('dt');

Ou cela :

$sql = new dcSelectStatement($this->core);
$sql->distinct();
$sql->columns([
        $sql->dateFormat('post_dt', $dt_f) . ' AS dt',
        $sql->count('P.post_id', 'nb_post'),
]);
$sql->from($this->prefix . 'post P');

$sqlJoin = new dcJoinStatement($this->core);
$sqlJoin->type('LEFT');
$sqlJoin->from($this->prefix . 'category C');
$sqlJoin->on('P.cat_id = C.cat_id');

$sql->join($sqlJoin->statement());
$sql->where('P.blog_id = ' . $sql->quote($this->id));
$sql->group('dt');

Ajouter un commentaire

Les champs suivis d'un * sont obligatoires

Les commentaires peuvent être formatés en utilisant la syntaxe Markdown Extra.

Ajouter un rétrolien

URL de rétrolien : https://open-time.net/trackback/15404

Haut de page