الدرس الثامن فى الكيك

فى هذا الدرس سوف نشرح باذن اللة كل (method) الخاصة بال (controller):

-part one-

class Controller:

Controller::beforeFilter()

This function is executed before every action in the controller.

Controller::beforeRender()

Called after controller action logic, but before the view is rendered.

Controller::afterFilter()

Called after every controller action, and after rendering is complete.

Controller Methods:

1- Controller::set(string $var, mixed $value):

(a)$this->set(’color’, ’pink’); // in controller<? php echo $color;?>. // in view

الدالة (set) تستخدم فى تخزين داتا اى تعمل كمتغير حيث البارمتر الاول هو عبارة عن اسم المتغير والبارمتر الثانى هو قيمة المتغير ويمكن تخزين اكثر من متغير اى استخدامها فى شكل المصفوفة التالية:

(b)$data = array (

’color’ => ’pink’,

’type’ => ’sugar’,

’base_price’ => 23.95

);

$this->set($data);

<? php echo $color;?>

<? php echo $type;?>

<? php echo $base_price;?>

2-Controller::redirect(mixed $url, integer $status, boolean $exit):

الدالة (redirect) تستخدم للتوجية او الانتقال الى صفحات اخرى داخل الموقع ويكون استخدامها كالتالى :

$this->redirect(array(’controller’ => ’orders’, ’action’ => ’thanks’));

حيث هى عبارة عن مصفوفة تاخذ اسم (controller) + اسم (action) او يمكن استخدامها بطرق اخرى كالتالى :

$this->redirect(’/orders/thanks’));$this->redirect(’http://www.example.com’);

$this->redirect(array(’action’ => ’edit’, $id));

$this->redirect(array(’controller’ => ’orders’, ’action’ => ’confirm’, ’?’ => array(’product’ => ’pizza’));

3-Controller::render(string $view, string $layout):

$this->render();

الدالة (render) تستخدم فى تشغيل اى صفحة موجودة فى ملف (view) من (controller) فمثلا اذا كانت لدينا صفحة داخل (view) اسمها (search.ctp) فيمكن تشغلها من (controller) عن طريق الكود التالى:

class postsController extends AppController {

public function search() {

$this->render();

}

}

ولكن اذا كانت صفحة (search.ctp) موجودة داخل فولدر (Elements) الموجود داخل فولدر (view) فيتم تشغيلة بالطريقة التالية:

$this->render(’/Elements/search’);

4-Controller::postConditions(array $data, mixed $op, string $bool, boolean $exclusive):

الدالة (postConditions) تستخدم لوضع شرط فمثلا اذا كان لدينا جدول داخل قاعدة البيانات اسمة (order) ونريد ان نجلب كل الداتا داخلة لكن بشرط ان يكون رقم (order) اكبر من عدد معين فيكون كالتالى:

$conditions =$this->postConditions($this->request->data,

array(’num_order’ => ’>=5’)

);

$orders = $this->Order->find(’all’, compact(’conditions’));

Advertisements

ضع تعليقك هنا

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: