เปลี่ยนจากกรอบเป็นไม่มีกรอบ [ปิด]


89

ฉันพัฒนา PHP มาประมาณ 8 ปีเป็นงานอดิเรก ในปี 2009 ฉันได้รับ Codeigniter และตั้งแต่นั้นมาฉันก็ไม่ได้รับการพัฒนาโครงการเดียว

ฉันพบว่ามันทำให้ฉันช้าลงในการพยายามหาวิธีแก้ไขให้ทำงานในแบบที่ฉันต้องการเมื่อไหร่ที่ฉันทำงานใน PHP บริสุทธิ์ฉันก็รู้หรือฉันจะสามารถค้นหาตัวอย่างข้อมูลได้อย่างรวดเร็ว

ฉันได้ลองใช้ CodeIgniter, Kohana และ Symfony แล้ว ฉันชอบความสะดวกในการใช้งาน (และฉันก็เริ่มใช้หลักคำสอนเป็น ORM ซึ่งเร่งความเร็วในการทำงานฐานข้อมูลของฉันอย่างมาก) แต่ฉันพบว่าโครงการใช้เวลา 3-4 เท่าของเวลาที่ใช้ใน PHP บริสุทธิ์ ฉันเบื่อและหงุดหงิดเมื่อไม่สามารถหาวิธีแก้ปัญหาที่เคยแก้ไขด้วย PHP ล้วน ๆ

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


5
ฉันชอบที่จะได้ยินมากขึ้นว่าทำไมคุณถึงพูดเกี่ยวกับการใช้เฟรมเวิร์กซึ่งใช้เวลา 3-4 เท่าเมื่อเทียบกับไม่มีเฟรมเวิร์ค .. คุณช่วยอธิบายเพิ่มเติมเกี่ยวกับเรื่องนี้ได้ไหม
Lukman

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

1
คำถามที่ดีถ้าฉันมีทางเลือกฉันใช้ PHP ล้วนๆ แต่ส่วนใหญ่แล้วคนที่ฉันทำงานด้วยต้องการให้ฉันใช้เฟรมเวิร์กดังนั้นฉันจึงคิดค่าบริการเพิ่มเป็นชั่วโมง :) ฉันรู้สึกว่าโค้ดของตัวเองอ่านได้มีระเบียบและเสถียร บางทีพวกเขาอาจกลัวที่จะต้องกักคุณไว้หากเกิดภัยพิบัติขึ้นและโค้ดทั้งหมดอยู่ในสถานะ "your-custom-framework-that-noone-else-can-read"
SSH

คำตอบ:


101

PHP5 เวอร์ชันปัจจุบันมีกรอบการรักษาความปลอดภัยส่วนใหญ่ที่คุณกำลังมองหาเป็นส่วนหนึ่งของไลบรารีมาตรฐาน

  • ใช้filter_input_arrayเพื่อล้างสิ่งที่เข้ามาจากภายนอกอย่างเปิดเผย
  • เข้าถึงฐานข้อมูลของคุณผ่านPDOด้วยSQL ที่กำหนดพารามิเตอร์เพื่อป้องกันการโจมตี SQL injection
  • ใช้การตั้งค่า PHP ต่อไปนี้เพื่อทำให้ไซต์ของคุณทนทานต่อการตรึงเซสชันและการขโมยคุกกี้มากขึ้น:
    • session.use_only_cookies (ป้องกันไม่ให้โทเค็นเซสชันของคุณรั่วไหลเข้าสู่ URL)
    • session.cookie_httponlyหรือhttponlyแอตทริบิวต์เป็นsession_set_cookie_params () (ป้องกันสคริปต์ที่อ่านคุกกี้เซสชันในเบราว์เซอร์ที่เข้ากันได้)
    • ข้อเสนอแนะเพิ่มเติมและโค้ดตัวอย่าง PHP ที่มีอยู่ในวิกิพีเดีย
    • นอกจากนี้คุณยังสามารถใช้httponlyแอตทริบิวต์กับsetcookie ()
  • ไม่มีอะไรที่น่าสนใจไปกว่าการสร้างเทมเพลตพื้นฐานและการตั้งค่าส่วนหัวสำหรับคุณลักษณะ HTTP และ HTML5 ใหม่:

