Yii2da extension yaratish

Yii2da extension yaratish

Yii2da extension yaratish

Ushbu maqolada yii2 freymvork uchun kengaytma(extension) yaratishni ko’ramiz. Ushbu kengaytmamiz oddiygina «Hello world» xabarini chiqaradi. Bu kengaytmamiz Packagist repositoriyasi orqali foydalaniladi.

1-qadam. Kompyuterda hello-world nomli papka yaratamiz(Yii loyiha papkasi ichida emas). hello-world papkasida esa composer.json nomli fayl yaratamiz va unga quyidagilarni yozamiz:

{
   "name":"mytest/hello-world",
   "authors":[
      {
         "name":"iauthor"
      }
   ],
   "require":{
   },
   "autoload":{
      "psr-0":{
         "HelloWorld":"src/"
      }
   }
}

Bu koddan PSR-0 standartidan foydalanayotganimizni va barcha fayl, papkalarimiz
src papkasida joylashganini bilishimiz mumkin.

***
PSR standartlar. PHP Standard Recommendation(PSR) – bu PHP Framework Interop Group tomonidan chop qilingan PHP dagi texnik xususiyat hisoblanadi. Javadagi Java Specification Requestga o’xshash bo’lib, u PHPdagi dasturlash tushunchalarini standartlari sifatida xizmat qiladi. Ushbu texnik xususiyatdan maqsad komponentlarning o’zaro moslashuvchanligi hamda optimal dasturlash va testlashdagi isbotlangan tushunchalarni ishlatishning umumiy texnik asoslari bilan ta’minlashdir. PHP-FIG bir qancha PHP freymvorklarini yaratuvchilar tomonidan tuzilgan.

Har bir PSR o’zi foydalanadigan protokoliga qarab a’zolar tomonidan taklif qilingan va tanlab olingan.***

PSR-0 avtoyuklagich qo’shishi kerak bo’ladigan majburiy talablarni ko’rsatadi.

2-qadam. Quyidagicha papka yaratamiz: hello-worl/src/HelloWorld.

3-qadam. HelloWorld papkasida SayHello.php faylini yaratib, unga quyidagi kodni yozamiz:


SayHello klassini world static funksiyasi bilan e’lon qildik. Bu funksiya hello xabarini qaytaradi.

4-qadam. Kengaytmamiz tayyor! Endi uni githubga joylashtiramiz. Buning uchun githubda bo’sh repositoriy yaratamiz va kengaytmamizni unga joylashtiramiz. Buning uchun hello-world papkamiz ichida quyidagi buyruqlarni ketma-ketlikda ishga tushiramiz:

  • git init
  • git add .
  • git commit –m «initial commit»
  • git remote add origin
  • git push –u origin master

yii2da extension yaratish 65e60e2806161

Hozirgina o’zimizning kengaytmamizni githubga qo’shdik. Endi,
https://packagist.org saytiga kiramiz va menyudagi «submit» tugmasini bosamiz. Bunda github repositoryni e’lon qilish uchun kiritiladigan oyna ochiladi:

yii2da extension yaratish 65e60e288768c

5-qadam. Check tugmasini bosib kengaytmamizni e’lon qilamiz.

yii2da extension yaratish 65e60e2949228

6-qadam. Endi kengaytmani yii2 loyihamizga qo’shsak bo’ladi.

composer require mytest/hello-world

7-qadam. Kengaytmamiz o’rnatilganidan keyin uni ishlatib ko’ramiz. SiteControllerning actionAbout metodini quyidagicha o’zgartiramiz:

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');
?>

= Html::encode($this->title) ?>

This is the About page. You may modify the following file to customize its content:

= HelloWorldSayHello::world(); ?>

Natijani
http://localhost:8080/index.php?r=site/about havolasi orqali ko’rish mumkin. Ekranda hello world xabari chiqadi.

Manba:

Framework va CMS
Yii2da extension yaratish