سؤال

عدت للتو عبر عقيدة المشروع الذي يحتوي على الكائن العلائقية معين و DB طبقة تجريد.ماذا يعني مبدأ توفير الأخرى PHP التجريد طبقات لا ؟ و ما فائدة عملية يمكن أن تضع ORM ، وبصرف النظر عن جلب الأشياء عن طريق الاستعلامات في عقيدة الاستعلام اللغة ؟ هو لغة الاستعلام حقا شيء كنت ترغب في تطوير كامل التطبيق على شبكة الإنترنت ؟ هل أداء جيدا ؟

على العموم لا بناء التطبيق على عقيدة تجعل من الأسهل للحفاظ على تفهم ؟ هو أكثر من تصميم و بناء على طبقة تجريد معقولة للشركات الصغيرة والمتوسطة الحجم المشاريع ؟ (<50 الشاشات واجهة المستخدم الرسومية) ، بدلا من مباشرة العمل مع MySQL.

هل كانت مفيدة؟

المحلول

ماذا يعني مبدأ توفير الأخرى PHP التجريد طبقات لا ؟

  1. تنفذ DataMapper نمط بدلا ActiveRecord.
  2. يدعم الشروح, XML و YAML المخطط.
  3. يستخدم DQL.
  4. يستخدم فوائد PHP 5.3+.
  5. سريعة و كبيرة في المجتمع.
  6. إلا ORM هناك ODM.

هو لغة الاستعلام حقا شيء كنت ترغب في تطوير كامل التطبيق على شبكة الإنترنت ؟

مجرد جزء من تطبيق المسؤولة عن الحفاظ على الأعمال الكائنات يجب أن تكون على بينة من وجود المذهب.و هذا الجزء لا يجب أن تكون 100% عقيدة القائم.

على العموم لا بناء التطبيق على عقيدة تجعل من الأسهل للحفاظ على تفهم ؟

بالتأكيد.رمز هو أسهل من قراءة وفهم المحافظة.

هو على هندستها و هو معقولة للشركات الصغيرة والمتوسطة الحجم المشاريع ؟

في الواقع مبدأ بسيط جدا في أساسياتها.وهو خيار جيد جدا للشركات الصغيرة والمتوسطة وحتى بعض التطبيقات الكبيرة.


العقيدة ليست الإجابة عن كل شيء و في بعض الأحيان انها قليلا إشكالية.لكن المهام النموذجية انها مفيدة للغاية.IMHO أفضل ORM/ODM PHP في هذه اللحظة.

نصائح أخرى

أود أن أضيف بعض النقاط Crozin الجواب, ولكن للأسف لا يمكن التعليق عليه.ها هم:

  • عقيدة لا تستخدم طرق سحرية __الحصول على() و __مجموعة() للوصول إلى كيان سمات كل كيان سمات يجب أن يكون حاصل / واضع.هذا يحسن IDE إنجاز قانون و لا تحتاج أن ننظر إلى DB بنية الجدول في كل وقت.
  • عقيدة تماما ملخصات لك من واقع الجدول أسماء الحقول.بمجرد تعيين كيان خصائص DB المجالات - استخدام الأسماء الملكية في كل مكان.نفس الجدول أسماء.
  • عقيدة يستخدم مستودع النمط الذي يخفي تفاصيل الحصول على الكيانات.
  • عقيدة تستخدم "رمز" النهج, لذلك يمكنك إنشاء كيانات أولا ثم إنشاء قاعدة بيانات لهم تلقائيا.عكس الحالة هو ممكن أيضا.
  • عقيدة قوية "منشئ الاستعلام" ، بحيث يمكنك استخدام منشئ نمط الاستفسارات مع أجزاء المشروط.
  • عقيدة يستخدم المفاتيح الخارجية والقيود إلى تنفيذ سلسلة من الإجراءات والحفاظ على البيانات متسقة.
  • المبدأ UnitOfWork جدا رائعة و ذكية الشيء الذي لا مثيل له في الأخرى php ORMs

IMHO في لحظة عقيدة يوفر أفضل IDE إنجاز قانون دعم DB طبقة التجريد بين جميع php ORMs المتاحة.ليس على هندستها و يلي مبادئ قوية.

أود أن أضيف نقطة إلى GerKirill الجواب.غياب الدعم السحر جالبة/أساليب اضع نقطة ضعف, IMHO لا قوة.إذا كنت من أي وقت مضى تمريره من خلال العشرات من صفحات متطابقة حاصل/واضعي ، سوف ندرك أن هذه الأساليب هي مضيعة هائلة من الفضاء (ناهيك عن وقت الترجمة).لا أحد بطريق الخطأ مجموعات كائن متغير ، واضع لا يمنعك من فعل ذلك ...عندما تريد تغيير مكان الإقامة ، يمكنك فقط استدعاء واضع (كيف اضع "حماية" الملكية -- إذا كنت تسير على جعل خطأ مطبعي مباشرة مجموعة الخطأ قيمة العقار ، سوف تجعل نفس الخطأ المطبعي و دعوة خاطئة واضع).و هو نادر جدا بالنسبة اضع أو جالبة أن تفعل أي شيء آخر غير الحصول على أو تعيين الخاصية.إذا كان لديك أن تفعل شيئا خاصا لتعيين أو الحصول على الممتلكات ، أن المنشأة يجب أن تكون طريقة (انظر http://www.yegor256.com/2014/09/16/getters-and-setters-are-evil.html) ، أو يجب أن تكون إعادة بيع ديون رمز ، أو يجب أن تكون الدعوة خاصية التحقق من صحة وظيفة (عموما في الوقت الذي يتم إنشاء كائن).هذا هو واحد من تلك الامم المتحدة الطعن البديهية التي تصيب OO العالم.التفكير في الأمر قبل نشر القياسية الواردة-الحكمة الرد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top