آموزش CodeIgniter

آیا به دنبال یک آموزش کامل CodeIgniter هستید؟ اگر چنین است ، این مقاله برای شما مناسب است! ما به شما نحوه نصب ، پیکربندی و استفاده از CodeIgniter برای ساخت یک برنامه وب PHP را نشان خواهیم داد.

 

آموزش CodeIgniter

آموزش CodeIgniter

 

علاوه بر این ، شما می خواهید با MVC (Model-View-Controller) و اهمیت آن در توسعه وب مدرن آشنا شوید.

  • CodeIgniter چیست؟
  • نحوه نصب CodeIgniter
  • نحوه پیکربندی CodeIgniter
  • پیکربندی میزبانهای مجازی در VPS
  • درک MVC
  • اصول مسیریابی
  • کتابخانه ها

با CodeIgniter یک برنامه ساده ایجاد کنید

  • مرحله 1: ایجاد جدول phpMyAdmin
  • مرحله 2: ایجاد مدل
  • مرحله 3: ایجاد کنترل کننده
  • مرحله 4: ایجاد نما

CodeIgniter چیست؟

CodeIgniter یک چارچوب وب منبع باز برای PHP است. این کتابخانه ها و بسته های زیادی را فراهم می کند ، بنابراین شما مجبور نیستید برنامه های وب و صفحات وب را از ابتدا بسازید.

این چارچوب PHP همچنین لایه هایی از منطق را به برنامه های وب شما اضافه می کند. به لطف معماری MVC (Model-View-Controller) شما می توانید یک طرح تمیزتر بسازید و فرآیندهای خاصی را در چرخه توسعه موازی کنید. بعداً در این باره بیشتر صحبت خواهیم کرد.

برای نصب CodeIgniter ، باید به میزبانی مشترک یا VPS خود دسترسی SSH داشته باشید. می توانید از PuTTY (Windows) یا پوسته ترمینال داخلی (Linux و macOS) استفاده کنید.

بیایید این آموزش CodeIgniter را شروع کنیم.

در صورت نیاز به مکانی مطمئن و مقرون به صرفه برای میزبانی برنامه عالی CodeIgniter ، VPS و برنامه میزبانی مشترک ما را بررسی کنید!

نحوه نصب CodeIgniter

نصب CodeIgniter به یک محیط LAMP نیاز دارد.

این پشته برنامه از قبل در میزبانی مشترک میزبان موجود است. با این حال ، اگر از VPS استفاده می کنید ، ممکن است بخواهید نحوه نصب LAMP را روی اوبونتو یا CentOS بیاموزید .

پس از آماده شدن همه چیز ، می توانید این مراحل را دنبال کنید:

از طریق SSH به حساب میزبانی خود متصل شوید. سپس ، با تایپ کردن به پوشه public_html بروید :

cd / public_html

آخرین توزیع CodeIgniter را با این دستور بارگیری کنید:

wget https://github.com/bcit-ci/CodeIgniter/archive/3.1.11.zip

در این آموزش CodeIgniter ، آخرین نسخه پایدار 3.1.11 است. برای دیدن نسخه جدیدتر می توانید از صفحه رسمی بازدید کنید .

اگر از میزبان اشتراکی مشترک استفاده می کنید ، می توانید مستقیماً فایل CodeIgniter را با وارد کردن دستور زیر از حالت فشرده خارج کنید:
از حالت فشرده خارج کنید
متأسفانه ، ممکن است zip در VPS از قبل نصب نشود. بنابراین ، قبل از اجرای دستور فوق باید آن را نصب کنید:

sudo apt-get نصب zip

دایرکتوری به نام CodeIgniter-3.1.11 را مشاهده خواهید کرد . پیشنهاد می کنیم برای راحتی کار نام این پوشه را تغییر دهید:

mv /var/www/CodeIgniter-3.1.11 / var / www / codeigniter
مرورگر خود را باز کرده و مسیر پوشه مذکور را وارد کنید:

https://yourdomain.com/codeigniter

شما باید صفحه خوش آمد گویی CodeIgniter را مشاهده کنید ، این بدان معنی است که این چارچوب با موفقیت روی سیستم شما نصب شده است.

نحوه پیکربندی CodeIgniter

در این بخش از آموزش CodeIgniter ، شما نحوه پیکربندی چارچوب هاست مشترک و VPS را یاد خواهید گرفت. برای کاربران مورد دوم ، ما همچنین قصد داریم نحوه ایجاد یک میزبان مجازی برای این چارچوب PHP را توضیح دهیم.

اول از همه ، ما باید یک پایگاه داده جدید MySQL ایجاد کنیم:

در hPanel هاستینجر ، به بخش Databases رفته و پایگاه داده MySQL را انتخاب کنید . نام پایگاه داده و نام کاربری خود را وارد کنید و سپس ایجاد را فشار دهید .
برای ایجاد یک پایگاه داده MySQL در منوی MySQL در hPanel میزبان
از طریق SSH وارد حساب میزبانی خود شوید و فایل database.php را در توزیع CodeIgniter باز کنید:

nano /codeigniter/application/config/database.php

بخش زیر را در پرونده پیدا کرده و جزئیات را با اطلاعات پایگاه داده جدید ایجاد شده ( نام کاربری ، رمز عبور ، پایگاه داده ) جایگزین کنید . بقیه مقادیر باید شبیه به این مثال باشند:

$db[‘default’][‘hostname’] = ‘mysql.hostinger.com’;
$db[‘default’][‘username’] = ‘u499474900_user’;
$db[‘default’][‘password’] = ‘password’;
$db[‘default’][‘database’] = ‘u499474900_database’;
$db[‘default’][‘dbdriver’] = ‘mysql’;
$db[‘default’][‘dbprefix’] = ”;
$db[‘default’][‘pconnect’] = TRUE;
$db[‘default’][‘db_debug’] = TRUE;
$db[‘default’][‘cache_on’] = FALSE;
$db[‘default’][‘cachedir’] = ”;
$db[‘default’][‘char_set’] = ‘utf8’;
$db[‘default’][‘dbcollat’] = ‘utf8_general_ci’;
$db[‘default’][‘swap_pre’] = ”;
$db[‘default’][‘autoinit’] = TRUE;
$db[‘default’][‘stricton’] = FALSE;
با فشار دادن CTRL + X پرونده را ذخیره کرده و Y را برای تأیید تغییرات وارد کنید .

نام دامنه خود را با اصلاح فایل config.php CodeIgniter تنظیم کنید. به سادگی این دستور را وارد کنید:
nano codeigniter / application / config.php
خط زیر را پیدا کنید:
$ config [‘base_url’] = ‘http://yourdomain.com’؛
مقدار را به نام دامنه واقعی خود تغییر دهید. پس از آن ، با تایپ CTRL + X و سپس Y فایل را ذخیره کنید .

اکنون شما با موفقیت پایگاه داده خود را با CodeIgniter همگام سازی کرده اید!

پیکربندی میزبانهای مجازی در VPS

اگر CodeIgniter را روی میزبان اشتراکی مشترک میزبان نصب می کنید ، از این قسمت صرف نظر کنید.

کاربران VPS این امکان را دارند که چندین برنامه CodeIgniter را روی یک نام دامنه اجرا کنند. برای انجام این کار ، باید میزبانهای مجازی را پیکربندی کرده و تنظیمات CodeIgniter را تغییر دهیم.

اطمینان حاصل کنید که ریشه سند شما با فهرست نصب CodeIgniter همگام سازی شده است. با باز کردن پرونده میزبان مجازی می توانید این کار را انجام دهید:
sudo nano / etc / apache2 / sites-enabled / 000-default
به دنبال بلوک زیر باشید:
<VirtualHost *: 80>
DocumentRoot / path / to / codeigniter
[…….] <VirtualHost *: 80>
تغییر / راه / به / از codeigniter با مسیر واقعی از دایرکتوری نصب کدایگنایتر خود را. با انجام این کار ، کلیه URL های شما به این پوشه هدایت می شوند. با فشار دادن CTRL + X و Y تغییرات را ذخیره کنید .
تبریک می گویم ، شما با موفقیت یک میزبان مجازی جدید ایجاد کرده اید! اکنون ، برای یک فرآیند توسعه کارآمد تر ، باید index.php را از قالب URL CodeIgniter خلاص کنیم .

فایل config.php را باز کنید:
nano codeigniter / application / config / config.php
خط زیر را جایگزین کنید:

$ config [‘index_page’] = ‘index.php’؛
با این:

$ config [‘index_page’] = ”؛
برای اطمینان از اینکه خطایی دریافت نخواهید کرد ، باید با اصلاح پرونده .htaccess درخواست های آینده را دوباره مسیر کنید. اما ابتدا باید بررسی کنید که mod_rewrite فعال است یا خیر :
apache2ctl -M
با دستور بالا قابلیت های سرور تولید می شود. اگر mod_rewrite را در لیست پیدا کردید ، به مرحله بعد بروید. در غیر این صورت ، این خط را اجرا کنید:

a2enmod بازنویسی کنید
سپس ، Apache را دوباره راه اندازی کنید:

sudo service apache2 راه اندازی مجدد
یک پرونده .htaccess در پوشه اصلی CodeIgniter ایجاد کنید:
nano codeigniter / .htaccess
خطوط زیر را در پرونده جایگذاری کنید. ذخیره و خروج.
بازنویسی موتور روشن
RewriteCond٪ {REQUEST_FILENAME}! -f
RewriteCond٪ {REQUEST_FILENAME}! -d
RewriteRule. * index.php؟ / $ 0 [PT ، L] به Apache اطلاع دهید که باید به دنبال پرونده .htaccess تازه ایجاد شده بگردد . برای رسیدن به این هدف ، دوباره پرونده میزبان مجازی را باز کنید:
sudo nano / etc / apache2 / sites-enabled / 000-default
مطابق شکل زیر مطمئن شوید که AllowOverride روی همه تنظیم شده است:

<Directory>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

پس از تأیید ، پرونده را ذخیره کنید.

اگر به درستی انجام شود ، دیگر pesky index.php نخواهید دید و URL شما تمیزتر به نظر می رسد.

درک MVC

قبل از اینکه ما آموزش CodeIgniter خود را ادامه دهیم و یاد بگیریم که چگونه یک برنامه را با چارچوب بسازیم ، باید درک اولیه ای از MVC و مفاهیم آن داشته باشید.

به زبان ساده ، MVC یک الگوی معماری توسعه وب است. این توصیه می کند که منطق تجارت در هر برنامه ای باید از ارائه جدا شود.

MVC یک برنامه را به سه قسمت کاربردی تقسیم می کند:

Models – با پایگاه داده شما سروکار دارد ، محاسبات را انجام می دهد و موارد دیگر. به طور خلاصه ، جایی است که منطق تجارت شما واقع شده است.
Views – لایه ارائه برنامه را تشکیل می دهد ، جایی که داده های مدل های شما جاسازی شده است.
کنترل کننده ها – برای اتصال مدل ها و نماها استفاده می شود . یک کنترل کننده درخواست های کاربر را به مدل مناسب هدایت می کند. پس از آن ، هنگامی که مدل کار خود را انجام داد ، کنترل کننده نمای مربوطه را بارگیری می کند .
این الگوی معماری همچنین به توسعه دهندگان امکان استفاده مجدد از کد برای چندین نمایش را می دهد. به عنوان مثال ، می توانید همان نوار ناوبری را در هر صفحه وب از برنامه خود اعمال کنید.

علاوه بر این ، از آنجا که هر دو دیدگاه و مدل کاملاً از هم جدا هستند ، توسعه دهندگان جلویی می توانند به طور موازی با تیم back-end کار کنند تا روند توسعه را تسریع کنند.

توجه داشته باشید که CodeIgniter همچنین در برنامه نویسی شی گرا (OOP) مشترک است. بدین ترتیب ، مدل ها و کنترل کننده ها کلاس های PHP هستند که کلاس های پایه ارائه شده توسط چارچوب را گسترش می دهند.

نمایش ها نیز فایل های PHP به نام، اما بخش عمده ای از محتوای آنها است HTML / CSS . فقط چند قطعه کد PHP وجود دارد که برای نمایش داده ها از مدل ها استفاده می شود.

اصول مسیریابی

این نحوه CodeIgniter رشته های URL خود را قالب بندی می کند:

<base_url> /index.php/ <controller_name> / <controller_function> / <function_parameter_1> /> / <function_parameter_2>
در بخش قبلی ، ما به شما نشان داده ایم که چگونه index.php را از قالب حذف کنید . در نتیجه ، URL شما باید شبیه به این مثال باشد:

http://www.yourdomain.com/welcome/tester/1
در اینجا ، Welcome یک کلاس کنترل کننده است که مربوط به یک فایل کنترلر به نام welcome.php است . این کلاس تابع () tester را فراخوانی می کند و ‘ 1 ‘ را به عنوان یک پارامتر رد می کند. پارامترهای بیشتری را می توان به روشی مشابه و با برش از هم جدا کرد.

همانطور که مشاهده می کنید ، مسیریابی در CodeIgniter بدون دردسر انجام می شود. می توانید در اطراف بازی کنید و مسیریابی پیچیده تری ایجاد کنید.

کتابخانه ها

CodeIgniter شما را به استفاده مجدد از کتابخانه های موجود و توابع کمکی برای انجام کارهای معمول ترغیب می کند.

این چارچوب همچنین به شما امکان می دهد تصمیم بگیرید کدام کتابخانه را بارگیری کنید و چه زمانی آنها را بارگیری کنید. این فرآیند درخواستی باعث کاربردهای سریع ، سبک و غنی از ویژگی می شود.

بارگیری کتابخانه در CodeIgniter آسان است. به عنوان مثال ، برای بارگذاری کتابخانه پایگاه داده ، به سادگی خط زیر را در مدل یا کنترل کننده خود وارد کنید:

$ this-> load-> پایگاه داده ()؛
با این حال ، ما پیشنهاد می کنیم که در هنگام راه اندازی برنامه ، کتابخانه ها و راهنماهای مشترک را بارگیری خودکار کنید ، بنابراین هر زمان که به آنها نیاز پیدا کنید ، آماده خواهند شد. به عنوان مثال می توان به کتابخانه پایگاه داده و عملکرد کمکی URL اشاره کرد .

برای بارگیری خودکار کتابخانه ها و راهنماها این مراحل را دنبال کنید:

پرونده بارگیری خودکار را باز کنید:
nano application / config / autoload.php
تغییر مقدار بارگیری خودکار:
برای بارگیری خودکار کتابخانه پایگاه داده ، خط زیر را جایگزین کنید:

$autoload['libraries'] = array();
با این:

$autoload[‘libraries’] = array(‘database’);
برای بارگیری خودکار راهنمای URL ، خط زیر را جایگزین کنید:

$autoload['helper'] = array();

با این:

$autoload[‘helper’] = array(‘url’);
می توانید کتابخانه های اضافی را با استفاده از روش () array بارگیری کرده و آنها را با کاما جدا کنید.

CTRL + X را فشار دهید تا پرونده ذخیره شود و Y برای تأیید تغییرات ذخیره شود.

با CodeIgniter یک برنامه ساده ایجاد کنید

در این مرحله از آموزش CodeIgniter ما ، شما باید یک توزیع فعال CodeIgniter داشته باشید. همچنین باید بدانید که مدل ها ، نماها و کنترل کننده ها چگونه کار می کنند. اکنون ، ما می خواهیم از این اطلاعات برای ایجاد یک برنامه وب ساده CodeIgniter استفاده کنیم.

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

پس از دستیابی به روند اساسی ، می توانید پیش بروید و شروع به ساخت برنامه های وب غنی تر کنید.

مرحله 1: ایجاد جدول phpMyAdmin

در زیر مراحل ایجاد جدول با phpMyAdmin آورده شده است. این جدول ضروری است زیرا اساس برنامه ما را تشکیل می دهد.

وارد حساب کاربری خود شوید. به بخش پایگاه داده بروید و php MyAdmin را انتخاب کنید .
به دنبال پایگاه داده ای باشید که با CodeIgniter همگام سازی کرده اید و Enter phpMyAdmin را بزنید.
منوی phpMyAdmin در hPanel برای ایجاد جدول برای CodeIgniter
در زیر منوی ایجاد جدول ، نام جدول و تعداد ستون های خود را وارد کنید. برای آموزش CodeIgniter ، نام آن را بررسی می گذاریم و از سه ستون استفاده می کنیم . پس از آن ، برو را انتخاب کنید .
رابط منوی phpMyAdmin
سه ستون شناسه ، عنوان و درجه هستند . قسمتهای دیگری مانند مثال زیر را پر کنید و Save را فشار دهید .
جزئیات جدول phpMyAdmin

مرحله 2: ایجاد مدل

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

از طریق SSH وارد حساب خود شوید.
مدل ها در codeigniter / برنامه ها / مدل ها قرار می گیرند ، بنابراین با ساختار فهرست برنامه شما اشتباه نمی گیرند. از این رو ، شما باید به آن فهرست بروید و یک فایل PHP جدید به نام R eviews_model.php ایجاد کنید :

cd codeigniter/applications/models
nano Reviews_model.php

کد زیر را در پرونده R eviews_model.php جایگذاری کنید:
<?php
class News_model extends CI_Model {
}
?>
همانطور که مشاهده می کنید ، کلاس مدل شما ( News_model ) کلاس عمومی Cl_Model را که توسط CodeIgniter ارائه شده است ، گسترش می دهد . توجه داشته باشید که CodeIgniter نیاز دارد که تمام نام کلاس ها با یک حرف بزرگ شروع شود.

