ประสบการณ์ของคุณกับ haxe และภาษาอื่น ๆ ที่รวบรวมเป็น PHP [ปิด]


23

ฉันต้องการฟังความคิดเห็นจากผู้ที่ใช้ภาษาที่คอมไพล์กับ php ภาษาหนึ่งเช่นที่ฉันรู้คือHaxe อย่างอื่นที่ฉันเคยอ่านคือคิระและฟาเร

ภาษาเหล่านี้รวมเข้ากับ PHP ได้ดีเพียงใด มันค่อนข้างง่ายในการเขียนปลั๊กอินสำหรับ PHP CMS หรือไม่?

การใช้งานและเครื่องมือของพวกเขาเป็นผู้ใหญ่แค่ไหน?

คุณจะแนะนำพวกเขาให้กับคนที่ต้องใช้ php cms แต่เกลียด php หรือไม่


1
HaXe ดี อย่างน้อยก็ให้มันไป ฉันเพิ่งติดตั้งและอัปโหลดและทดสอบหน้า PHP แรกของฉันใน 9 นาที (รวมถึงเวลาในการดาวน์โหลด haxe) มันง่ายและมีชุมชนที่ยอดเยี่ยมอยู่ข้างหลังพร้อมเอกสารจำนวนมาก
JTS

ฉันได้สร้างpratphall.orgซึ่งเป็นภาษาที่พิมพ์ขึ้นเพื่อคอมไพล์กับ PHP
ชาด Retz

คำตอบ:


9

ฉันเป็นผู้สร้าง Pharen ซึ่งรวบรวมภาษา Lisp กับ PHP เพื่อตอบคำถามของคุณมันรวมเข้ากับ PHP ได้ค่อนข้างดี เป็นเรื่องง่ายที่จะรวมฟังก์ชั่นการเรียกใช้ไลบรารี / ใช้วัตถุของพวกเขา

สำหรับความเป็นผู้ใหญ่ยังไม่มีการใช้รหัส Pharen ในการผลิตเลย ในขณะที่ในแง่ของภาษาทุกสิ่งที่คุณต้องการมีและทำงานอยู่สิ่งต่าง ๆ เช่นการปรับใช้ยังคงต้องใช้ความพยายามพิเศษ

ที่กล่าวว่าถ้าคุณเลือก Pharen ฉันยินดีที่จะช่วยเหลือ แต่ฉันสามารถทำได้ โปรดแจ้งให้เราทราบหากคุณมีคำถามอื่น ๆ !


"มันง่ายที่จะรวมฟังก์ชั่นการเรียกใช้ไลบรารี / ใช้วัตถุของพวกเขา" ซึ่งควรจะเพียงพอสำหรับการทำงานกับไลบรารีภายนอกส่วนใหญ่รวมถึงปลั๊กอิน API สำหรับ CMS โพสต์ต้นฉบับไม่เฉพาะเจาะจงมากเกินไปเกี่ยวกับความหมายของการรวม ฉันยังอธิบายถึงสถานะของการครบกําหนด (ขาด)
Scriptor

ขอบคุณสำหรับคำตอบและข้อเสนอของคุณที่จะช่วยฉัน Pharen comptabile กับเสียงกระเพื่อมอื่น ๆ หรือไม่? มันมีโอเปอเรเตอร์ของตัวเองหรือมันแค่ใช้มันใน php? ตัวอย่างเช่น == ใน pharen ทำงานแบบเดียวกับใน php หรือไม่
Kim

มันเป็นภาษาของตัวเองตอนนี้ด้วยแรงบันดาลใจจาก Clojure เหตุผลหลักคือมาตรฐานอื่น ๆ มีสัมภาระมากมายเช่นห้องสมุดมาตรฐานของพวกเขาเองซึ่งไม่จำเป็น มันใช้โอเปอเรเตอร์เดียวกับ PHP ดังนั้นคุณสามารถใช้ (== "foo" "foo")
Scriptor

3

Josh K นั้นถูกต้องในบางจำนวนมันเป็นการดีกว่าที่จะรู้ php เพื่อที่จะกำหนดเป้าหมาย php runtime ได้ดียิ่งขึ้น อย่างไรก็ตามเหตุผลหลักสำหรับสิ่งนี้ไม่ใช่ haxe นั้นเป็นคอมไพเลอร์ที่ไม่ดี แต่ php นั้นเป็นภาษาที่ "เป็นไปได้"