หากคุณยอมรับ HTML เป็นอินพุตขอแนะนำให้ใช้ HTML Purifierและเรียกใช้ผ่านบรรทัดFILTER_CALLBACKในการตั้งค่า filter_input_array ของคุณ วิธีการที่อิงตามรายการที่อนุญาตในการรักษาความปลอดภัยอินพุตทำให้แนวป้องกันแรกที่ยอดเยี่ยม (และทรงพลังมาก) ต่อ XSS

เท่าที่ฉันบอกได้ PHP ไม่ได้มาพร้อมกับกลไกในการป้องกันการปลอมแปลงคำขอข้ามไซต์แต่ฉันมั่นใจว่า Google สามารถช่วยคุณได้ OWASP การรักษาความปลอดภัย cheatsheetsรวมถึงส่วนที่เกี่ยวกับมันถ้าคุณต้องการที่จะดำเนินการป้องกันของคุณเอง

ด้วยความอยากรู้อยากเห็นฉันจึงตัดสินใจที่จะเริ่มดูส่วนประกอบแบบสแตนด์อโลนและนี่คือสิ่งที่ฉันพบจนถึงตอนนี้:

การจำลอง:

  • การสืบทอดเทมเพลต PHP (การสืบทอดเทมเพลต PHP บวกปกติ)
  • TWIG ( ไวยากรณ์Django / Jinja2 / Liquid -style รวมถึง autoescape และ sandboxing รวบรวมไว้ใน PHP ที่แคชไว้เพื่อความรวดเร็ว)
  • Dwoo (เร็วขึ้นมีคุณลักษณะมากขึ้น PHP5-ish ต่อจากSmartyรวมระบบความเข้ากันได้สำหรับเทมเพลต Smarty ที่มีอยู่)

สิ่งที่ฉันยังตรวจสอบไม่ถูกต้อง:

  • การจัดส่งเส้นทาง (พบเฉพาะRouteMapและNet_URL_Mapperเท่านั้นขอบคุณ cweiske)
  • ORM (ในกรณีที่ PDO เปล่าไม่ใช่ของคุณ)

ขอบคุณทุกคำแนะนำที่ดีมากและฉันจะเริ่มตรวจสอบทันที!
Alex C

4
เปลี่ยน Smarty สำหรับ Dwoo หากคุณต้องการเครื่องมือสร้างเทมเพลต คุณสมบัติเกือบจะเหมือนกับ Smarty แต่ไม่ละลาย CPU
Phil Sturgeon

pear.php.net/package/Net_URL_Mapperเป็นตัวจัดการเส้นทาง
cweiske

4
หากเฟรมเวิร์กทำให้คุณทำงานช้าลงให้หลีกเลี่ยงการสร้างเทมเพลตโดยเฉพาะอย่างยิ่ง Smarty เช่นโรคระบาด พวกเขามีความหมายดี แต่พวกเขาเพิ่งสร้างวิธีใหม่และไม่ใช้งานง่ายในการทำสิ่งที่ PHP ทำอยู่แล้ว
Night Owl

ขึ้นอยู่กับว่าคุณพยายามทำอะไรให้สำเร็จและทำไมกรอบงานจึงทำให้คุณทำงานช้า
ssokolow

10

ฉันไม่เชื่อในกรอบ ... ฉันเคยทำงานหลายอย่าง

เหตุผลในการเกลียดกรอบ MVC:

1) Code bloat ฉันซื้อคลาสพรีเมียมที่ช่วยฉันในการพัฒนา เช่นคลาสฟอร์มหรือคลาส SQL

2) ฉันเชื่อว่าเฟรมเวิร์ก MVC ไม่สามารถพกพาได้ง่ายโดยเฉพาะเมื่อใช้ตัวจัดการการพึ่งพา

3) ฉันเชื่อว่าคุณเขียนโค้ดมากขึ้นด้วยเฟรมเวิร์ก MVC ถ้าคุณต้องใช้สำเร็จรูปที่มีคลาสที่มีประโยชน์มากมายที่จัดการการพิสูจน์ตัวตนเป็นต้น

