Կոնֆիգուրացիայի ակնարկ (այլ տեղեկատվական տեսակների համեմատությամբ)
Drupal 8-ում կան մի քանի տեղեկատու տեսակներ.
- Բովանդակություն
Տեղեկատվություն, որը նախատեսված է կայքում ցուցադրման և օգտագործողների կողմից խմբագրման համար՝ հոդվածներ, հիմնական էջեր, պատկերներ, ֆայլեր և այլն։
- Սեսիա
Տեղեկատվություն, որը վերաբերում է առանձին օգտագործողների կայքի հետ փոխազդեցություններին, օրինակ՝ նրանց ներկա ընտրությունը դիտումների ֆիլտրի համար։ Սա անցողիկ է և անհատականացված մեկ օգտագործողի համար։
Տեղեկատվություն, որը հաճախ կարող է փոխվել և/կամ առանց օգտագործողի միջամտության։ Օրինակներ՝ վերջին Cron-ի գործարկման ժամանակը, հանգույցի մուտքի իրավունքների վերակառուցման անհրաժեշտություն և այլն։
Տեղեկատվություն ձեր կայքի մասին, որը բովանդակություն չէ և հազվադեպ է փոխվում, օրինակ՝ ձեր կայքի անվանումը, ձեզ կողմից սահմանված բովանդակության տեսակները և դիտումները և այլն։
Տեղեկատվություն ձեր կայքի մասին, որը նաև պահվում է այլ տեղ։ Քեշերը գոյություն ունեն միայն տվյալների արագ որոնման համար։ Նրանք երբեք չեն պահպանում կանոնավոր տվյալները։
Մակարդակ կարդալու համար նախատեսված տեղեկատվություն ձեր կայքի համար, կոշտ կոդավորված settings.php ֆայլում։
Ինչպես որոշել՝ ինչպես դասակարգել ձեր տեղեկատվությունը
Սովորաբար դժվար է որոշել՝ արդյոք մոդուլը պահելու է տվյալ տեղեկատվությունը որպես բովանդակություն, վիճակ, թե կոնֆիգուրացիա։ Ահա որոշ առաջարկություններ.
- Կոնֆիգուրացիա և վիճակ՝ եթե ձեր տեղեկատվությունը պետք է տեղադրվի ձեր զարգացման սերվերից արտադրական սերվեր, ապա դա հավանաբար կոնֆիգուրացիա է, այլ ոչ թե վիճակ։
- Կոնֆիգուրացիա և բովանդակություն։ Մտածեք կայքի կազմավորողի կամ խմբագիրների մասին։ Եթե կայքի «խմբագիր» դերակատարն ուզում է խմբագրել տեղեկատվությունը, դա հավանաբար բովանդակություն է։ Եթե միայն «ստեղծող» դերակատարն է ուզում խմբագրելու իրավունք ունենալ, դա հավանաբար կոնֆիգուրացիա է։ Բայց սա հաստատուն կանոն չէ։
- Կոնֆիգուրացիա ընդդեմ բովանդակության՝ հաշվի առեք քանակը։ Եթե շատ առարկաներ կան, դա հավանաբար բովանդակություն է։ Եթե միայն քիչ են, ապա հավանաբար կոնֆիգուրացիա։
- Կոնֆիգուրացիա ընդդեմ բովանդակության՝ կոնֆիգուրացիան հաճախ սահմանում է «եղանակների տեսակներ», օրինակ՝ բովանդակության տեսակներ, տաքսոնոմիայի բառարաններ և այլն։ Իսկ այդ տեսակների յուրաքանչյուր «եղանակ» հանդիսանում է բովանդակություն, օրինակ՝ բովանդակության հանգույց, տաքսոնոմիայի տերմին և այլն։
Պարզ կոնֆիգուրացիա ընդդեմ կոնֆիգուրացիոն օբյեկտների
Կոնֆիգուրացիայի կառավարման համակարգ օգտագործելիս առաջին հարցերից է՝ ինչ տեսակի կոնֆիգուրացիա եք պահելու։
Պարզ կոնֆիգուրացիան ավելի հեշտ է իրագործել և հարմար է հիմնական կոնֆիգուրացիոն պարամետրերի համար, որոնք պահում են լոգիկական արժեքներ, ամբողջ թվեր կամ պարզ տեքստային տողեր։ Օրինակ, ձեր մոդուլի որոշակի գործառույթի միացումը կամ անջատումը կամ կայքի անունը, որը կարգավորվում է համակարգային մոդուլով։ Պարզ կոնֆիգուրացիան կարող է կախված լինել միայն այն մոդուլից, որը այն տրամադրում է։ Օրինակ՝ system.site կախված է համակարգային մոդուլից և ոչնչից ավելին։
Կոնֆիգուրացիոն օբյեկտները պահում են տեղեկություններ օգտատերերի կողմից ստեղծվող և ջնջվող էկզեմպլարների մասին։ Ձեր կոդը կաշխատի լավ, լինի դրանք 0, թե 100+։ Օրինակներ՝ պատկերի ոճեր, դիտումներ և այլն։ Կոնֆիգուրացիոն օբյեկտները տրամադրում են CRUD հուկայներ, որոնք աշխատում են ինչպես Drupal-ի ցանկացած այլ օբյեկտների դեպքում, և նրանք իդեալական են այն կոնֆիգուրացիաների համար, որոնց կարող են անդրադառնալ կամ որոնց վրա կարող են ազդել այլ մոդուլներ։ Օրինակ, Views մոդուլը օգտագործում է կոնֆիգուրացիոն օբյեկտներ, որոնք թույլ են տալիս իրականացնել հետագծումներ՝ մինչ գործարկում թույլ տալով ցանկացած այլ մոդուլին տրամադրել Views-ի կոնֆիգուրացիա։ Կոնֆիգուրացիոն օբյեկտները կարող են ունենալ դինամիկ կախվածություններ։ Ինչպես պարզ կոնֆիգուրացիան, դրանք կախված են այն մոդուլից, որը դրանք տրամադրում է։ Օրինակ՝ views.view.frontpage կախված է Views մոդուլից, բայց քանի որ այն պարունակում է հանգույցներ, այն նաև կախված է Node մոդուլից։ Եթե հետագայում փոփոխվի, որպեսզի ցույց տա միայն «Հոդված» հանգույցներ, ապա կստանա կախվածություն նաև կոնֆիգուրացիոն օբյեկտից Article (node.type.article) և այլն։
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.