أين يمكن وضع فئة الأصل للتحكم في CakePHP؟

StackOverflow https://stackoverflow.com/questions/134470

  •  02-07-2019
  •  | 
  •  

سؤال

لدي وحدتي تحكم تشتركان في معظم التعليمات البرمجية الخاصة بهما (ولكن يجب أن تكونا وحدات تحكم مختلفة).الحل الواضح (بالنسبة لي، على الأقل) هو إنشاء فئة، وجعل وحدتي التحكم ترثانها.الشيء هو...أين تضعه؟الآن لدي في app_controller.php، ولكن هناك نوع من الفوضى.

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

المحلول

في الكعكة، تُستخدم المكونات لتخزين المنطق الذي يمكن استخدامه بواسطة وحدات تحكم متعددة.الدليل هو /app/controllers/components.على سبيل المثال، إذا كان لديك بعض منطق الأداة المساعدة القابلة للمشاركة، فسيكون لديك كائن يسمى UtilComponent وملف في /app/controlers/components يسمى UtilComponent.php.

<?php
class UtilComponent extends Object {
    function yourMethod($param) {
        // logic here.......

        return $param;
    }
}
?>

ثم، في فئات وحدة التحكم الخاصة بك، يمكنك إضافة:

var $components = array('Util');

ثم تقوم باستدعاء الأساليب مثل:

$this->Util->yourMethod($yourparam);

مزيد من المعلومات:

توثيق

نصائح أخرى

راجع للشغل، إذا كان سبب "يجب أن يكونوا وحدات تحكم منفصلة" هو عناوين URL التي تطلبها.تذكر أنه يمكنك استخدام التوجيه:

Router::connect('/posts', array('controller' => 'posts', 'action' => 'index'));
Router::connect('/comments', array('controller' => 'posts', 'action' => 'list_comments'));
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top