รายละเอียดซอฟแวร์:
XHPy ขยายไวยากรณ์หลามเพื่อให้กลายเป็นเศษเล็กเศษน้อย XML แสดงออกหลามที่ถูกต้อง
ข้อดี
& nbsp; * เรียบง่าย: เขียนเหตุผลใน UI ง่ายไวยากรณ์ที่แสดงออกโดยไม่ต้องใช้แม่แบบภายนอกหรือภาษา templating
& nbsp; * ความยืดหยุ่น: การใช้การแสดงออกหลามได้อย่างอิสระภายในแท็ก XHPy และในทางกลับกัน
& nbsp; * การรักษาความปลอดภัยได้รับประโยชน์จากการหลบหนีโดยอัตโนมัติจากข้อความภายในแท็ก XHPy
& nbsp; * สามารถนำมาใช้: สร้างส่วนประกอบนำมาใช้ใหม่โดย subclassing: x: องค์ประกอบ
ตัวอย่าง
ใน bar.py:
จากการนำเข้า xhpy.init register_xhpy_module
register_xhpy_module ('foo')
นำเข้า foo
ใน foo.py:
จากการนำเข้า xhpy.pylib *
ชั้น: UI: foo (: x: องค์ประกอบ):
& nbsp; แอตทริบิวต์บาร์รายการ
& nbsp; ประเภทการไหล%
& nbsp; def ทำให้ (ตัวเอง):
& nbsp; =
& nbsp; สำหรับ B ใน self.getAttribute ('บาร์'):
& nbsp; a.appendChild (
& nbsp; กลับ
พิมพ์
ตอนนี้เราสามารถเรียกใช้ bar.py เป็นสคริปต์หลามปกติ:
$ หลาม bar.py
- 0
- 1
- 2
ขอแสดงความยินดี คุณเพียงแค่เขียนตัวอย่างแรกของ XHPy
ไวยากรณ์
XHPy เพิ่มบางไวยากรณ์ใหม่เพื่อหลาม ทีละบรรทัดเวลาเล่นใหม่!
จากการนำเข้า xhpy.init register_xhpy_module
นี้จะเริ่มต้น XHPy และช่วยให้คุณสามารถลงทะเบียนโมดูลจะถูกตีความว่าเป็น XHPy
register_xhpy_module ('foo')
ตอนนี้โมดูล foo ใน foo.py จะถูกตีความว่าเป็น XHPy เมื่อนำเข้า ถ้า foo เป็นแพคเกจทั้งหมด submodules ยังจะได้รับการจดทะเบียน นี้จะเป็นประโยชน์สำหรับการลงทะเบียนห้องสมุด UI
นำเข้า foo
ในการใช้งานจริง XHPy แต่คุณอาจจะต้องการห้องสมุดหลัก:
จากการนำเข้า xhpy.pylib *
ตอนนี้คุณสามารถเข้าถึงทุกมาตรฐาน 4.0 องค์ประกอบ HTML,: x: องค์ประกอบชั้นฐาน (! นี่คือสิ่งที่คุณสร้างส่วนประกอบที่กำหนดเองที่ด้านบนของ) และบางสาธารณูปโภค
ชั้น: UI: foo (: x: องค์ประกอบ):
การสร้างองค์ประกอบใหม่เป็นเรื่องง่ายเพียงแค่รอง: x: องค์ประกอบ สำหรับชั้นคอมโพเนนต์ของคุณจะต้องลงทะเบียนจะต้องเริ่มต้นด้วย: - นี้แตกต่างอย่างชัดเจนองค์ประกอบของคุณจากชั้นเรียนงูใหญ่สามัญ
แอตทริบิวต์บาร์รายการ
นี่คือการประกาศแอตทริบิวต์หมายความว่า: UI: foo ช่วยให้บาร์แอตทริบิวต์
ภายหลัง - เหมือน XHP, XHPy ใช้ไวยากรณ์แอตทริบิวต์ XML
ประเภทการไหล%
นี่คือการประกาศหมวดหมู่ -: UI: foo เป็นส่วนหนึ่งของประเภทการไหล% หมวดหมู่ที่มีประโยชน์ส่วนใหญ่เป็นวิธีที่จะระบุองค์ประกอบที่มีความคล้ายคลึงกันโดยไม่ต้องใช้มรดก; ตัวอย่างเช่น <> แท็กใน pylib.html มี
เด็ก (PCDATA | การไหล%) *
แสดงให้เห็นว่าเด็ก ๆ จะต้องมีข้อความหรือประเภทของการไหล% (เพื่อให้เราสามารถใส่
ทำให้ def (ตัวเอง):
เมื่อคุณพิมพ์: x: องค์ประกอบ (หรือโทร Str ในนั้น), การแสดงผล () จะเรียกวิธี; นี่คือที่ที่คุณใส่ตรรกะของคุณ UI
=
สำหรับขใน self.getAttribute ('บาร์'):
& nbsp; a.appendChild (
กลับ
ที่นี่
- ที่ช่วยให้คุณสร้างรายการเรียงลำดับออกจากรายชื่อหลาม องค์ประกอบ HTML มาตรฐานเช่น
- จะแสดงผลโดยอัตโนมัติ - ยกเว้นว่าใน XHPy คุณสามารถใช้การแสดงออกหลามภายในแท็กเพื่อให้
{ข}
จะถูกแทนที่ด้วยค่าของข หมายเหตุการใช้ getAttribute () และ appendChild ():
self.getAttribute ('บาร์')
เรียกค่าของแถบแอตทริบิวต์ (ในกรณีนี้ช่วง (3)) ในขณะที่
a.appendChild ( - {ข} )
- {ข} เป็นลูกของ =
- หลาม
- และ
เพิ่ม
XHPy ส่วนใหญ่จะขึ้นปิด XHP; สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับหลังให้ดูที่วิกิพีเดีย `XHP
& nbsp; * ชื่อชั้น XHPy อาจจะใช้ที่ใดก็ได้เรียนงูใหญ่สามัญสามารถ;
& nbsp; * แท็ก XHPy ไม่สนใจช่องว่างภายในภายนอก แต่ต้องปฏิบัติตามกฎระเบียบและเยื้องบรรทัดต่อเนื่อง
เพิ่มเติมเกี่ยวกับจุดสุดท้าย:
def foo (href):
& nbsp; ผลตอบแทน >
def บาร์ (href):
& nbsp; return
& nbsp;
ถูกต้องในขณะที่
def foo (href):
& nbsp; return
& nbsp;
& nbsp; >
ไม่ได้เป็นตามที่มันแนะนำ dedent เพิ่มเติมหลังจาก >
วิธีการทำงาน
เมื่อคุณ
นำเข้า xhpy.init
XHPy ติดตั้ง hook นำเข้า นี้กับดักเบ็ดงบนำเข้าที่ตามที่ทำงานให้พวกเขาผ่าน preprocessor ที่จะแยกวิเคราะห์ superset ของงูหลาม preprocessor นี้แปลแท็ก XHPy และชื่อชั้นที่ถูกต้องหลามแล้วรันโค้ดแปลในขอบเขตโมดูล
นี้จะคล้ายกับวิธีการทำงาน XHP ยกเว้น
& nbsp; * ด้วยเช่น pythonenv คุณก็สามารถใช้ XHPy ได้โดยไม่ต้องเข้าถึงระบบไดเรกทอรีการติดตั้งแพคเกจหลาม;
. & nbsp; * โดยค่าเริ่มต้นหลามรวบรวม bytecode .pyc ไฟล์จากโมดูลของคุณเพื่อ preprocessing เพียงต้องการที่จะทำครั้งเดียวเมื่อโมดูลจะถูกนำเข้าครั้งแรก
ต้องการ
ความคิดเห็นที่ไม่พบ