php มีฟังก์ชันจำนวนมากอย่างไม่น่าเชื่อในเนมสเปซหลัก ดังนั้นจึงมีคำหลักที่สงวนไว้จำนวนมากและฟังก์ชั่นพิเศษที่คุณต้องรู้เพื่อป้องกันความขัดแย้งในการตั้งชื่อ บางคนพอใจกับสิ่งนี้ฉันคิดว่ามันเป็นภาษาที่น่ากลัว HaXe แก้ไขปัญหานี้ด้วยการสร้างเนมสเปซของตนเองใน php

Php เปลี่ยนจำนวนเต็มเป็นทศนิยมโดยอัตโนมัติเมื่อโอเวอร์โฟลว์ หลักสูตรนี้แบ่งการพิมพ์ที่เข้มงวดซึ่งภาษาอย่าง HaXe ไว้ใจเพื่อความปลอดภัยของประเภท ฉันคิดว่านี่เป็นคุณสมบัติทางภาษาที่น่ากลัวอีกอย่างหนึ่ง นอกจากนี้ haXe ไม่สามารถช่วยได้ที่นี่เพราะพฤติกรรม php นี้ไม่สามารถเปลี่ยนแปลงได้

ดังนั้นคุณไป ฉันคิดว่า haXe ทำให้ php ดีขึ้นเพราะทำความสะอาดข้อบกพร่องด้านภาษาสำหรับ php อย่างไรก็ตามมีสิ่งแปลก ๆ มากมายเกี่ยวกับ php ที่คุณต้องเรียนรู้ให้ดีเพื่อที่จะแก้ไขไอดีของมัน

ทั้งหมดที่กล่าวมานั้นภาษา haXe นั้นน่าอัศจรรย์ทีเดียว มันช่วยให้คุณสามารถจัดระเบียบโค้ด php ของคุณให้เป็นเนมสเปซที่ดีกว่ามีระบบที่ค่อนข้างซับซ้อนมีตัวเลือกการคอมไพล์ตามเงื่อนไขสำหรับจัดการปัญหาเฉพาะของ php และมีการดำเนินการด้านเอกสารที่ดี ด้วยเหตุผลเหล่านั้นเพียงอย่างเดียวจึงไม่ใช่ทางเลือกที่ไม่ดีในการออกแบบห้องสมุดที่มีความซับซ้อน ... แม้กระทั่งบางอย่างเช่น PHP

ลิงค์ที่เกี่ยวข้อง:

php magic: http://haxe.org/doc/advanced/magic

(มองหา "แพลตฟอร์มนิสัยใจคอ" ในส่วนชุมชนของเว็บไซต์หลัก haxe.org)


ขอบคุณสำหรับคำตอบ. คุณมีปัญหาใด ๆ ที่เรียก php จาก haxe หรือในทางกลับกัน?
Kim

ดังนั้น PHP (ภาษาไดนามิก) มีปัญหากับ haXe (ขึ้นอยู่กับการพิมพ์คงที่)? ! ที่น่าตื่นตาตื่นใจ PHP เป็นภาษาที่แปลกเล็กน้อย แต่เนื่องจากมันเป็นรากฐานใน Perl มันเป็นที่เข้าใจได้ สิ่งที่คุณเชื่อว่าเป็น "คุณสมบัติด้านภาษาที่น่ากลัว" และ "ความมีชีวิตชีวาแบบมาตรฐาน" คืออะไรจะคล้ายกันมาก
Josh K

1
คุณสามารถมีคุณสมบัติภาษาแบบคงที่ควบคู่ไปกับคุณสมบัติแบบไดนามิก พวกเขาไม่ได้เป็นพิเศษร่วมกัน HaXe ใช้ตัวบ่งชี้ชนิด "ไดนามิก" เพื่อจุดประสงค์นี้ การดำเนินการกับ Namespace และคณิตศาสตร์ไม่มีส่วนเกี่ยวข้องกับไดนามิกภาษา เหล่านี้เป็นแค่นิสัยใจคอของ php
jdonaldson

2

ขยะที่น่ากลัว

ผมใช้ haXe ในคำแนะนำของใครบางคนและจะไม่ขอแนะนำให้ไปทุกคนสำหรับเหตุผลใด

การรวบรวมข้ามภาษาทำให้เกิดความสับสนความผิดพลาดและข้อผิดพลาด นอกจากนี้ยังทำให้การดีบักงานที่ยิ่งใหญ่