4) เฟรมเวิร์กส่วนใหญ่รองรับฐานข้อมูลเพียงหนึ่งหรือสองฐานข้อมูล

ฉันขอแนะนำให้ค้นหากรอบรูปแบบด้วยการพิสูจน์ตัวตนและโปรแกรมแก้ไขข้อความและกรอบงาน sql เช่น madoo + คลาสอีเมล ...

90% ของแอปพลิเคชันของคุณเป็นแบบฟอร์ม sql & ajax CLASSES เสมอ - ส่วนที่เหลือสามารถรับได้เมื่อจำเป็น

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


เกี่ยวกับคำสั่ง "ฉันซื้อคลาสพรีเมียม": คุณซื้อคลาสดังกล่าวจากที่ไหนและเพื่อวัตถุประสงค์อะไร ขอบคุณ.
dotancohen

ฉันเห็นด้วย. นอกจากนี้ยังมีประสิทธิภาพที่ยอดเยี่ยมพร้อมกับเฟรมเวิร์กมากมาย
developerbmw

8

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


8

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

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

ฉันเขียนโปรแกรมอย่างมืออาชีพมาเกือบ 20 ปีในหลากหลายแพลตฟอร์มและยังต้องใช้เวลาสักพักกว่าจะคุ้นเคยกับ CI แต่ตอนนี้ฉันเป็นแล้วฉันจะไม่กลับไปใช้ PHP บริสุทธิ์ (สำหรับโครงการของฉันเอง) เว้นแต่ฉันจะมีไซต์ที่มีขนาดเพียงพอที่จะเปิดเผยปัญหาประสิทธิภาพเชิงปริมาณ (คิดว่า Twitter)


ฉันยังอยู่ในเส้นเขตแดนไม่ว่าฉันจะชอบกรอบงานด้วยหรือไม่ ฉันเห็นประเด็นของ OP อย่างแน่นอน แต่ฉันก็เห็นคุณเช่นกัน ... การเรียนรู้กรอบงานก็เหมือนกับการเรียนรู้ภาษาใหม่ทั้งหมด คุณต้องเข้าสู่กรอบวิธีการทำสิ่งต่างๆ อย่างไรก็ตามอีกสิ่งหนึ่งที่ฉันต่อสู้คือถ้าปรัชญาของฉันที่ว่าสิ่งที่ควรทำนั้นแตกต่างจากกรอบหรือไม่ ฉันยังคงพยายามหาสิ่งที่เหมาะกับตัวเอง (รอ. NET MVC3 ไม่ไหวแล้ว)
mpen

อย่างไรก็ตามฉันไม่รู้กรอบอื่น ๆ ดังนั้นฉันจึงไม่สามารถพูดถึงเรื่องทั่วไปได้ แต่การใช้กรอบไม่ใช่เรื่องทั้งหมดหรือไม่มีอะไรเลย ตัวอย่างเช่นฉันพบว่าไลบรารีการแคชของ CI (เพจ, ฐานข้อมูล) ไม่เพียงพอและไม่สามารถปรับขนาดได้ทันที ดังนั้นฉันจึงใช้คลังแคชของบุคคลที่สาม (ของ Phil Sturgeon) และฉันก็พอใจกับมันมาก
coolgeek

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

2

Zend Framework นั้นยอดเยี่ยมมากสำหรับสิ่งนั้น คุณสามารถใช้ได้มากหรือน้อยเท่าที่คุณต้องการ ทั้งหมดนี้เข้ารหัสใน php และโอเพ่นซอร์สเพื่อให้คุณสามารถแฮ็คและสร้างเป็นของคุณเอง ส่วนประกอบที่แตกต่างกันไม่ได้ขึ้นอยู่กับกันและกันมากเท่ากับในกรอบอื่น ๆ

คุณสามารถสร้างกรอบงานง่ายๆด้วยตัวเองโดยใช้ส่วนประกอบบางอย่างจาก Zend โดยไม่มีปัญหาใด ๆ

ลองดูสิ!


3
เขาพยายามถอยห่างจากกรอบ
WarmWaffles

1
@WarmWaffles. Wich คือเหตุผลที่ฉันพูดถึงการใช้ชิ้นส่วนของ ZF แน่นอนคุณไม่คาดหวังว่าผู้ชายคนนั้นจะคิดค้นล้อใหม่สำหรับทุกสิ่ง
Iznogood

