شرح الدرس الاول كود اجنيتر

1-Controller:

انشاء اول Controller

نقوم بفتح اى محرر نصوص ونكتب الكود التالى ونحفظ الصفحة باسم (blog.php) داخل فولدر

application/controllers/

php ?>

class Blog extends CI_Controller

}

()public function index

}

;’echo ‘Hello World

{

{

< ?

-نلاحظ ان (Controller)اسمة(Blog) وهو باسم الملف الذى تم حفظة بة ولابد ان يكون (Capital)والكلاس (Blog) يرث (extends) من (parent class CI_Controller) ولابد ان تكون بهذا الاسم وغير ذلك لن تعمل(Controller)

-(function index) وهى الدالة التى يتم بها كتابة الاكواد وتمثل صفحة داخل الموقع وهى تكتب باى اسم تريدة ولكن (index) هى تمثل الصفحة (index) العادية كاللتى يتم برمجتها بال (HTML) او (PHP) المعتادة فهى صفحة بداية الموقع والان اذهب الى المتصفح لكى ترى الكود السابق عن طريق اللينك التالى

http://localhost/CodeIgniter_2.1.0/blog/index

وبالمثل يمكن عمل اكتر من صفحة عن طريق عمل (function) جديدة وكما ذكر سابقا فكل (function) تعتبر صفحة داخل موقعك ويتم استدعائها بنفس الطريقة السابقة مع تغير اسم(index) بالاسم الذى تسمى بة (function) الجديدة.

2-View:

انشاء اول View

نقوم بفتح اى محرر نصوص ونكتب الكود التالى ونحفظ الصفحة باسم (blogview.php) داخل

application/ views /

<html>

<head>

<title>My Blog</title>

</head>

<body>

<h1>Welcome to my Blog!</h1>

</body>

</html>

ولكن كيفية تشغيل هذا الكود داخل الموقع اولا لابد من تحميل هذا (view) ويتم ذلك عن طريق السطر التالى

;('this->load->view('name

حيث (name)هو اسم (view) الذى قمت بتصميمة والان فلنشغل هذا الكود داخل(controller) الذى قمنا بعملة نحمل(view) كالتالى:

php ?>

class Blog extends CI_Controller

}

()public function index

}

;(“this->load->view(“blogview

{

{

<?

– ارسال داتا من (controller) الى (view ):

)data = array$

,’title’ => ‘My Title’

, ‘heading’ => ‘My Heading’

‘message’ => ‘My Message’

;(

;(this->load->view(‘blogview’, $data

وهو عبارة عن متغير يحمل مصفوفة ويتم تمريرها عبر البارمتر الثانى.

-لاحظ المثال التالى لارسال داتا من (controller) الى(view) واستخدامها فى (view)

php?>

class Blog extends CI_Controller

}

( )function index

}

;”data[‘title’] = “My Real Title$

;”data[‘heading’] = “My Real Heading$

;(this->load->view(‘blogview’, $data$

{

{

?>

:In view

<html>

<head>

<title><?php echo $title;?></title>

</head>

<body>

<h1><?php echo $heading;?></h1>

</body>

</html>

ملاحظة هامة جدا:

;(this->load->view(‘blogview’, $data , true$

فى حالة استخدام البارمتر الثالث (true) يتم ارسال الداتا مباشرة من(controller) الى (browser)

3-Model:

انشاء اول Model

نقوم بفتح اى محرر نصوص ونكتب الكود التالى ونحفظ الصفحة باسم (blogmodel.php) داخل

application/ models/

class Blogmodel extends CI_Model

}

()function get_last_ten_entries

}

; (query = $this->db->get(‘entries’, 10

;()return $query->result

{

()function insert_entry

}

;[‘this->title = $_POST[‘title$

[‘ this->content = $_POST[‘content$

;() this->date = time$

;( this->db->insert(‘entries’, $this$

{

() function update_entry

}

; [‘this->title = $_POST[‘title

;[‘this->content = $_POST[‘content

;() this->date = time$

; (([‘this->db->update(‘entries’, $this, array(‘id’ => $_POST[‘id$

{

{

وسوف يتم شرح الكود السابق بالتفصيل فى الدروس القادمة لكن المهم فهمة ان(model) يتعامل مع قواعد البيانات من حيث الادخال والتعديل والحذف وجلب البيانات من قاعدة البيانات فقط ويتم تحميل (model)بنفس طريقة تحميل(view) كالتالى:

(‘this->load->model(‘Model_name$

حيث Model_name هو اسم الموديل.

Advertisements

4 responses

  1. 🙂 thank you very much for this lesson

  2. I’m not sure exactly why but this site is loading very slow for me.

    Is anyone else having this issue or is it a issue on my end?
    I’ll check back later on and see if the problem still exists.

    1. ok and tell me what happen again

    2. الموقع يستخدم سى اس اس ثرى وانيميشن ودا بيبقى تقيل ع الاجهزه ذات الامكانيات الكحيانه حد يترجملوا 🙂

ضع تعليقك هنا

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: