Texnoman

Assalomu alaykum! Siz Axborot texnologiyalari sohasining o'zbek tilidagi bloggerlar portaliga tashrif buyurdingiz! Loyihamizning asosiy maqsadi haqida bu yerda o'qishingiz mumkin.

Kirish A'zo bo'lish


Farzandlarimiz bizdan ko'ra kuchli, dono, bilimli va albatta baxtli bo'lishlari shart.

- Islom Karimov

Maqolalardagi teglar yii...


Yii da URL lar bilan ishlash 16/12/15 16:21

Yii da URL lar bilan ishlash

Salom. Mana yana Yii haqida. Bu safar URL lar bilan ishlashni ko'ramiz. Agar kimda-kim Apache da rewrite moduli bilan ishlagan bo'lsa demak Yii dagi huddi shunaqa maqsadda ishlatiladigan komponentasini osonroq tushunadi. Maqolani o'qishdan oldin RegExep (Regular Expression) haqida ozgina bo'lsada ma'lumot bo'lishi lozim. Agar Yii haqidagi oldingi maqolalarni o'qigan bo'lsangiz, sizda sayt2 nomli (sayt deb nomlaymiz) host bo'lishi kerak (local serveringizda).…



№23 Dars - Ma`lumotlar omboriga kirish huquqini beruvchi obektlar. (DAO) 16/12/01 12:41

№23 Dars - Ma`lumotlar omboriga kirish huquqini beruvchi obektlar. (DAO)

DAO ma`lumotlarni turli ma`lumotlar omborida saqlash va kirish huquqi uchun umumiy API sini taqdim etgan. Foydalanilayotgan ma`lumotlar omboridan boshqa ixtiyoriy ma`lumotlar omboriga o`tishda ma`lumotlarga kirish huquqi uchun DAO dan foydalanilganda hech qanday muommo bo`lmaydi va kodlarni o`zgartirishimiz ham kerak bo`lmaydi. Yii DAO PHP Data Objects (PDO) ustiga qurilgan bo`lib, ko`pgina ma`lumotlar omboriga kirish huquqi…



№22 Dars - Yii da paypalni integratsiya qilish. 16/12/01 12:26

№22 Dars - Yii da paypalni integratsiya qilish.

PayPal o`zi nima? Yiida PayPal ning maxsus extensionlari mavjud. Bulardan hozircha bittasi bilan tanishib qanday ishlashi haqida gaplashamiz. PayPal o`zi o`zaro pul aylanmasini taminlab beruvchi veb ilova. Bu yerdan pul o`tkazmalar qilayotganda ro`yxatdan o`tgan bo`lishingiz kerak. Ya`ni akkountingiz bo`lishi kerak. Bu ilovada ham siz ishlaringizni test qilib ko`rishingiz uchun sandbox turidan foydalanishingiz kerak. Paypal o`zining API siga ega va biz undan Yii da foydalanishimiz…



№21 Dars - Yii da Payment Gateway integratsiyasi 16/11/30 11:36

№21 Dars - Yii da Payment Gateway integratsiyasi

Plastik kartochkalar orqali to`lovlarni amalga oshirish yani online to`lov xizmatlari ancha avj olgan bir payt. Hozirda har bir platformamiz uchun ham kerak bo`lishi mumkin bo`gan ishga aylanib bormoqda. Yiida bu ishlar qanday aks etadi. Har xil to`lov xizmatlari mavjud men siz bilan birga "BrainTree" deb atalmish "peyment gateway" to`lov xizmatini qanday qilib platformamizga integratsiya qilishni ko`rib chiqamiz. Ximoyasi: Klientning shaxsiy karta nomeri va CVV ni klient…



№20 Dars - Yiida migratsiya bilan ishlash. 16/11/28 22:15

№20 Dars - Yiida migratsiya bilan ishlash.

Migratsiya web dasturlash jarayonida ma`lumotlar omboridagi o`zgarishlarni amalga oshirishni yengillatuvchi va tezlashtiruvchi tehnologiya. Misol uchun, ish jarayonida yangi jadval qo`shilishi mumkin, yoki qaysidir jadvalga ustun qo`shish kabi ishlar. Bu ma`lumotlar omboridagi o`zgarishlar eng muhim va asosiy ish hisoblandi va u migratsiya orqali amalga oshiriladi. Agar kodingiz va ma`lumotlar omboringiz boshqalarniki bilan muvofiq bo`lmasa dasturingiz ishlamaydi. Bunday holatni…



