PHP hebat dan komposer, php-fig, dan semua kerangka kerja yang berbeda membuatnya lebih besar. Namun, masih ada hal -hal lama dalam bahasa itu sendiri yang membuat PHP lebih sulit digunakan daripada yang seharusnya (lihat http://phpsadness.com/ untuk salah satu dari banyak daftar).
Zubr adalah perpustakaan pembungkus untuk memperbaiki ketidakkonsistenan dalam fungsi inti PHP. Ini membungkus fungsi bawaan PHP dan upaya untuk memperbaiki beberapa hal-dimulai dengan penamaan yang konsisten, urutan argumen, dan banyak lagi.
Misalnya, dari:
parse_url()
urlencode()
ke:
Zubrparse_url()
Zubrurl_encode()
dan bahkan:
htmlentities()
html_entity_decode()
ke:
Zubrhtml_entity_encode() // alias to htmlentities(), Zubrhtml_entities()
Zubrhtml_entity_decode()
Fungsi selalu memiliki nama yang sama dengan yang bawaan, tetapi mereka mengikuti seperangkat aturan yang sama. Zubr intuitif untuk digunakan, karena nama fungsi dapat diprediksi dan mirip dengan yang biasa Anda lakukan.
Ide Zubr datang dari mengomentari posting HN ini: https://news.ycombinator.com/item?id=14883784
Kami mengabaikan PHP <7.0.0. Fungsi apa pun yang sudah usang dan tidak termasuk dalam PHP 7.0.0 tidak akan ditemukan di Zubr.
Lihat: http://phpsadness.com/sad/4
Kami selalu menggunakan snake_case.
Lihat: http://phpsadness.com/sad/15
Kami menambahkan alias menggunakan micro bukan u (yang terkadang berarti user ).
Kami menambahkan alias menggunakan user , bukan u (yang terkadang berarti micro ).
to vs. 2Lihat: http://phpsadness.com/sad/48
Kami menambahkan alias menggunakan to 2 .
Lihat: http://phpsadness.com/sad/9 dan serupa.
Kami selalu mengutamakan subjek, kemudian kata kunci ( $haystack pertama, lalu $needle ).
Misalnya, Anda akan mengatakan "Cari Google for Dog " (yang berarti "Cari $subject untuk $keyword ").
Sebagian besar fungsi PHP sudah mengikuti konvensi ini.
Lihat: http://phpsadness.com/sad/6
Kami selalu menempatkan panggilan balik terakhir.
Catatan: Jika parameter yang diberikan pada suatu fungsi tidak seperti yang diharapkan, seperti melewati array di mana string diharapkan, nilai pengembalian fungsi tidak ditentukan. Dalam hal ini kemungkinan akan mengembalikan nol tetapi ini hanya sebuah konvensi, dan tidak dapat diandalkan. http://php.net/manual/en/functions.internal.php
Kami ingin memperbaiki rilis di atas> 1.0.
Versi 1.0 akan berisi semua fungsi inti bawaan PHP.
Kami mungkin terus mengimplementasikan sistem plugin pribadi untuk menambahkan ekstensi yang dibundel di 2.0, dan membuat sistem plugin publik sehingga siapa pun dapat menerapkan pembungkus ke ekstensi eksternal di versi 3.0.
Kami memiliki tonggak detail dengan semua fitur yang akan diimplementasikan hingga versi 1.0 di https://github.com/nkkollaw/zubr/milestones.
Permintaan tarik dipersilakan.
Lihatlah file Contributing.md.
Email dapat ditemukan di file composer.json .