ما باید کتابخانه بانک اطلاعاتی را که به ما در کار با پایگاه داده کمک می کند ، بارگیری کنیم. می توانید از روش سازنده مدل استفاده کنید ، که از همان ابتدا کتابخانه را بارگیری می کند. برای انجام این کار ، کد زیر را در پایین پرونده R eviews_model.php (در زیر کلاس نشان داده شده در مرحله 3) قرار دهید:
public function __construct() {
$this->load->database();
}
پایگاه کتابخانه در حال حاضر به همه متدهای کلاس قابل مشاهده است.

روش دیگری ایجاد کنید که از کتابخانه پایگاه داده برای جستجوی پایگاه داده استفاده کند:
public function get_reviews($id) {
if($id != FALSE) {
$query = $this->db->get_where(‘Reviews’, array(‘id’ => $id));
return $query->row_array();
}
else {
return FALSE;
}
}
کد بالا شناسه را به عنوان آرگومان دریافت می کند و تمام اطلاعات را در ستون های مرتبط با آن شناسه برمی گرداند. به عبارت دیگر ، هر وقت درخواست بازبینی فیلم را داریم ، این روش فراخوانی می شود.

با فشار دادن CTRL + X و Y پرونده را ذخیره کنید .

مرحله 3: ایجاد کنترل کننده

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

برای ایجاد یک کنترلر جدید ، به فهرست Application / controllers بروید و فایلی با نام R eviews.php ایجاد کنید :
cd codeigniter/application/controller
nano Reviews.php
بخاطر داشته باشید ، کنترل کننده های CodeIgniter نیاز دارند که پرونده همان نام کلاس موجود در آن باشد.

کد زیر را در پرونده جایگذاری کنید:
<?php
class Reviews extends CI_Controller {
}
?>
داده هایی را که از مدل ما بازیابی می شود ، بسته بندی کرده و به نما منتقل کنید . برای دستیابی به این هدف ، روشی به نام show () ایجاد خواهیم کرد. داده ها را به ساختار تازه ایجاد شده متصل می کند و نمای را بارگیری می کند . نحوه مشاهده کد به شرح زیر است:
public function show($id) {
$this->load->model(‘Reviews_model’);
$reviews = $this->RFrevieweviews_model->get_reviews($id);
$data[‘title’] = $reviews[‘title’];
$data[‘grade’] = $reviews[‘grade’];
$this->load->view(‘Movie_review’, $data);
}
$ داده آرایه یک آرایه انجمنی است. کلیدها – عنوان و درجه – با مقادیری که از پایگاه داده دریافت می شود مطابقت دارند. این آرایه به movie_review منتقل می شود و نمای متعاقباً بارگیری می شود.

مرحله 4: ایجاد نمای

سرانجام ، ما باید نمایی ایجاد کنیم که بررسی های درخواستی فیلم را نمایش دهد.

وارد پوشه برنامه / views شوید و پرونده جدیدی با عنوان M ovie_review.php ایجاد کنید :

cd codeigniter/application/views

nano Movie_reviews.php

به یاد داشته باشید ، نام فایل باید مطابق با نمایشی باشد که به کنترل کننده گفتید تا بارگذاری کند (آخرین خط روش () ).

کد زیر را جایگذاری کنید و پرونده را ذخیره کنید:
<?php
print $title;
print $grade;
?>
مشاهده خواهد شد که اطلاعات تصویب شده توسط کنترل در صفحه نمایش $ داده آرایه. نتایج بسیار زیبایی نخواهد بود زیرا ما یک ظاهر طراحی را به نمای خود اضافه نکرده ایم. با این حال ، بعداً می توانید یک استایل خطی اضافه کنید یا یک صفحه سبک CSS را به نمایش بگذارید .

برنامه نمونه ما کامل است. شما باید بتوانید این برنامه را با وارد کردن URL زیر در مرورگر خود اجرا کنید:

http://yourdomain.com/reviews/show/1
برنامه وب با کنترل کننده بررسی ها که در مرحله 3 ایجاد کرده ایم ، تماس می گیرد و همچنین روش show () را با پارامتر ورودی 1 فراخوانی می کند.

این پارامتر برای واکشی اطلاعات پایگاه داده در مورد یک فیلم با شناسه 1 استفاده می شود. در نتیجه ، شما باید عنوان و درجه فیلم اول را در پایگاه داده مشاهده کنید.

نتیجه

CodeIgniter یک چارچوب قوی برای توسعه دهندگان PHP است. با معماری MVC آن ، می توانید یک برنامه وب سبک و با ویژگی کارآمدتر ایجاد کنید. علاوه بر این ، همچنین مجموعه وسیعی از کتابخانه ها را در اختیار شما قرار می دهد که به شما کمک می کند محصول خود را سریعتر توسعه دهید.

 

مطالب مرتبط :