คุณจะแนะนำพวกเขาให้กับคนที่ต้องใช้ php cms แต่เกลียด php หรือไม่

No! ฉันจะแนะนำให้คุณเรียนรู้ PHP อย่างถูกต้องหรือใช้ CMS อื่น ดูเหมือนว่าคุณไม่มีทางเลือกในส่วน CMS อีกทางเลือกหนึ่งคือการเรียนรู้ภาษาและจัดการกับมัน

การใช้งานและเครื่องมือของพวกเขาเป็นผู้ใหญ่แค่ไหน?

หนุ่มที่ดีที่สุดไม่เสถียรที่เลวร้ายที่สุด คุณจะไม่พบการสนับสนุนมากมายสำหรับพวกเขา


ดูเหมือนว่าคุณมีงานเขียนบางอย่างสำหรับแอปพลิเคชัน PHP นอกจากปัญหาที่ชัดเจนที่รหัสของคุณจะต้องนำเข้าฟังก์ชั่น / วัตถุ PHP ที่มีอยู่เพื่อทำงานและขยะที่กล่าวถึงข้างต้นใครก็ตามที่ทำงานในเรื่องนี้จะต้องเรียนรู้ภาษาของคุณในการแปลภาษา มิฉะนั้นพวกเขาจะไปยุ่งกับรหัส "PHP" ที่บอบบางซึ่งเป็นผลลัพธ์ นอกจากนี้ยังหมายความว่าหากพวกเขาทำงานคุณจะต้องปรับใช้การเปลี่ยนแปลงเหล่านั้นในรหัสของคุณอีกครั้งหรือเสี่ยงต่อการสูญเสียการเปลี่ยนแปลงที่คนอื่นทำ

หากคุณเกลียดการทำงานกับ PHP รอจนกว่าคุณจะต้องทำงานกับโค้ดบางส่วนที่ภาษาเหล่านั้นส่งออก


"" การรวบรวมข้ามภาษา "

มันนำไปสู่ความสับสนความผิดพลาดและข้อผิดพลาด เมื่อคุณเขียนโค้ดที่แปลเป็นภาษาอื่นคุณจะลบตัวคุณเองจากแหล่งข้อมูลเริ่มต้น สิ่งที่คุณเขียนและสิ่งที่ได้รับนั้นขึ้นอยู่กับคอมไพเลอร์ การเขียนรหัสเพื่อสร้างรหัสทำให้เกิดความสับสนคุณจะทำผิดพลาดและคุณจะพบข้อผิดพลาดที่คุณไม่คาดคิด ฉันจะไม่แนะนำให้คุณใช้พวกเขา


5
โปรดอย่าทำให้อารมณ์เสียและพยายามอย่าตั้งสมมติฐานมากเกินไป อะไรทำให้คุณคิดว่าฉันไม่ได้เรียนรู้ php "ถูกต้อง"? ฉันจะเกลียดใครอีกแล้ว? รหัสที่สร้างขึ้นไม่ใช่ปัญหาสำหรับฉันเนื่องจากฉันไม่ต้องการสัมผัส การดีบักไม่ใช่ปัญหาเนื่องจากฉันไม่ค่อยได้ใช้ตัวดีบัก นักพัฒนารายอื่นก็ไม่ใช่ปัญหาเนื่องจากปลั๊กอิน CMS ส่วนใหญ่ไม่ใช่โครงการขนาดใหญ่ คุณอ้างสิทธิ์ในวงกว้างเกี่ยวกับ haxe คุณช่วยสำรองข้อมูลด้วยตัวอย่างได้ไหม มันจะได้รับการชื่นชมมาก คุณใช้มันมานานเท่าไหร่แล้ว?
Kim

5
ดังนั้นคุณกำลังบอกว่าคอมไพเลอร์สร้างรหัสรถ buggy? นั่นเป็นหนึ่งในข้ออ้างที่กว้างขวางที่ฉันต้องการให้คุณสำรองด้วยตัวอย่าง อีกข้อเรียกร้องกว้าง ๆ คือ "การรวบรวมข้ามภาษาทำให้เกิดความสับสนข้อผิดพลาดและข้อผิดพลาด" โปรดยกตัวอย่างสำหรับสิ่งนั้น หากคุณต้องการพูดคุยว่า PHP เป็นภาษาที่น่าใช้หรือไม่ฉันแน่ใจว่าคุณจะพบคนหลายพันคนบนอินเทอร์เน็ตที่จะทำเช่นนั้นกับคุณ ฉันไม่ได้เป็นหนึ่งในนั้น
Kim

