Hirdetés

PHP PDOStatement::getColumnMeta

Hirdetés

A PHP-ról senki sem mondaná, hogy egy jól kivitelezett nyelv, inkább arra hajaz, hogy mindent a lehető leggyorsabban egy húzással megcsináljunk, az nem számít, hogyan.
Ékes példája ennek a PDOStatement::getColumnMeta, ahol mindennel megpróbálnak bennünket eltántorítani attól, hogy használjuk ahelyett, hogy értelmesen megépítették volna ezt a részét a PDO-nak. Mire is gondolok?

Az rendben van, hogy nem minden driver támogatja (igazából ezért van kint a figyelmeztetés is), akkor adjon vissza NULL (de ne FALSE-t :U ), és kész.
Azokban az esetekben, mikor a driver támogatja ezt a dolgot, nem sima array()-t kellene megadniuk, hogy "hát, valami ilyesmi jön vissza", hanem készíteni kellett volna egy egyszerű interface-t, ami összefog mindent. A PDO eleve arra lenne, hogy egy könnyen átjárható interfészt adjon a különböző adatbázisok felé, ehelyett meg itt hülyéskednek. :N

Nagyjából egy ilyet kellett volna összehozni, ha maradunk a PHP elnevezéseinél:

interface PDOColumn {

function getTable();

function getName();

function getNativeType();

function getPDOType();

function getLength();

function getPrecision();

function getSQLType();

function getFlags();

}

Nem túlzottan törik össze magukat a Zend-nél, hogy kikupálják a PHP-t, pedig nem lenne egy nagy mutatvány. Ami a fenti interface-ben necces cucc, az a getFlags(). Nyilván ez is akármi lehet, de ezalapján már nem nehéz megmondani, mit kellett volna ezzel is csinálni: hegeszteni hozzá egy interface-t.

Aki kicsit is igényes a kódjára, kerülje el az ilyen fajta marhaságokat.

Még van hozzászólás! Tovább