dan keyingi yangilanishlar



Download 32,28 Kb.
bet4/4
Sana16.06.2021
Hajmi32,28 Kb.
#66776
1   2   3   4

Komponent va obekt


Yii 2.0 da 1.1 dagi CComponent klas ikkita klasga ajratilgan: yii\base\BaseObject va yii\base\ComponentBaseObject klas oddiy asos klas bo'lib xususiyatlar uchun getter va setter larni ishlatishga imkon beradi. Component klas BaseObject klasdan voris bo'lib xodisalar va o'zini tutish larni qo'llab quvvatlaydi.

Agar sizni klasingizga xodisalar funksiyalari yoki o'zini tutishlar kerak bo'lmasa asos klas sifatida BaseObject ni qo'llashingiz mumkin. Ushbu holat asosan asos strukturali klaslar yaratilayotgan vaqtda yuz beradi.

Obekt sozlashlari


BaseObject
 klas obektlarni sozlashni yagona usulini tashkillashtiradi. Ixtiyoriy BaseObject ga voris bo'lgan klas (agar kerak bo'lsa) o'zini sozlashi uchun quyidagi ko'rinishda o'ziga konstruktor yaratishi mumkin:

class MyClass extends \yii\base\BaseObject{

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 init() metod yaratib qo'yishingiz mumkin.

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

$object = Yii::createObject([

'class' => 'MyClass',

'property1' => 'abc',

'property2' => 'cde',

], [$param1, $param2]);

Sozlashlar haqidagi batafsil ma'lumotlar Obektlarni sozlash bo'limida keltirilgan.



MySQL-dagi ma'lumotlar bazasida barcha imtiyozlarni qanday berish kerak


Muallif: AJ Welch

MySQL-da imtiyozlarni tahrirlashni boshlash uchun avval serveringizga kirishingiz va keyin mysqlmijozga ulanishingiz kerak . Odatda, siz rootMySQL-ni o'rnatishda to'liq kirish huquqiga ega bo'lgan asosiy, boshlang'ich "super foydalanuvchi" hisob qaydnomasi kim bilan ulanishni xohlaysiz .

Odatda rootMySQL o'rnatilganda foydalanuvchiga autentifikatsiya paroli beriladi, ammo agar bunday bo'lmasa rootrasmiy hujjatlarda ko'rsatilganidek parollarni qo'shish orqali o'z xavfsizligingizni oshirish choralarini ko'rishingiz kerak .

MySQL buyruqlar satri vositasiga ulanish



Ushbu misol uchun biz rootasosiy MySQL hisob qaydnomasini olamiz . MySQL buyruqlar satri vositasidan ( mysqlcli) foydalanishni boshlash uchun foydalanuvchi sifatida serverga ulaning rootva mysqlbuyruq bering:

$ mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 112813

Server version: 5.5.43-0ubuntu0.14.04.1 (Ubuntu)

[...]

mysql>

Agar muvaffaqiyatli bo'lsa, MySQL ulanishingiz haqida ba'zi natijalarni ko'rasiz va so'rovni pastga mysqlqaratasiz.

Eslatma: Agar sifatida to'g'ridan-to'g'ri serverga ulanish uchun olmadik bo'lsa rootulanishdan oldin foydalanuvchi mysql, siz ulanish uchun foydalanuvchi ko'rsatish mumkin , deb qo'shib --user=bayrog'ini:

$ mysql --user=username

Imtiyozlar berish



Endi siz hozirda bo'lganingizda , tegishli ruxsatlarni qo'llash uchun mysqlclisizga faqat GRANTkerakli variantlar bilan buyruq berishingiz kerak .

Imtiyoz turlari



GRANTBuyruq imtiyozlar turli qo'llash imkoniga ega, qobiliyati har bir narsani CREATEjadvallar va ma'lumotlar bazalari, o'qish yoki yozish FILES, va hatto SHUTDOWNserver. Buyruqda turli xil bayroqlar va variantlar mavjud, shuning GRANTuchun rasmiy hujjatlarni ko'rib chiqish orqali aslida nima qilishi mumkinligi bilan tanishishingiz mumkin .

Ma'lumotlar bazasiga oid imtiyozlar



Ko'pgina hollarda, siz MySQL-ga databasekirish huquqiga ega hisob qaydnomasi asosida foydalanuvchilarga imtiyozlar berasiz . Masalan, har bir noyob MySQL databaseserverda o'ziga xos o'ziga xos xususiyatga ega bo'lishi odatiy userhol bo'lib, bunda faqat bitta yakka usershaxs autentifikatsiya huquqiga ega bo'lishi mumkin databaseva aksincha.

Ushbu GRANT ALLfoydalanuvchiga ma'lum bir usernarsani to'liq boshqarish imkoniyatini beradigan a uchun imtiyozlar uchun databasequyidagi sintaksisdan foydalaning:

mysql> GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';

Bu buyruq yordamida biz MySQL-ga:

