Skip to content

Commit

Permalink
tranlation_to_uzbek
Browse files Browse the repository at this point in the history
  • Loading branch information
faxriddin committed Oct 9, 2014
1 parent f54945a commit 5cf8e67
Showing 1 changed file with 51 additions and 5 deletions.
56 changes: 51 additions & 5 deletions docs/guide-uz/intro-upgrade-from-v1.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ Quyida PHP ning asosiy o'zgarishlari keltirilgan:
- Massivlar uchun qisqa sintaksisni qo'llash: `[...elementlar...]` ni `array(...элементы...)` o'rniga;
- Qisqartirilgan teglarni qo'llash `<?=` ko'rinish fayllarida chiqarish uchun.
PHP 5.4 talqinida ushbu imkoniyatni hech qanday sozlashlarsiz qo'llash mumkin;
- [SPL ning klasslari va interfeyslari](http://php.net/manual/ru/book.spl.php);
- [SPL ning klaslari va interfeyslari](http://php.net/manual/ru/book.spl.php);
- [Kechroq statik bog'lash (LSB)](http://php.net/manual/ru/language.oop5.late-static-bindings.php);
- [Sana va vaqt uchun klasslar](http://php.net/manual/ru/book.datetime.php);
- [Sana va vaqt uchun klaslar](http://php.net/manual/ru/book.datetime.php);
- [Treytlar](http://php.net/manual/ru/language.oop5.traits.php);
- [Xalqarolashtirish (Intl)](http://php.net/manual/ru/book.intl.php); Xalqarolashtirish imkoniyatlaridan foydalanish maqsadida Yii 2.0 PHP ning `intl` kengaytmasini ishlatadi.

Expand All @@ -41,10 +41,56 @@ Nomlar sohasi
-------------

Yii 2.0 ning asosiy o'zgarishlaridan biri bu nomlar sohasi hisoblanadi. Freymvorkning deyarli har bir sinfi nomlar sohasida joylashgan, masalan, `yii\web\Request`.
"C" qo'shimchasi endi klasslar nomlarida ishlatilmaydi.
Klasslarni nomlash kelishuvi direktoriyalar strukturasiga asoslanilgan. Masalan, `yii\web\Request` ushbu yozuv klassning yii freymvork direktoriyasidagi web/Request.php faylida joylashganini anglatadi.
(Yii ning klasslarni yuklovchisi evaziga siz freymvork klasslarini hech qanday vositachisiz boglab qo'yishingiz mumkin).
"C" qo'shimchasi endi klaslar nomlarida ishlatilmaydi.
Klaslarni nomlash kelishuvi direktoriyalar strukturasiga asoslanilgan. Masalan, `yii\web\Request` ushbu yozuv klasning yii freymvork direktoriyasidagi web/Request.php faylida joylashganini anglatadi.
(Yii ning klaslarni yuklovchisi evaziga siz freymvork klaslarini hech qanday vositachisiz boglab qo'yishingiz mumkin).


Komponent va obekt
------------------

Yii 2.0 da 1.1 dagi `CComponent` klas ikkita klasga ajratilgan: [[yii\base\Object]] va [[yii\base\Component]].
[[yii\base\Object|Object]] klas oddiy asos klas bo'lib xususiyatlar uchun [getter va setter](concept-properties.md) larni ishlatishga imkon beradi.
[[yii\base\Component|Component]] klas [[yii\base\Object|Object]] klasdan voris bo'lib [xodisalar](concept-events.md) va
[o'zini tutish](concept-behaviors.md) larni qo'llab quvvatlaydi.

Agar sizni klasingizga xodisalar funksiyalari yoki o'zini tutishlar kerak bo'lmasa asos klas sifatida [[yii\base\Object|Object]] ni qo'llashingiz mumkin. Ushbu holat asosan asos strukturali klaslar yaratilayotgan vaqtda yuz beradi.


Obekt sozlashlari
-----------------

[[yii\base\Object|Object]] klas obektlarni sozlashni yagona usulini tashkillashtiradi. Ixtiyoriy [[yii\base\Object|Object]] ga voris bo'lgan klas (agar kerak bo'lsa) o'zini sozlashi uchun quyidagi ko'rinishda o'ziga konstruktor yaratishi mumkin:

```php
class MyClass extends \yii\base\Object
{
public function __construct($param1, $param2, $config = [])
{
// ... sozlashlar qo'llanilishidan oldin initsializatsiyalash (e'lon qilish va qiymatlash)

parent::__construct($config);
}

public function init()
{
parent::init();

// ... sozlashlar qo'llanilganidan keyin initsializatsiyalash
}
}
```

Yuqoridagi misolda oxirgi parametr obekt xususiyatlarini qiymatlovchi sozlashlar massivi ya'ni kalit-qiymat formatidagi juftlikdan iborat bo'lishi kerak. Siz sozlashlar qo'llanilganidan keyin initsializatsiya ishini amalga oshirish uchun oldindan [[yii\base\Object::init()|init()]] metod yaratib qo'yishingiz mumkin.

Ushbu kelishuvga asoslanib siz sozlash massivi yordamida yangi obektlarni yaratish va sozlashingiz mumkin:

```php
$object = Yii::createObject([
'class' => 'MyClass',
'property1' => 'abc',
'property2' => 'cde',
], [$param1, $param2]);
```

Sozlashlar haqidagi batafsil ma'lumotlar [Obektlarni sozlash](concept-configurations.md) bo'limida keltirilgan.

0 comments on commit 5cf8e67

Please sign in to comment.