10
"การรวบรวมข้ามภาษา - มันนำไปสู่ความสับสนความผิดพลาดและข้อผิดพลาด" แปลกและที่นี่ฉันคิดว่าคอมไพเลอร์ใด ๆก็ทำเช่นนั้น - แปลภาษาหนึ่งเป็นอีกภาษาหนึ่ง
foo

1
จริงๆแล้วการเป็นโปรแกรมเมอร์มืออาชีพและมีหลายภาษา / กรอบ / API ภายใต้เข็มขัดของฉัน (java, c ++, python, php, ruby, javascript, ฯลฯ ) HaXe เป็นสัญลักษณ์ของแสงสำหรับฉัน เป็นครั้งแรกที่ฉันพบภาษาที่ฉันพบว่าทำสิ่งที่ถูกต้องและ "ตกลง" ในทุกด้าน ฉันไม่สามารถเข้าใจได้ว่ามีใครบางคนไม่ชอบมัน สำหรับ PHP มันมีข้อ จำกัด
dagnelies

1
เห็นด้วยอย่างเต็มที่กับข้อตกลงส่วนใหญ่ (โดยเฉพาะเกี่ยวกับ haxe) แต่การทำงานกับ php โดยใช้ lisp syntax นั้นสนุกจริงๆ! ดังนั้นฉันต้องการที่จะอยู่ในส่วนแปลก ๆ ของรหัสเพียงเพื่อความสนุกสนาน
cnd

1

ฉันใช้นักแปลหลายภาษาและท้ายที่สุดคุณต้องหลีกเลี่ยงสิ่งที่คุณพยายามหลีกเลี่ยง ... ดังนั้นหากคุณเกลียด PHP คุณแค่รอจนกว่าคุณจะมีปัญหาที่คลุมเครือจริงๆ เพื่อให้คอลึกเข้าไปในลำไส้ของมัน แม้ว่าฉันจะต้องเป็นคนตะกละเพราะฉันคิดว่าการกำหนดเป้าหมาย neko ด้วย haXe จะค่อนข้างเจ๋ง


คอมไพเลอร์ทั้งหมดเป็น "ผู้แปลภาษา" คุณกำลังบอกว่าเราไม่ควรใช้คอมไพเลอร์? ;) ไม่ว่าคุณจะต้อง "เอาคอลึกเข้าไปในลำไส้" หรือไม่นั้นขึ้นอยู่กับว่าคอมไพเลอร์ทำงานได้ดีหรือไม่ซึ่งเป็นสิ่งที่ฉันพยายามค้นหา ตัดสินจากคำตอบที่นี่ฉันเดาว่าฉันจะต้องทำการสอบสวนของตัวเอง
Kim

ฉันต้องการกำหนดเป้าหมาย Neko ด้วย haXe แต่ฉันไม่ต้องการพึ่ง httpd ของ Apache ฉันชอบที่จะมีทางเลือกบนเว็บเซิร์ฟเวอร์
stesch

1

ถ้ามันจะทำให้ปลั๊กอินสำหรับ PHP CMS อยู่กับ PHP

แม้ว่าฉันจะใช้ HaXe และพบว่ายอดเยี่ยมจริงๆฉันไม่แนะนำในกรณีนี้ มันเป็นทางอ้อมมากเกินไปและค่าใช้จ่ายจะสูงกว่าผลกำไรสำหรับปลั๊กอินเล็ก ๆ เท่านั้น


-1

ฉันได้ลองใช้ Haxe แล้วและฉันไม่สามารถแนะนำให้พัฒนาเว็บไซต์ได้

อย่างไรก็ตามฉันชอบวิธีการนี้ซึ่งเป็นเหตุผลว่าทำไมฉันจึงใช้ภาษาที่เรียบง่ายของตัวเองซึ่งรวมไปถึง PHP แต่ในลักษณะที่ตรงกว่า Haxe ดังนั้นมันจึงง่ายต่อการดีบักโค้ดที่สร้างขึ้นและโต้ตอบกับโค้ด PHP ที่มีอยู่ .


คุณสามารถอธิบายอย่างละเอียดว่าทำไมคุณถึงไม่แนะนำ Haxe?
Jay Elston
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.