Chronos berfokus pada penyediaan objek tanggal/waktu yang tidak dapat diubah. Objek yang tidak dapat diubah membantu memastikan bahwa objek waktu dan waktu tidak diubah secara tidak sengaja sehingga data lebih dapat diprediksi.
Menginstal dengan komposer:
$ composer require cakephp/chronos
Anda kemudian dapat menggunakan Chronos:
<?phprequire 'vendor/autoload.php';use CakeChronosChronos;printf("Sekarang: %s", Chronos::now());
Chronos awalnya kompatibel dengan Carbon tetapi telah menyimpang dan tidak lagi memperluas kelas PHP DateTime dan DateTimeImmutable.
Objek yang tidak dapat diubah memiliki sejumlah keunggulan:
Menggunakan objek yang tidak dapat diubah selalu bebas dari efek samping.
Tanggal dan waktu tidak berubah secara tidak sengaja di bawah bagian lain kode Anda.
Dengan mempertimbangkan manfaat tersebut, ada beberapa hal yang perlu Anda ingat saat memodifikasi objek yang tidak dapat diubah:
// Ini akan menghilangkan modifikasi$date = new Chronos('2015-10-21 16:29:00');$date->modify('+2 jam');// Ini akan mempertahankan modifikasi$date = new Chronos ('21-10-2015 16:29:00');$tanggal = $tanggal->modifikasi('+2 jam');
PHP hanya menawarkan objek datetime sebagai bagian dari ekstensi asli. Chronos menambahkan sejumlah kemudahan pada objek DateTime tradisional dan memperkenalkan objek ChronosDate
. ChronosDate
membuat waktu dibekukan menjadi 00:00:00
dan zona waktu disetel ke zona waktu default server. Hal ini menjadikannya ideal ketika bekerja dengan tanggal kalender karena komponen waktu akan selalu cocok.
gunakan CakeChronosChronosDate;$today = new ChronosDate();echo $hari ini;// Output '21-10-2015'echo $today->modify('+3 jam');// Output '21-10-2015'
Seperti halnya Chronos
, objek ChronosDate
juga tidak dapat diubah .
Dokumentasi yang lebih deskriptif dapat ditemukan di book.cakephp.org/chronos/3/en/.
Dokumentasi API dapat ditemukan di api.cakephp.org/chronos.