- یکشنبه 20 خرداد 1397 ساعت 10:44
- 3.1.9
- در حال تکمیل
- فعال
کنترلرهای یک اپلیکیشن علاوه بر اینکه توسط URL در مرورگر قابل فراخوانی هستند، توسط رابط خط فرمان (CLI) نیز قابل لود شدن هستند.
CLI چیست؟
رابط خط فرمان، شیوهای مبتنی بر متن برای تعامل با کامپیوترها است. برای اطلاعات بیشتر، مقاله ویکیپدیا را مطالعه کنید.
چرا کدایگنایتر را با خط فرمان اجرا کنیم؟
دلایل زیادی برای اجرای کدایگنایتر از طریق خط فرمان وجود دارد، اما این دلایل همیشه بدیهی نیستند.
- دستورات کرونجاب را بدون نیاز به استفاده از wget یا curl اجرا کنید.
- با چک کردن مقدار بازگشتی
is_cli()
، دستورات کرونجاب را از دسترسی با لود مستقیم توسط URL خارج کنید. - تسکهای تعاملی بسازید تا بتوانند کارهایی مانند پرمیشنها، حذف محتویات فولدر کش، بکآپگیری و غیره انجام دهند.
- اپلیکیشن خود را با سایر اپلیکیشنهای سایر زبانها ادغام شوند. برای مثال، یک اسکریپت C++ باید یک کامند را فراخوانی کرده و کدی را در مدلهای شما فراخوانی کند.
بیابید با مثال معرف Hello World امتحان کنیم
یک کنترلر ساده بسازید، تا بتوانید این مثال را در عمل ببینید. با استفاده از IDE یا تکست ادیتور خود، یک فایل با نام Tools.php بسازید و کد زیر را در آن قرار دهید:
<?php
class Tools extends CI_Controller {
public function message($to = 'World')
{
echo "Hello {$to}!".PHP_EOL;
}
}
حالا فایل را در دایرکتوری application/controllers/ ذخیره کنید.
روش معمول برای دسترسی به این متد، استفاده از URLیی شبیه به زیر است:
example.com/index.php/tools/message/to
اما، هدف ما استفاده از خط فرمان است. اگر از مک یا یکی از توزیعهای لینوکس استفاده میکنید، ترمینال را باز کنید و اگر کاربر ویندوز هستید با کلید Win + R محیط Run را فراخوانی کنید و دستور cmd را اجرا کنید تا کامندلاین باز شود و به مسیر پروژه اشاره کنید:
$ cd /path/to/project;
$ php index.php tools message
اگر این کار را به درستی انجام داده باشد، دستور Hello World!
در محیط ترمینال/کامندلاین نمایش داده میشود.
$ php index.php tools message "Mojtaba Pakzad"
در صورتی که مانند مثال بالا یک آرگومنت به متد پاس دهید مانند پارامترهای URL کار میکند. "Mojtaba Pakzad" به عنوان آرگومنت به متد پاس داده شده و متد خروجی زیر را بازگردانده است:
Hello Mojtaba Pakzad!
به همین راحتی!
به طور خلاصه، این همه چیزی بود که باید در مورد کنترلرها در خط فرمان بدانید. به یاد داشته باشید که این کنترلرها، عینا مانند کنترلرهای معمولی هستند، بنابراین مسیریابی و فانکشن _remap ()
به خوبی قابل پیادهسازی هستند و به همان درستی کار میکند.
سایر پستهای داکیومنت
- به کدایگنایتر خوش آمدید
- نصب
- بررسی اجمالی
- شروع به استفاده از کدایگنایتر
- کدایگنایتر در یک نگاه
- فیچرهای کدایگنایتر
- فلوچارت اپلیکیشن
- مدل ویو کنترلر
- اهداف طراحی و معماری
- خودآموز
- مشارکت در کدایگنایتر
- نوشتن مستندات کدایگنایتر در صف ترجمه
- گواهی مبدأ توسعه دهنده 1.1 در صف ترجمه
- مباحث کلی
- URLها در کدایگنایتر
- کنترلرها
- نامهای رزرو شده
- ویوها
- مدلها
- هلپرفانکشنها
- استفاده از لایبرریهای کدایگنایتر
- ساخت لایبرری
- استفاده از درایورهای کدایگنایتر
- ساخت درایور
- ساخت کلاسهای هسته سیستم
- ساخت کلاسهای کمکی
- هوکها - توسعه هسته فریمورک
- بارگذاری خودکار ریسورسها
- فانکشنهای عمومی
- فانکشنهای سازگاری
- مسیریابی URI
- هندل کردن خطاها
- کش کردن صفحات وب
- ارزیابی و تجزیه و تحلیل عملکرد اپلیکیشن
- اجرای کدایگنایتر به وسیله خط فرمان
- مدیریت چندین اپلیکیشن
- هندل کردن محیطهای چندگانه
- سینتکس جایگزین PHP برای فایلهای ویو
- Security در صف ترجمه
- راهنمای کدنویسی در PHP
- لایبرریها در صف ترجمه
- کلاس بنچمارک
- درایور کش در صف ترجمه
- Calendaring Class در صف ترجمه
- Shopping Cart Class در صف ترجمه
- Config Class در صف ترجمه
- Email Class در صف ترجمه
- Encrypt Class در صف ترجمه
- Encryption Library در صف ترجمه
- File Uploading Class در صف ترجمه
- Form Validation در صف ترجمه
- FTP Class در صف ترجمه
- Image Manipulation Class در صف ترجمه
- Image Manipulation Class در صف ترجمه
- Javascript Class در صف ترجمه
- کلاس زبان
- Loader Class در صف ترجمه
- کلاس مایگریشن
- Output Class در صف ترجمه
- Pagination Class در صف ترجمه
- Template Parser Class در صف ترجمه
- Security Class در صف ترجمه
- Session Library در صف ترجمه
- HTML Table Class در صف ترجمه
- Trackback Class در صف ترجمه
- کلاس تایپوگرافی در صف ترجمه
- Unit Testing Class در صف ترجمه
- URI Class در صف ترجمه
- User Agent Class در صف ترجمه
- XML-RPC and XML-RPC Server Classes در صف ترجمه
- کلاس انکود کردن آرشیو Zip در صف ترجمه
- رفرنس دیتابیس در صف ترجمه
- شروع سریع دیتابیس: کد نمونه
- پیکربندی دیتابیس در صف ترجمه
- Connecting to your Database در صف ترجمه
- Queries در صف ترجمه
- Generating Query Results در صف ترجمه
- Query Helper Methods در صف ترجمه
- Query Builder Class در صف ترجمه
- Transactions در صف ترجمه
- Database Metadata در صف ترجمه
- فراخوانی سفارشی فانکشن
- Database Caching Class در صف ترجمه
- Database Forge Class در صف ترجمه
- Database Utility Class در صف ترجمه
- DB Driver Reference در صف ترجمه
- هلپرفانکشنها
- هلپرفانکشن Array
- هلپرفانکشن CAPTCHA در صف ترجمه
- هلپرفانکشن Cookie
- Date Helper در صف ترجمه
- هلپرفانکشن Directory
- Download Helper در صف ترجمه
- Email Helper در صف ترجمه
- File Helper در صف ترجمه
- هلپرفانکشن Form در صف ترجمه
- HTML Helper در صف ترجمه
- Inflector Helper در صف ترجمه
- هلپرفانکشن Language
- هلپرفانکشن Number
- Path Helper در صف ترجمه
- Security Helper در صف ترجمه
- Smiley Helper در صف ترجمه
- هلپرفانکشن String
- Text Helper در صف ترجمه
- Typography Helper در صف ترجمه
- URL Helper در صف ترجمه
- XML Helper در صف ترجمه