  • GRANTPRIVILEGESturdagi ALL(albatta shunday hamma narsa). Izoh: Ko'pgina zamonaviy MySQL o'rnatmalari qo'shimcha PRIVILEGESkalit so'zni talab qilmaydi .

  • Ushbu imtiyozlar quyidagilar uchun ko'rsatilgan ma'lumotlar bazasining barcha jadvallariga database_nametegishli ..*

  • Bu imtiyozlar beriladi username, deb qachon usernametomonidan belgilangan, mahalliy orqali ulanadi @'localhost'. Har qanday amal mezbon belgilash uchun, o'rniga 'localhost'ega '%'.

Butun ma'lumotlar bazasiga barcha imtiyozlarni berishning o'rniga, ehtimol siz tolkienfoydalanuvchiga ma'lumotlar bazasi jadvalidan ma'lumotlarni ( SELECT) o'qish imkoniyatini berishni xohlaysiz . Buni quyidagicha osonlik bilan bajarish mumkin:authorsbooks

mysql> GRANT ALL PRIVILEGES ON books.authors TO 'tolkien'@'localhost';

Boshqa super foydalanuvchi yaratish



Xavfsiz bo'lsa ham, ba'zi holatlarda, siz boshqa "super foydalanuvchi" yaratishingizni xohlashingiz mumkin, bu serverdagi HAMMA ma'lumotlar bazalarida ALL imtiyozlarga ega. Buni yuqoridagi kabi amalga oshirish mumkin, ammo database_nameuni joker yulduzcha bilan almashtirish orqali :

mysql> GRANT ALL PRIVILEGES ON *.* TO 'tolkien'@'%';

Endi tolkienodatiy roothisob qaydnomasi kabi imtiyozlarga ega , ehtiyot bo'ling!

O'zgarishlaringizni saqlash



Iste'molchi imtiyozlarining har qanday yangilanishidan so'ng, oxirgi qadam sifatidaFLUSH PRIVILEGESbuyruqni buyruqni berib, saqlaganingizga ishonch hosil qiling mysql:

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.01 sec)


escape()Funktsiya muayyan belgilar bir hexadecimal qochish majmuasini o'rniga ega bo'lgan yangi satr hisoblaydi.

Eslatma: Ushbu funktsiya asosan URL so'rovlari uchun ishlatilgan (URL manzilining bir qismi ?) - " " formatidan foydalanadigan oddiy String harflaridan qochish uchun emas . ( ikki oltitali raqamlar va shakl yuqori tekislikdagi unikodli belgilar uchun ishlatiladi.)\xHHHH\xHH\xHH

String literalleri yilda qochib belgilar almashtirib kengaytirilgan mumkin \xbo'lgan %, keyin foydalanib, decodeURIComponent()vazifasini.

Sintaksis


qochish ( str )

Parametrlar


str

Kodlanadigan qator.

Qaytish qiymati


Muayyan belgilar qochib qutulilgan yangi satr.

Ta'rif


escapeFunktsiya bir mulki hisoblanadi global ob'ekt . Maxsus belgilar kodlangan, bundan tashqari:@*_+-./

Kodi birlik qiymat hisoblanadi belgilar uchun hexadecimal shakli 0xFFyoki kam, bir ikki-raqamli chiqish tartibi hisoblanadi: . Kattaroq kod birligiga ega bo'lgan belgilar uchun to'rt xonali format ishlatiladi.%xx%uxxxx

Misollar

Qochish usulidan foydalanish


escape('abc123'); // "abc123"escape('äöü'); // "%E4%F6%FC"escape('ć'); // "%u0107"// special charactersescape('@*_+-./'); // "@*_+-./"

Texnik xususiyatlari


Texnik xususiyatlari

ECMAScript (ECMA-262)
Ushbu spetsifikatsiyada "qochish" ta'rifi.




The escape() function computes a new string in which certain characters have been replaced by a hexadecimal escape sequence.

Note: This function was used mostly for URL queries (the part of a URL following ?)—not for escaping ordinary String literals, which use the format "\xHH". (HH are two hexadecimal digits, and the form \xHH\xHH is used for higher-plane Unicode characters.)


Escaped characters in String literals can be expanded by replacing the \x with %, then using the decodeURIComponent() function.

Syntax


escape(str)

Parameters


str

A string to be encoded.

Return value


A new string in which certain characters have been escaped.

Description


The escape function is a property of the global object. Special characters are encoded with the exception of: @*_+-./

The hexadecimal form for characters, whose code unit value is 0xFF or less, is a two-digit escape sequence: %xx. For characters with a greater code unit, the four-digit format %uxxxx is used.

Examples

Using escape


escape('abc123'); // "abc123"escape('äöü'); // "%E4%F6%FC"escape('ć'); // "%u0107"

// special charactersescape('@*_+-./'); // "@*_+-./"

Specifications


Specification

ECMAScript (ECMA-262)
The definition of 'escape' in that specification.


Download 32,28 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©www.hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish