ทำไมวีโอไอพีถึงมี 3 กลุ่มรหัส?


26

Magento มีกลุ่มรหัสสามประเภท:

  1. ชุมชน
  2. แกน
  3. ในประเทศ

แกนหลัก:มันมีโมดูลเริ่มต้นวีโอไอพีทั้งหมด

ชุมชนและท้องถิ่น:เราใช้กลุ่มรหัสเหล่านี้สำหรับการพัฒนาโมดูลที่กำหนดเองของเรา

ตอนนี้ฉันมีข้อสงสัยเกี่ยวกับเรื่องนี้:

  • ทำไมวีโอไอพีใช้พูลโค้ดสองชุดสำหรับการปรับแต่งของเรา
  • ทำไมวีโอไอพีไม่ใช้พูลรหัสเดียวเพื่อการปรับแต่ง

มีคนอธิบายเรื่องนี้ได้ไหม

คำตอบ:


34

app / code / core - เก็บโมดูลที่แจกจ่ายกับ Magento พื้นฐานและสร้างฟังก์ชั่นหลัก

app / code / community - เก็บโมดูลที่พัฒนาโดยบุคคลที่สาม

app / code / local - เก็บโมดูลที่กำหนดเองที่คุณพัฒนารวมถึงการแทนที่รหัส Mage

ทำไมวีโอไอพีใช้พูลโค้ดสองชุดสำหรับการปรับแต่งของเรา

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

เหตุใด Magento จึงไม่ใช้กลุ่มรหัสเดียวสำหรับการปรับแต่ง

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


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

11

ป้อนคำอธิบายรูปภาพที่นี่

core :กลุ่มรหัสนี้เป็นของทีมพัฒนาหลักของ Magento ดังนั้นคุณไม่ควรทำการแก้ไขใด ๆ ในกลุ่มรหัสนี้

community :นี่เป็นของนักพัฒนาชุมชน Magento (รวมถึงนักพัฒนาที่พัฒนาส่วนขยายของบุคคลที่สาม) หากคุณกำลังสร้างส่วนขยายของบุคคลที่สามใด ๆ ดังนั้นคุณสามารถใช้กลุ่มรหัสนี้ได้

local :สามารถใช้สิ่งนี้หากคุณต้องการทำการแก้ไขใด ๆ (เพิ่มฟังก์ชันการทำงาน / การแทนที่ส่วนขยาย / การแก้ไขฟังก์ชันการทำงานหลัก ฯลฯ ) โดยเฉพาะสำหรับร้านค้า Magento ของคุณและไม่ต้องการแบ่งปันกับชุมชน ในเวลาเดียวกันคุณสามารถแทนที่การทำงานในแกนหลักและกลุ่มรหัสชุมชน


5

อธิบาย Magento Codepools

Core pool

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

กลุ่มชุมชน

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

สระว่ายน้ำในท้องถิ่น

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


4

เพิ่มทั้งหมดข้างต้นอย่างง่ายสำหรับการจัดลำดับความสำคัญและมี modularity คุณสามารถตรวจสอบสิ่งเดียวกันได้ใน Mage.php

กำลังโหลดกลุ่มรหัสด้วย

 $paths[] = BP . DS . 'app' . DS . 'code' . DS . 'local';
 $paths[] = BP . DS . 'app' . DS . 'code' . DS . 'community';
 $paths[] = BP . DS . 'app' . DS . 'code' . DS . 'core';
 $paths[] = BP . DS . 'lib';

ดังนั้นก่อนอื่น Local เรียกว่า community แล้ว core และ magento จะไม่ค้นหาไฟล์ core ใด ๆ จากนั้นมันจะค้นหาในโฟลเดอร์ lib ซึ่งมีไฟล์ Zend-Framework Core


1

คำอธิบายที่ดีที่สุดที่ฉันมีคือถ้าคุณต้องการกระจายส่วนขยายของคุณไปยังผู้ชมที่กว้างขึ้นเช่นผ่าน Magento Connect คุณสามารถวางไว้ในชุมชน

สิ่งนี้จะทำให้นักพัฒนาซอฟต์แวร์รายอื่นสามารถแทนที่ลักษณะการทำงานได้โดยการวางคลาสลงในโฟลเดอร์ในเครื่อง

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