PHP นั้นยอดเยี่ยมและเป็นนักแต่งเพลง, PHP-fig และเฟรมเวิร์กที่แตกต่างกันทั้งหมดทำให้มันยิ่งใหญ่ขึ้น อย่างไรก็ตามยังมีสิ่งที่เป็นมรดกในภาษาที่ทำให้ PHP ใช้งานยากกว่าที่ควรจะเป็น (ดู http://phpsadness.com/ สำหรับหนึ่งในหลาย ๆ รายการ)
ZUBR เป็นไลบรารี wrapper เพื่อแก้ไขความไม่สอดคล้องกันในฟังก์ชั่นหลักของ PHP มันห่อฟังก์ชั่นในตัวของ PHP และพยายามที่จะแก้ไขบางสิ่ง-เริ่มต้นด้วยการตั้งชื่อที่สอดคล้องกันลำดับของอาร์กิวเมนต์และอื่น ๆ
ตัวอย่างเช่นจาก:
parse_url()
urlencode()
ถึง:
Zubrparse_url()
Zubrurl_encode()
และแม้กระทั่ง:
htmlentities()
html_entity_decode()
ถึง:
Zubrhtml_entity_encode() // alias to htmlentities(), Zubrhtml_entities()
Zubrhtml_entity_decode()
ฟังก์ชั่นมักจะมีชื่อเดียวกับชื่อในตัว แต่พวกเขาทำตามกฎชุดเดียวกัน ZUBR ใช้งานง่ายเพราะชื่อฟังก์ชั่นสามารถคาดเดาได้และคล้ายกับชื่อที่คุณคุ้นเคย
ความคิดของ Zubr มาจากการแสดงความคิดเห็นโพสต์ HN นี้: https://news.ycombinator.com/item?id=14883784
เราไม่สนใจ PHP <7.0.0 ฟังก์ชั่นใด ๆ ที่เลิกใช้แล้วและไม่รวมอยู่ใน PHP 7.0.0 จะไม่พบใน ZUBR
ดู: http://phpsadness.com/sad/4
เรามักจะใช้ SNAKE_CASE
ดู: http://phpsadness.com/sad/15
เราเพิ่มนามแฝงโดยใช้ micro แทน u (ซึ่งบางครั้งหมายถึง user )
เราเพิ่มนามแฝงโดยใช้ user แทน u (ซึ่งบางครั้งหมายถึง micro )
to 2ดู: http://phpsadness.com/sad/48
เราเพิ่มนามแฝงที่ to แทน 2
ดู: http://phpsadness.com/sad/9 และคล้ายกัน
เรามักจะใส่หัวเรื่องก่อนจากนั้นคำหลัก ( $haystack ก่อนจากนั้น $needle )
ตัวอย่างเช่นคุณจะพูดว่า "ค้นหา Google for Dog " (ซึ่งหมายถึง "ค้นหา $subject สำหรับ $keyword ")
ฟังก์ชั่น PHP ส่วนใหญ่ทำตามการประชุมนี้แล้ว
ดู: http://phpsadness.com/sad/6
เรามักจะทำให้การโทรกลับเป็นครั้งสุดท้าย
หมายเหตุ: หากพารามิเตอร์ที่กำหนดให้กับฟังก์ชั่นไม่ใช่สิ่งที่คาดหวังเช่นผ่านอาร์เรย์ที่คาดว่าจะมีสตริงค่าส่งคืนของฟังก์ชันจะไม่ได้กำหนด ในกรณีนี้มันน่าจะกลับมาเป็นโมฆะ แต่นี่เป็นเพียงการประชุมและไม่สามารถพึ่งพาได้ http://php.net/manual/en/functions.internal.php
เราต้องการแก้ไขข้างต้นใน> 1.0 รุ่น
เวอร์ชัน 1.0 จะมีฟังก์ชั่นในตัวหลักของ PHP ทั้งหมด
จากนั้นเราอาจใช้ระบบปลั๊กอินส่วนตัวเพื่อเพิ่มส่วนขยายที่รวมเข้าด้วยกันใน 2.0 และทำให้ระบบปลั๊กอินเป็นแบบสาธารณะเพื่อให้ทุกคนสามารถใช้ wrappers ไปยังส่วนขยายภายนอกในเวอร์ชัน 3.0
เรามีเหตุการณ์สำคัญอย่างละเอียดพร้อมคุณสมบัติทั้งหมดที่จะนำไปใช้กับเวอร์ชัน 1.0 ที่ https://github.com/nkkollaw/zubr/milestones
ยินดีต้อนรับคำขอดึง
ดูไฟล์ที่มีส่วนร่วม
อีเมลสามารถพบได้ในไฟล์ composer.json