آموزش فریمورک Codeigniter - جلسه 2: ساخت اولین برنامه

بهمن 08 بهمن 1395 20 دیدگاه 662 بازدید

در جلسه اول با نصب و راه اندازی فریمورک کد ایگنایتر آشنا شدیم و در این جلسه می خواهیم اولین برنامه خودمون رو با این فریمورک بنویسیم.

 

گام اول: کنترلر پیش فرض

کد ایگنایتر به صورت پیش فرض از کنترلر Welcome استفاده میکنه و ما باید اون رو ویرایش کنیم. برای ویرایش این کنترلر به آدرس زیر بروید:

C:\xampp\htdocs\ci3\application\controllers\Welcome.php

آن را با ادیتور باز کنید و پس از باز کردن با محتویات به صورت زیر رو به رو خواهید شد:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {

	/**
	 * Index Page for this controller.
	 *
	 * Maps to the following URL
	 * 		http://example.com/index.php/welcome
	 *	- or -
	 * 		http://example.com/index.php/welcome/index
	 *	- or -
	 * Since this controller is set as the default controller in
	 * config/routes.php, it's displayed at http://example.com/
	 *
	 * So any other public methods not prefixed with an underscore will
	 * map to /index.php/welcome/<method_name>
	 * @see http://codeigniter.com/user_guide/general/urls.html
	 */
	public function index()
	{
		$this->load->view('welcome_message');
	}
}

متود پیش فرض کنترلر index هست و یک view با نام welcome_message را که در فایلی در مسیر زیر قرار دارد را صدا می زند:

C:\xampp\htdocs\ci3\application\views\welcome_message.php

این فایل را باز کرده و متن زیر را در آن paste کنید:

<h1>Welcome To My Site</h1>

حالا مجددا به آدرس زیر رفته:

http://localhost/ci3/

و تغییرات را مشاهده خواهید کرد.

 

گام دوم: ساخت یک متود جدید

می خواهیم در این قسمت یک متود جدید در کنترلر Welcome بسازم. اسم این کنترلر را hello می گذارم و کد زیر را در داخل کنتلر قرار می دهم:

	public function hello($name)
	{
		echo "hello world, $name";
	}

حالا اگر به آدرس زیر مراجعه کنید با پیام "hello world" مواجه خواهید شد.

http://localhost/ci3/welcome/hello/meysam

آدرس بالا به ما نشان می دهد که کنترلری با نام welcome داریم و در این کنترلر متودی با نام hello و متود ما یک پارامتر قبول میکند با نام $name  که این پارامتر می تواند هر اسمی باشد.

در فریمورک کد ایگنایتر لزومی ندارد که حتما ما یک فایل view داشته باشیم و می توانیم مستقیما از کنترلر اطلاعات خروجی بگیریم واطلاعات را هر فرمت دلخواهی به سمت کاربر ارسال کنیم.

گام سوم: استفاده از یک view 

می خواهیم یک فایل view بسازیم و این بار در متود hello آن را فراخوانی کنیم. مجدد وارد کنترلر Welcome میشویم و این بار متود hello رو به صورت زیر تغییر میدهیم:

public function hello($name)
{
    $data['name'] = $name;
    $this->load->view('hello', $data);
}

برای فراخوانی یک view در کد ایگنایتر از متود view استفاده میشود. اولین پارامتر این متود نام فایل بدون پسوند php است. همانطور که در بالا می بینید اولین پارامتر ما یک view با نام hello است که می بایست آن را در مسیر زیر بسازید:

C:\xampp\htdocs\ci3\application\views\hello.php

پس از ساختن فایل بالا آن را با یک ویرایشگر متن باز کنید و کدهای زیر را در داخل آن قرار دهید:

<h1>Hello <?= $name; ?></h1>
<h2>Welcome To My Website</h2>

دومین پارامتر متود view که اختیاری و حاوی اطلاعاتی است که از جانب کنترلر به view ارسال می شود یا در اصطلاع پاس داده می شود.

اطلاعات ارسالی می بایست به صورت آرایه باشد و هر نامی که در آرایه وجود دارد در view به صورت متغیر در دسترس خواهد بود. به آدرس زیر رفته و تغییرات جدید را مشاهده کنید:

http://localhost/ci3/welcome/hello/amir

 

گام چهارم: ساخت یک کنترلر جدید

پس از ساخت متود جدید برای کنترلر welcome و ساخت view برای آن می خواهیم یک کنترلر جدید با نام Home بسازیم. یک فایل با نام Home.php در مسیر زیر ایجاد کنید:

C:\xampp\htdocs\ci3\application\controllers\Home.php

سپس کدهای زیر را در آن قرار دهید:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Home extends CI_Controller {

	public function index()
	{
		echo 'hello, this is home page!';
	}
}

دقت کنید که نام فایلها حتما به صورت Capital یعنی اولین حرف آن با حروف بزرگ شروع شود. اسم کلاس هم همچنین.

حالا برای نمایش به آدرس زیر بروید:

http://localhost/ci3/home

نکته 1: در صورتی که در آدرس فقط نام کنترلر را بنویسیم متود پیش فرض index اجرا خواهد شد.

نکته 2: شما می تونید view های خودتون رو در فولدرهای دیگری قرار بدید و اینطوری اون رو فراخوانی کنید:

$this->load->view('folder/viewname');

 

گام پنجم: تغییر کنترلر پیش فرض

شاید از خودتون بپرسید چطور میتونم کنترلر Home را جایگزین کنترلر پیش فرض کد ایگنایتر کنم؟ این کار ساده است کافیه به آدرس زیر بروید :

C:\xampp\htdocs\ci3\application\config

حالا فایل routes.php را به صورت زیر ویرایش کنید:

$route['default_controller'] = 'home';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

 

خلاصه این جلسه:

در این جلسه آموزش کار با  کنترلر ، view ، پاس دادن داده به view از طریق کنتلر و تغییر کنترلر پیش فرض را یاد گرفتیم. در جلسه بعد می خواهیم برنامه خودمون رو به دیتابیس متصل کنیم و داده هایی را از دیتابیس بخونیم.

 

مشتاقانه آماده شنیدن نظرات و پیشنهادات شما هستیم.

 

  دیدگاه خود را ثبت کنید