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

Extension یا افزونه ها در فریمورک Yii


Extensions یا افزونه ها، packageهایی هستند که به طور خاصی طراحی شده اند تا در برنامه های کاربردی Yii استفاده شوند. شما می توانید کد خود را به عنوان یک افزونه به اشتراک بگذارید یا از افزونه های اشخاص دیگر، برای اضافه کردن برخی ویژگی ها به برنامه خود استفاده کنید.

استفاده از افزونه ها

اکثر افزونه ها به صورت پکیج های Composer ارائه می شوند. Composer پکیج ها را از طریق  Packagist ( مخزن بسته های Composer ) نصب می کند.

برای نصب یک افزونه سوم شخص باید:

  • افزونه را به فایل composer.json اضافه کنید.
  • نصب کننده composer را اجرا کنید.

 اضافه کردن ویجت تاریخ و زمان

در این قسمت می خواهیم یک ویجت datetime به پروژه اضافه کنیم.

مرحله 1 - فایل composer.json را از قالب اصلی برنامه به صورت زیر تغییر دهید.

{
   "name": "yiisoft/yii2-app-basic",
   "description": "Yii 2 Basic Project Template",
   "keywords": ["yii2", "framework", "basic", "project template"],
   "homepage": "http://www.yiiframework.com/",
   "type": "project",
   "license": "BSD-3-Clause",
   "support": {
      "issues": "https://github.com/yiisoft/yii2/issues?state=open",
      "forum": "http://www.yiiframework.com/forum/",
      "wiki": "http://www.yiiframework.com/wiki/",
      "irc": "irc://irc.freenode.net/yii",
      "source": "https://github.com/yiisoft/yii2"
   },
   "minimum-stability": "stable",
   "require": {
      "php": ">=5.4.0",
      "yiisoft/yii2": ">=2.0.5",
      "yiisoft/yii2-bootstrap": "*",
      "yiisoft/yii2-swiftmailer": "*",
      "kartik-v/yii2-widget-datetimepicker": "*"
   },
   "require-dev": {
      "yiisoft/yii2-codeception": "*",
      "yiisoft/yii2-debug": "*",
      "yiisoft/yii2-gii": "*",
      "yiisoft/yii2-faker": "*"
   },
   "config": {
      "process-timeout": 1800
   },
   "scripts": {
      "post-create-project-cmd": [
         "yii\\composer\\Installer::postCreateProject"
      ]
   },
   "extra": {
      "yii\\composer\\Installer::postCreateProject": {
         "setPermission": [
            {
               "runtime": "0777",
               "web/assets": "0777",
               "yii": "0755"
            }
         ],
         "generateCookieValidationKey": [
            "config/web.php"
         ]
      },
      "asset-installer-paths": {
         "npm-asset-library": "vendor/npm",
         "bower-asset-library": "vendor/bower"
      }
   }
}

 

ما یک dependency به نام "kartik-v/yii2-widget-datetimepicker": "*"  در قسمت مورد نظر اضافه کردیم.

مرحله 2 - حالا، در داخل پوشه ی root پروژه، composer update را اجرا کنید تا همه ی dependency ها را update کند.

حال ما extension یا افزونه را نصب نموده ایم. شما می توانید آن را در پوشه ی vendor/kartik-v/yii2widget-datetimepicker مشاهده نمایید.

مرحله 3 - برای نمایش ویجت تازه نصب شده در صفحه، view با نام About را در متد actionAbout که در کنترلر SiteController قرار دارد را ویرایش کنید.

<?php
   /* @var $this yii\web\View */
   use kartik\datetime\DateTimePicker;
   use yii\helpers\Html;
   $this->title = 'About';
   $this->params['breadcrumbs'][] = $this->title;
   $this->registerMetaTag(['name' => 'keywords', 'content' => 'yii, developing, views,
      meta, tags']);
   $this->registerMetaTag(['name' => 'description',
      'content' => 'This is the description of this page!'], 'description');
?>
<div class="site-about">
   <h1><?= Html::encode($this->title) ?></h1>
   <p>
      This is the About page. You may modify the following file to customize its content:
   </p>
   <?php
      echo DateTimePicker::widget([
         'name' => 'dp_1',
         'type' => DateTimePicker::TYPE_INPUT,
         'value' => '23-Feb-1982 10:10',
         'pluginOptions' => [
            'autoclose'=>true,
            'format' => 'dd-M-yyyy hh:ii'
         ]
      ]);
   ?>
</div>

مرحله 4 - در این مرحله، سرور ساخته شده در php را از ریشه پروژه، با فرمان php -S localhost:8080t web اجرا کنید.

مرحله 5 – به آدرس http://localhost:8080/index.php?r=site/about بروید. شما یک  datetime picker را مشاهده خواهید کرد، همانطور که در تصویر زیر نشان داده شده است.

فصلِ: 14 , تعداد قسمت ها: 188 , سطح: صفر تا صد

این فصل در یک نگاه:

سلام . پیشنهاد میکنم حتما دموی دوره رو مشاهده کنید درباره فریم ورک Yii: در پاسخ به سوالات : آیا این فریم ورک سریع است؟ آیا این یک فریم ورک امن است؟ آیا این یک فریم ورک حرفه ای است؟ آیا ا…
فصلِ: 8 , تعداد قسمت ها: 77 , سطح: صفر تا صد

این فصل در یک نگاه:

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

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید