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
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:
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