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:

<?php
namespace HelloWorld;
class SayHello
{
    public static function world()
    {
        return 'Hello World, Composer!';
    }
}
?>

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 <o'zingiz_yaratgan_yangi_repositoriya>
  • git push –u origin master

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:

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

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:

<?php
/* @var $this yii\web\View */
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>
<h1><?= HelloWorld\SayHello::world(); ?></h1>
</div>

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

Manba:


AlisherN - Texnoman foydalanuvchisi

Muallif haqida

AlisherN


Blogdagi so‘nggi maqolalar:


Birinchi bo‘ling!

Iltimos, fikr bildirish uchun saytga kiring yoki ro‘yxatdan o‘ting!