2
Iznogood มีจุดที่ดีมาก ZF เป็นมากกว่ากรอบ ฉันพบว่าแพ็คเกจมีประโยชน์อย่างยิ่งสำหรับการทำงานทั่วไปมากมายและไม่มีอะไรที่บังคับให้คุณใช้รูปแบบ MVC หรือวิธีการเข้าถึงฐานข้อมูลหรืออะไรก็ได้ แน่นอนว่าคุณสามารถใช้โมดูล Pear ได้เช่นกัน
Bob Baddeley

2
เป็นห้องสมุดที่มีกรอบ อย่างไรก็ตามเขากำลังมองหาสิ่งที่ใช้งานง่ายและครั้งสุดท้ายที่ฉันตรวจสอบว่าเนมสเปซของ Zend นั้นรกและต้องเจ็บปวดในการพิมพ์ @Bob_Baddeley PEAR เป็นคำแนะนำที่ดี
WarmWaffles

@WarmWaffles ดีสำหรับแต่ละคนของเขาเองฉันเดา บางทีคุณอาจตรวจสอบ Zend อีกครั้งที่ 1.10.x ในตอนนี้และค่อนข้างแตกต่างจากนั้นพูด 1.8
Iznogood

2

ฉันรู้ว่าคุณรู้สึกอย่างไร ฉันเริ่มต้นเมื่อ 4 ~ 5 ปีที่แล้วใน PHP (ฉันมาจาก Delphi ฮ่า ๆ ) และเริ่มต้นด้วย php บริสุทธิ์ สิ่งที่ฉันได้กลับมาคือ "แผง CMS เช่น" ซึ่งเพียงแค่อ่านฟิลด์ตารางทั้งหมดและสร้างแบบฟอร์ม หลังจากบางครั้งฉันได้รับความรู้เกี่ยวกับ PHP Frameworks ฉันได้ลอง CakePHP เป็นครั้งแรกและไม่ชอบหลังจากนั้นเข้าสู่ Yii ซึ่งในความคิดของฉันค่อนข้างใช้งานง่ายและใช้งานง่าย (ด้วยเครื่องกำเนิด Gii มันค่อนข้างน่าสนใจ) ฉันพยายามใช้ Symfony, ZF2, Laravel, Yii2-Beta และเฟรมเวิร์กบางอย่างสำหรับ RAD แต่ฉันก็ยังรู้สึกไม่เร็วพอเหมือนก่อนเฟรมเวิร์ก

เกิดขึ้นจากการที่ฉันได้พัฒนากรอบการทำงานของตัวเองขึ้นมา (มันเป็นเรื่องธรรมดาที่ฉันตื่นขึ้นมาในวันหนึ่งและพูดว่า "ฉันจะสร้างกรอบงานใหม่" ซึ่งเกิดขึ้นตามกาลเวลา) ฉันรู้ว่ามันเป็นวิธีปฏิบัติที่ไม่ดีที่เลวร้ายและการ "สร้างล้อใหม่" แต่ตอนนี้ฉันพัฒนาโครงการของฉันได้เร็วขึ้นมาก

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

ทำไมฉันถึงปฏิรูป? เพราะถ้ามีใครต้องซ่อมแซมโครงการของฉันมันจะไม่เป็นโลกอื่น

ดังนั้นฉันเข้าใจคุณ

คำแนะนำของฉันคือเตรียมเครื่องมือของคุณ (เรียกมันว่าเฟรมเวิร์กแอพที่ตั้งไว้ล่วงหน้าหรืออะไรก็ตามที่ใคร ๆ ตั้งชื่อมัน) และใช้มันในแบบที่คุณรู้สึกดีขึ้น แต่ก็ยังคงปฏิบัติตามกฎทั่วไปบางอย่าง (เช่น MVC สิ่งที่ "ง่ายต่อการสร้างโมดูล" ซึ่งมี คุณสามารถเปลี่ยนได้ในกรณีที่เสีย


1

เพื่อความปลอดภัยขั้นพื้นฐานฉันใช้วิธีการกรองแบบกำหนดเองที่รวมซุปเปอร์โกลบัลของฉันไว้ ไวยากรณ์ของมันต้องการการทำความคุ้นเคย แต่ง่ายกว่า PHP filter_var () API และไม่อนุญาตให้คุณหลุดจากการฆ่าเชื้อ:

 $_GET->text("inputvar") or $_POST->name["field"]

นอกจากนี้ยังอนุญาตให้ $ _REQUEST-> sql () Escape แบบอินไลน์ แต่สำหรับงานฐานข้อมูลให้ใช้ SQL ที่กำหนดพารามิเตอร์หรือ DAL / ORM ที่คุณเลือก


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

@ssokolow: อันที่จริง filter_input_array () เป็นสิ่งที่ดีสำหรับการทำในบัดดล อย่างไรก็ตามมีความยืดหยุ่นมากเกินไปในฟังก์ชัน filter_ * และพารามิเตอร์ที่มากเกินไปก็ไม่เหมาะกับมัน นั่นเป็นเหตุผลที่ฉันคิดว่าผู้คนกำลังละทิ้งมัน (แม้ว่าในทางเทคนิคแล้วจะเป็นทางออกที่ดีก็ตาม)
มาริโอ

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

1

ฉันได้ศึกษาToroPHPหนึ่งวันและพบว่ามันค่อนข้างดี เป็นกรอบงานที่เรียบง่ายที่กำหนดเป้าหมายไปยังแอปพลิเคชัน RESTful ทำให้สามารถเก็บโค้ดฝั่งเซิร์ฟเวอร์แบบโมดูลาร์ได้โดยไม่ต้องจัดการกับเฟรมเวิร์ก


1

ฉันไม่รู้ว่าอะไรทำให้คุณหนักใจ แต่ Codeigniter เป็นเฟรมเวิร์กที่ยอดเยี่ยมมันมีเอกสารที่ดีและเนื่องจากผู้คนจำนวนมากใช้ codeigniter คุณจะพบความช่วยเหลือทั้งหมดในเอกสารหรือฟอรัมหรือใน stackoverflow ฉันทำงานในหลายเฟรมเวิร์ค ( Codeigniter, CakePHP, Zend, Spring 3.0, Ruby on Rails) แต่ฉันต้องบอกว่า Codeigniter มีเอกสารที่ดีที่สุดมีหลายสิ่งใน codeigiter ซึ่งได้รับการจัดการโดยอัตโนมัติและคุณไม่ต้องกังวลเรื่องความปลอดภัย การทำงานกับ PHP หลักก็เหมือนกับการประดิษฐ์วงล้อขึ้นมาใหม่ สิ่งที่สำคัญที่สุดคือการย้ายจากแกนกลางไปยังเฟรมเวิร์กจะต้องใช้ความพยายามอย่างมากเมื่อคุณคุ้นเคยกับมันคุณจะเริ่มรักมันนอกจากนี้ Ruby บนรางยังเป็นกรอบที่ยอดเยี่ยมเมื่อคุณรู้รายละเอียดลึก ๆ แล้วคุณสามารถทำได้ มีความเร็วสองเท่า


2
เป็นเวลากว่าสองปีแล้วที่ฉันโพสต์สิ่งนี้และฉันได้ทำงานกับ PHP บริสุทธิ์มาระยะหนึ่งแล้ว แต่หลังจากนั้นก็เปลี่ยนกลับมาเป็น PHP - คุณพูดถูกมันใช้งานง่ายอย่างไม่น่าเชื่อ การตั้งค่าที่ฉันต้องการในปัจจุบันคือ CI, phpActiveRecord สำหรับฐานข้อมูลและ Twig สำหรับเทมเพลต
Alex C

ใช่ phpActiveRecord น่าดู คุณเคยลอง Laravel หรือไม่? ( laravel.com ) ฉันคิดว่าคุณจะพบว่ามันมี CI, phpActiveRecord และ Twig ที่ดีที่สุดในตัวตามค่าเริ่มต้น ฉันเคยเป็นนักพัฒนา CakePHP ด้วยตัวเอง แต่เมื่อเร็ว ๆ นี้ดู Laravel อย่างกระตือรือร้น
Simon East
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.