niloofar noorbakhsh
niloofar noorbakhsh
خواندن ۳ دقیقه·۳ سال پیش

آموزش Code Igniter- قسمت پنجم

سلام دوباره ?

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

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

خب حالا view چیه و چکار میکنیم باهاش؟

فایلهای view شامل html-css و هر چیزی که با ظاهر وبسایت ربط داره میشه و کاربر از طریق view با pplication ما در ارتباط هست. view مستقیما با controller در ارتباط هست. ازش اطلاعات رو میگیره و بهش اطلاعات رو ارسال میکنه.

امروز میخوایم روی این قضیه بحث کنیم.

اول از همه باید view رو بسازیم و لود کنیم. برای اینکار توی پوشه ی view رفته و یک فایل php درست میکنیم و دستورات مربوط به ظاهر رو توش مینویسیم.

بعد میریم توی controller و مینویسیم

public function show(){

echo view('viewName');

}

که view در واقع helper function برای لود شدن view هست.

ارسال اطلاعات به view:

برای ارسال اطلاعات به view دوتا نکته هست که باید بگیم

اول باید اطلاعات رو داخل آرایه ای بنام data$ بریزیم. مثال:

$data['name']='John'

و بعد به عنوان آرگومان دوم توی فانکشن view مینویسیمش

echo view('viewName',$data);

و اطلاعات به view انتقال پیدا میکنه

نکته ی دوم مربوط به نمایش متغیر است. برای نمایش اطلاعات توی فایل view دیگه data$ رو استفاده نمیکنیم و فقط اسم متغیر رو مینویسیم

به این صورت:

<?php echo $name; ?>

و مقدار متغیر را نشان میدهد.

یک نکته ای که اینجا خیلی به چشم میاد اینه که ما توی application چندین view خواهیم داشت. و توی بیشتر اونها باید کد html تکراری بنویسیم. به عبارتی تمام اونا رو باید توی هر فایل view کپی کنیم. خب این کار درست نیست. توی برنامه نویسی شی گرایی حرف از dry code میزنیم

dry => don't repeat yourself

برای جلوگیری از این کار اون قسمت از کدهامون که توی تمام صفحه ها تکرار میشه مثل header رو توی یک فایل جدا میریزیم

و بعد توی view بالای صفحه با استفاده از دستور include اضافه میکنه.

همانطور که میبینید از APPPATH استفاده کردم که در واقع مسیر application رو تا پوشه ی app میده و بعد هم میگیم که از پوشه ی view فایل مورد نظر ما رو include کنه.

به جای دستور include میتونیم از require یا require_once هم استفاده کنیم.

درست کردن form در CI:

توی CI برای نوشتن فرم با دستور html یک روش دیگه هم هست اونم استفاده از helper function خود CI

برای کار با این helper function قبل از نوشتن تگ form مینویسیم

helper('form');

و بعد برای باز کردن یک تگ فرم اینگونه مینویسیم.

<?php echo form_open('example/show')?>

<?php echo form_close ()?>

و input ها و ... رو وسط این دو خط کد مینویسیم.

از مزایای استفاده از این روش این است که دیگه توی action لازم نیست url کل app رو بنویسیم. فقط اسم controller و method و اگر لازم بود آرگومان ورودی.

برای اضافه کردن attribute به این تگ میتونیم از آرایه ها استفاده کنیم. به این صورت

$attribute=[
'method'=>'POST',
'id'=>'form',
'class'=>'form-controller'
];

و attribute رو به عنوان آرگومان دوم به form_open اضافه میکنیم.

<?php echo form_open('example/show', $attribute)?>

یا اینکه بصورت یک string بنویسیمش.

echo form_open('example/show', 'class="form-controller" id="myform"');

form_textarea, form_input , form_button() ,form_password(), ....

همگی به همین روش نوشته میشوند. attribute هایی که لازم داریم رو توی یک آرایه میریزیم و آرایه رو فانکشن میدیم.

میتونیم هم از هیچکدوم از این المانها استفاده نکنیم و تگ html رو همونطور که هست بنویسیم

<input type="text" name="name">

خب توی قسمت بعد بریم که از فرم اطلاعات بگیریم و داخل database ذخیره کنیم.



codeigniterکدایگنایترآموزشphp
شاید از این پست‌ها خوشتان بیاید