Odkazy: dibi | API reference

Forum: [česky] [english]

dibi fórum

tiny ‘n’ smart
database layer

Nejste přihlášen(a)

#1 před 3 lety

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 5833

Podpora pro PHP 5.1 a další vývoj

Bleskový průzkum odhalil, že dibi pod PHP 5.1 používá cca 13 % uživatelů. Sám k metodice moc důvěru nemám, nicméně číslo celkem reflektuje zastoupení PHP 5.2 versus 5.1, takže není překvapivé.

Co z toho vyplývá? Že podporu pro PHP 5.1 lze klidně odstřihnout. Pro těch 13 % to není nijak špatná zpráva, současná verze je stabilní a dobře funkční. A nepředpokládám, že by se na PHP 5.1 rozjížděly nové projekty, které by měly využívat budoucích vlastností dibi.

Proč PHP 5.1 nepodporovat? Důvodem je třída DateTime, která se objevila až v PHP 5.2. Současná verze dibi ji umí používat volitelně, příští verze dibi by ji používala standardně. Z dibi by se mohly odstranit (samozřejmě se zachováním zpětné kompatibility) obezličky jako:

  • dibi::datetime() a dibi::date() → lze nahradit za new DateTime()
  • IDibiVariable a DibiVariable (využívá je někdo?)

a také datum by se mohlo v DibiRow vracet jako objekt DateTime namísto současného čísla UNIX timestamp (opět konfigurovatelně).

 

#2 před 3 lety

deric
Člen
Registrovaný: 7. 6. 2006
Příspěvky: 111

Re: Podpora pro PHP 5.1 a další vývoj

php 5.1 je hodně nepovedená verze, jsem pro odstřihnutí. I v skoro rok starém výzkumu Verze php v ČR – únor 2009

je vidět klesající tendence php 5.1, doufám, že zastoupení bude teď ještě nižší.

Co získáme přechodem na DateTime?

Bylo by možné využít time zone?

$dateTime = new DateTime("now", new DateTimeZone('GMT'));
echo $dateTime->format("Y-m-d H:i:s");
$dateTimeZone = new DateTimeZone('Europe/Prague');
$dateTime->setTimezone($dateTimeZone);

echo $dateTime->format("Y-m-d H:i:s");

jenom takový nápad… chtělo by to vymyslet jak by to šlo jednoduše zabudovat do syntaxe formátování datumu…

 

#3 před 2 lety

hurvajs
Člen
Registrovaný: 4. 5. 2009
Příspěvky: 89

Re: Podpora pro PHP 5.1 a další vývoj

S tim souhlasim. Podpora PHP 5.1 mi prijde zbytecna. Podobne jako Vy, nemam duveru ve statistiky, ale myslim ze drtiva vetsina lidi je na PHP 5.2/PHP 5.3.

 

#4 před 2 lety

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 5833

Re: Podpora pro PHP 5.1 a další vývoj

Timezone využít lze – možná jsem se nevyjádřil přesně, dibi už cca tři měsíce Datetime používá – ale jen pod PHP 5.2

 

#5 před 2 lety

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 5833

Re: Podpora pro PHP 5.1 a další vývoj

Zkusil jsem vypustit testovací verzi s výše zmíněnými úpravami – můžete prosím vyzkoušet, zda vše funguje?

 

#6 před rokem

viktorc
Člen
Registrovaný: 11. 4. 2009
Příspěvky: 22

Re: Podpora pro PHP 5.1 a další vývoj

Možno sa ozývam „po funuse“, ale prihováram sa za to, aby IDibiVariable (spolu s funkcionalitou v DibiTranslator::formatValue) zostalo. Umožňuje to v SQL dotazoch pracovať s vlastnými objektami.

Keďže používam PHP 5.2, kde nie je dostatočná podpora pre DateTime, DateInterval, … mám vlastné Date* objekty a vďaka IDibiVariable ich môžem v dibi používať rovnako pohodlne, ako DateTime.

Predpokladám, že sa to hodí aj iným a aj pri iných vlastných objektoch (IP adresa, cidr, …) a vzhľadom k tomu, že to je to len pár riadkov, mohlo by to tam zostať.

A trochu nad rámec… – videl som v http://forum.dibiphp.com/…e-a-bc-break že si pre DateTime vyriešil aj opačný smer (pretypovanie výsledkov SQL dotazu do objektov). Možno by sa aj pri tomto dala využiť IDibiVariable (a nejaká funkcia fromSql), aby táto funkcionalita nebola obmedzená len na DateTime, ale mohli sme ju využiť aj pre vlastné objekty.

 

#7 před rokem

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 5833

Re: Podpora pro PHP 5.1 a další vývoj

Ok, přidal jsem IDibiVariable s metodou toSql()

 

#8 před rokem

viktorc
Člen
Registrovaný: 11. 4. 2009
Příspěvky: 22

Re: Podpora pro PHP 5.1 a další vývoj

Diky.

 

Zápatí