№19 Dars - Yiida ketma ket ma`lumotlar kiritishni qayta ishlash. 16/11/17 12:38

№19 Dars - Yiida ketma ket ma`lumotlar kiritishni qayta ishlash.

Ba`zan bizda ma`lum qoidalar bo`yicha foydalanuvchi tomonidan kiritilayotgan ma`lumotlarni qayta ishlash talab qilinishi mumkin. Tabular input deb, mal`umot kirituvchi bir qancha maydonlarni bir jadvalga qoida bo`yicha joylashga aytiladi. Jadvalli kiritish bilan ishlashimiz uchun birinchi navbatda bizdan ma`lumotlarni qo`shishimiz yoki o`zgartirishimizga qarab modellar ma`lumotlaridan tashkil topgan massiv nusxasini yaratish yoki to`ldirish talab etiladi. So`ng biz $_POST o`zgaruvchisidan ma`lumotlarni…



№18 Dars - Yiida action hosil qilish va u bilan ishlash 16/11/10 19:26

№18 Dars - Yiida action hosil qilish va u bilan ishlash

Model tayyor endi biz u bilan ishlash uchun kod yozishga kirishishimiz mumkin. Barcha mantiqiy jarayonlarni kontroller actioniga joylashtiramiz. Ro`yxatdan o`tadigan forma uchun kod talab qilinadi. Misol uchun: public function actionLogin() { $model=new LoginForm; if(isset($_POST['LoginForm'])) { // foydalanuvchi tomonida kelayotgan ma`lumotlarni olamiz. $model->attributes=$_POST['LoginForm']; // olingan ma`lumotni tekshiramiz, agar true bo`lsa oldingi pagega foydalanuvchini yo`naltiradi.…



№17 Dars - Yiida model hosil qilish. 16/10/31 15:43

№17 Dars - Yiida model hosil qilish.

Avval forma uchun html kod yozamiz. Biz nimalar kerakligini aniqlashimiz kerak bo`ladiki: qanday ma`lumotlar olish va qanday qoida bo`yicha uni biriktirish bo`yicha. Model - foydalanuvchi tomonidan kiritilayotgan ma`lumotlarni doimo rolda nazorat qilib boradi. Biz modelni ikki xil ko`rinishda hosil qilishimiz mumkin. Biz ma`lumotlarni olish, qayta ishlash, keyin o`chirish uchun CFormModel dan foydalanamiz; agar ma`lumotni olib uni bazada saqlash bo`ladigan bo`lsa CActiveRecord…



№16 Dars - Yiida forma hosil qilish. 16/10/26 19:45

№16 Dars - Yiida forma hosil qilish.

Web ilova ishlab chiqishdagi asosiy vazifalardan biri bu - yig`ilgan foydalanuvchining ma`lumotlarini HTML forma bilan ishlatishdir. Undan tashqari dasturchi formalarni loyihalashtirayotganda bevosita bu maydonlar majburiy to`ldirilishi kerak yoki majburiy emasligini, kiritiladigan ma`lumotni tekshirishni, kritilgan ma`lumot noto`g`ri bo`lsa shu haqda xabar berishi shuningdek ko`rsatilgan jadvalga ma`lumotlarni saqlash kabi ishlarni qila olishi mumkin. Bu jarayonlarga mos Yii o`zining…



№15 Dars - Yiida dinamik tekshiruv qoidalar biriktirish. 16/10/20 11:45

№15 Dars - Yiida dinamik tekshiruv qoidalar biriktirish.

Yiida o`zi ishlab chiqqan tekshiruv qoidalaridan tashqari o`zingiz uchun ham mos tekshiruv funksiyalari yaratsangiz bo`ladi. Bunday yondashuv o`zimiz uchun shaxsiy tekshiruvlarni dinamik yaratish imkonini beradi. Keling misol bilan bu mavzuni oydinlashtirib olaylik. Masalani qo`yilishi: startDateTime endDateTime dan kichkina bo`lishi kerak. Buni qoida tarzida kiritishimiz kerak. Masalani yechilishi: Bir jadval berilgan unda startDateTime va endDateTime…



№14 Dars - Yiida HAS_MANY va BELONGS_TO dan foydalanish. 16/10/10 13:57

№14 Dars - Yiida HAS_MANY va BELONGS_TO dan foydalanish.

Yii ning bog`lanishlari bu umumiy web ilovalarimizda muhim ro`l bo`lib xizmat qiladi. Bu relation metodi Yii ning model qismida joylashgan. Biz hozirda siz bilan HAS_MANY va BELONGS_TO usullari bilan tanishib chiqamiz. Nega aynan bular? Chunki bular web ilovamizda asosiy qatnashuvchi bo`lib xizmat qiladi. Boshqa usullarni ham o`ziga yarasha tutgan o`rni bor albatta lekin bu ikkala usul ayni ko`p uchraydigan usullardan. Buni batafsil tanishish chog`ida anglab yetasiz. Masalaning qo`yilishi:…



№13 Dars - Gii generatori orqali CRUD hosil qilish 16/10/04 00:36

№13 Dars - Gii generatori orqali CRUD hosil qilish

CRUD Yii ning maxsus o`zining moduli bo`lib, ma`lumotlar bilan ishlash imkonini beradi. Ma`lumotlar qo`shish, o`chirish, o`zgartirish kabi ishlarni birdaniga hosil qilib beradigan moduldir. CRUD ni hosil qilishimiz uchun biz Gii generatorni sozlab olishimiz kerak bo`ladi. Sozlashlar uchun ma`lumotni quyidagi gippermurojaatdan olishingiz mumkin. Sozlashlar amalga…



№12 Dars - Yiining Gii generatori orqali model va controller hosil qilish. 16/09/23 20:25

№12 Dars - Yiining Gii generatori orqali model va controller hosil qilish.

Masalaning qo`yilishi: Yiining Gii generatoridan foydalanib model va controller hosil qilish. Masalani yechilishi: Buning uchun biz birinchi navbatda "yiitest" degan ma`lumotlar ombori yaratamiz va uning ichida posts degan jadval yaratamiz. Agarda o`zimizning ma`lumotlar omborimiz bo`lsa unda o`shaning ichida jadval hosil qilamiz. Bu jadvalimiz o`z ichiga 3 ta ustunni oladi. Bular id, title va content. CREATE TABLE posts ( id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,…



№11 Dars - Yiida scopes bilan ishlash. 16/09/23 09:45

№11 Dars - Yiida scopes bilan ishlash.

Yii ning maxsus tehnologiyasi bo`lib, sql so`rovi bilan ishlovchi shartlar majmui, bog`lanishlarni bajaruvchi va odatiy (ko`p takrorlanadigan shartlar) natijalarni topish uchun ishlatiladi. CActiveRecord::scopes() maxsus funksiyasi. Ishlash usuli juda oddiy. Maxsus nom asosida uni filter deb atasak ham bo`ladi. Quyidagicha "Post" jadval berilgan. Ishlarimizni shu jadval bilan olib boramiz.



№10 Dars - Yii da modal va ajaxdan foydalanish. 16/09/17 00:00

№10 Dars - Yii da modal va ajaxdan foydalanish.

Ajax so`rovi bilan ma`lumotlar omboriga modaldan foydalanib ma`lumotlar qo`shish masalasini ko`rib chiqamiz. Avvalambor ma`lumotlar omborida jadval yaratishdan boshlaymiz. Buning uchun quyidagi havoladagi koddan foydalanib jadval yaratamiz. Model hosil qilamiz va index.php viewimizga quyidagicha kod kiritamiz. /protected/views/site/index.php<?php…



№9 Dars - Yiida ajax so`rovlari bilan ishlash. 16/09/16 12:00

№9 Dars - Yiida ajax so`rovlari bilan ishlash.

Ajax so`rovlari bilan ishlash unumli ishlardan biri hisoblanib, web ilovamizni qayta yuklanishsiz serverga so`rov yubora oladigan xususiyatga ega. Yii ham o`zining ajax so`rovlari bilan ishlash uchun maxsus tehnologiyalar ishlab chiqgan. Bu haqida batafsil va samarali usul deb, misollar orqali tushuntirish deb bildik. Keling birinchi misol bilan tanishaylik. Bu misol hozirgi vaqtni olish misolidir. Buning uchun index.php viewimizga quyidagicha kod yozamiz: /protected/views/site/index.php…



№8 Dars - Gridlar bilan ishlash. 16/07/31 05:45

№8 Dars - Gridlar bilan ishlash.

Masalani qo`yilishi: Jadvalimizdagi barcha kompaniyalarni ro`yhati bilan birgalikda saytlari nomlarini gridimizda chiqarish. Birinchi navbatda jadval yaratishimiz kerak bo`ladi, agar jadvalimiz bo`lsa unda o`sha jadvaldan foydalanib ham ishlasak bo`ladi. Bizning misolimiz uchun "company" jadvali yaratiladi. 1 – jadvalimizni yaratamiz CREATE TABLE `company` ( `ID` INT(11) NOT NULL AUTO_INCREMENT, `company` VARCHAR(100) NULL DEFAULT NULL, `site` VARCHAR(100)…



Yiida CDbCriteria klassini ishlatish 16/07/21 14:40

Yiida CDbCriteria klassini ishlatish

Bugun Yii frameworkdagi CDbCriteria klassi haqida gaplashib o'tamiz, ushbu klass so'rovlardagi kriteriyalar yaratish uchun ishlatiladi. Klassdagi metodlarga tasnif berilib ketiladi. // CDbCriteria klassidan nusxa olamiz $criteria = new CDbCriteria; // jadval aliasini ko'rsatamiz $criteria->alias = 'user'; // WHEREgaa aloqador barcha amallar shu metodda ishlatidi // pleysholderlar ishlatish…



№7 Dars - Yii-Bootstrapni sozlash. 16/06/15 01:11

№7 Dars - Yii-Bootstrapni sozlash.

Yii-Bootstrap Yii ning maxsus kutubxonasi hisoblanib, yuqori sifatli widgetlarni o`z ichiga olgan. Yii-bootstrap forma komponentalari bilan bir qatorda foydalanuvchi uchun yengillik yaratuvchi komponentalarini o`z ichiga olgan. Bu widgetlarni yuklayotganingizda o`zi uchun tegishli bo`lgan jQuery kutubxonasini ham yuklab ishga tushadi. Bootstrapni sozlash. Ushbu gipermurojaat…



№6 Dars - Faylni yuklash va namoyish qilish. 16/06/15 01:07

№6 Dars - Faylni yuklash va namoyish qilish.

Web texnologiyasi olamida fayllar ro`li juda keng. Shuning uchun ham web dasturlar bunga alohida etibor qaratib kelishgan. Shu jumladan Yii ning o`zining qoida va uslublariga ega. Bir kichik misol orqali bu ishlar qanday amalga oshirilishini ko`rsatishga ruxsat bergaysiz. Buning uchun biz misolimizda rasmlarni yuklashga etiborimizni qaratamiz va shu yuklangan rasmni o`qib olish masalasini ham birgalikda ko`rgan bo`lamiz. Birinchi navbatda biz qanday qilib fayl yuklashni ko`rib chiqamiz…



№5 Dars - Yiida PDF bilan ishlash. 16/06/15 01:04

№5 Dars - Yiida PDF bilan ishlash.

Biror bir qilayotgan proyektimizda hisobotlarni pdf formatiga o`tkazish kabi ishlarga duch kelamiz. Bunda Yii ning maxsus kengaytmalaridan foydalanish maqsadga muvofiqdir. Shulardan biri tcpdf kengaytmasidir. Bu haqida ushbuhttp://www.yiiframework.com/extension/tcpdf giper murojaat orqali batafsil tanishishingiz mumkin. Biz faqatgina misol bilan sizda Yii da qilingan proyektlaringizni hisobotlarini pdf ga o`tkazish masalasini ko`rib…



№4 Dars - RBAC va faylda rollar tasnifi 16/05/05 09:51

№4 Dars - RBAC va faylda rollar tasnifi

Qaysidir bir imkoniyatlarni foydalanuvchidan cheklash imkoni har bir katta proyekt qilinayotgan joyda muhim ro`l o`ynaydi. Misol uchun bir foydalanuvchiga izoh qo`shish imkonini beramiz lekin o`chirish imkonini bermaymiz. qaysidir foydalanuvchiga qo`shish imkonini ham o`chirish imkonini ham beramiz. Ya`ni kimlar uchundir biror bir ishni qila olish xuquqini berish va kimlar uchundir shu ishni bajara olish xuquqini bermaslik masalasi. Ana shunday imkoniyatlar Yii da RBAC tushunchasi sifatida o`zining…



Yiida website sahifalarining necha marta ko’rilganligini hisoblash 16/05/02 01:11

Yiida website sahifalarining necha marta ko’rilganligini hisoblash

Assalomu alaykum. Bu maqola websitedagi sahifalar, rasmlar va boshqa qismlari, foydalanuvchilar tomonidan necha marta bosilgani, necha marta ko'rilgani yani usha sahifaga necha marta kirgani, rasmni necha marta ochib ko'rganini hisoblab boruvchi hisoblagichni o'rganib chiqamiz. Bu juda ham oddiy, oddiy bo'lsa ham kopchilik uchun qiziq va keraklidir. Bu ishni qilishni 2 xil usulini ko'rib chiqamiz. 1-usul: save() metodi yordamida; 2-usul: saveCounter() metodi…



№3 Dars - Shaxsiy widgetimizni yaratishning kichik ko`rinishi. 16/04/24 09:02

№3 Dars - Shaxsiy widgetimizni yaratishning kichik ko`rinishi.

Bu bo`limda biz o`zimizning birinchi portletimizni ishlab chiqamiz. Foydalanuvchi uchun menu, qaysiki menu ro`yhatini chiqarish, faqat ruxsat berilgan foydalanuvchilar uchun ko`rinadi. Menu 4 elementni o`z ichiga oladi. To`gri deb topilgan sharhlar: maqul deb topilgan yozuvlar ro`yhatini chiqaruvchi gipperhavola; Yangi yozuv hosil qilish: sahifalardagi qaydlarni yaratadigan sahifasiga o`tuvchi gipperhavola; Qaydlarni boshqarish: sahifalardagi qaydlarni boshqarish…



№2 Dars - Yii ning yordamchi funksiyalari bilan ishlash 16/04/21 03:15

№2 Dars - Yii ning yordamchi funksiyalari bilan ishlash

Biz odatda kattagina ish qilayotganimizda bir hil funksiyalar yozishimizga tog`ri keladi va bu ishni qayta qayta takrorlanishiga duch kelamiz. Misol uchun biror bir joyda 2 ta DateTime ning o`zaro ayirish masalasi bo`lsin. Bu ishni bir nechta joyda ishlatiladigan bo`lsa unda xar bir shu ishni qiladigan funksiyani yozib ketaveramiz. Uning o`rniga bir yordamchi funksiya sifatida bir joyda saqlasak o`sha funksiyani kerak bo`lganda o`sha nom ostida chaqirishimiz mumkin bo`ladi. Bunda funksiyani har…



YIi da ma’lumotlar bazasi tranzaksiyalari bilan ishlash 16/04/21 02:44

YIi da ma’lumotlar bazasi tranzaksiyalari bilan ishlash

Ma'lumotlar bazasi bilan ishlayotganimizda ba'zida ma'lumotlar bazasiga bir vaqtning o'zida minglab so'rov yuborishga to'g'ri keladi. Bugun men shu holatga duch keldim. Ya'ni, jadvaldagi bir ustundagi ma'lumotga murojat qilib, undagi qiymatni mos xolda kerakli qiymatga o'zgartirishga to'g'ri keldi. Jadvaldagi qatorlar soni 2000 dan ortiqroq. Dastlab quidagi usulni ishlatib ko'rdim:$model=UserMeta::model()->findAll(); foreach($model as $v){ UserMeta::model()->updateByPk($v->id,array("seat_date"=>"1111-11-11"));…



№1 Dars - Yii framework haqida 16/04/21 02:12

№1 Dars - Yii framework haqida

Assalomu alaykum aziz o`quvchi! Biz siz bilan birgalikda hali ko`pchilik uchun uncha tanish bo`lmagan Yii tehnologiyasi haqida gaplashmoqchimiz. Yii – bu ko`p tarmoqli web ilovalar qurish uchun yuqori sifatli komponentlar asosidagi PHP – framework strukturasidir. U katta kodlardan qayta va qayta foydalanishda moslashuvchanlikni va web ilovani tezkoriligini oshirishiga imkon beradi. Qisqa qilib aytganda oddiy, samarali va keng ko`lamli php – framework. Keling PHP frameworklarning o`zaro…



Yii: save qilishdagi kichik xatoliklar. 16/04/21 01:25

Salom Bloggerlar va Yii frameworkchilar. Yii frameworkda ko'p ishlamaganlarda ko'pincha bunday xatolikga yo'l qo'yishadi:<? $model = new Blog(); if(!empty($_POST['Blog'])) { $model->attributes = $_POST['Blog']; $model->save(); $this->redirect(array('view', 'id'=>$model->id)); } $this->render('form', array( 'model' => $model, )); ?> Bir ko'rishda kod to'g'ri yozilgan va ishlab turibdi. Lekin $model->save(); xato hisoblanadi.…