Bepul tarqatilgan uchta asosiy cms-ni ko'rib chiqing. WordPress. Ushbu tizimda juda ko'p saytlar yaratilgan, bugungi kunda bu eng mashhur dvigatel



Download 22 Mb.
bet1/14
Sana22.01.2022
Hajmi22 Mb.
#400302
  1   2   3   4   5   6   7   8   9   ...   14
Bog'liq
Drupal 1


https://shongames.ru/

https://www.texnoman.uz/

https://www.actualidadecommerce.com/

https://hozir.org/

https://uz.birmiss.com/

Veb saytlarni yaratishda Drupal-CMS texnologiyasini qo’llash



Bepul tarqatilgan uchta asosiy CMS-ni ko'rib chiqing. WordPress. Ushbu tizimda juda ko'p saytlar yaratilgan, bugungi kunda bu eng mashhur dvigatel. Mavzular dengizi, minglab kengaytmalar, keng qo'llab-quvvatlash, ulardan foydalanish qulayligi uning ijobiy fazilatlarining faqat bir qismidir. Ammo mashhurlikning boshqa tomoni - bu zaifliklarning ko'pligi va xakerlarning qiziqishi ortishi. WordPress sayt xavfsizligi bilan kurashish kerak. Ushbu CMS-dagi resurslar qidiruv tizimlari tomonidan afzal ko'rilmaydi deb ishoniladi. Buni yana mashhurlik bilan izohlash mumkin. Shablon tuzilishi va mavzulari bilan bir xil turdagi saytlar juda ko'p. Buning uchun hech kimga sir emas yaxshiroq optimallashtirish veb-sayt dizayni ham optimallashtirilishi kerak. WordPress veb-saytini yaratish bo'yicha qo'llanmalarga qarang. Joomla!. Ikkinchi eng mashhur CMS. WordPress-ni o'rganish qiyinroq, ammo sozlamalarda yanada moslashuvchan. Joomla-da sayt yaratish bo'yicha qo'llanmalarga qarang. Drupal. Tizimni o'zlashtirishda avvalgilariga qaraganda ancha murakkabroq, ammo u ajoyib egiluvchanligi bilan ajralib turadi - agar xohlasangiz, deyarli har qanday ehtiyojga javob beradigan Drupal-da sayt yaratishingiz mumkin. O'z-o'zidan yozilgan CMS Bu buyurtma asosida boshqariladigan tizimlar. Bunday CMS mijozning barcha talablariga to'liq javob beradi, loyiha ehtiyojlariga to'liq javob beradi. Endi uni biron bir maktab o'quvchisi buzishi mumkin emas, chunki Internetda topilgan zaifliklar haqida ma'lumot bo'lmaydi. Printsipial jihatdan, o'z-o'zidan yozilgan yaxshi tizimning faqat bitta minusi - narx. Bundan tashqari, kelajakda modullar va mavzularni ishlab chiqish va texnik xizmat ko'rsatish narxi ham faqat ushbu CMS uchun buyurtma berilishi kerak - uchinchi tomon ishlab chiquvchilari tayyor kengaytmalarni yozmaydilar. Nima tanlash kerak? Hech qanday aniq javob yo'q. Hammasi byudjet, maqsad va shaxsiy imtiyozlarga bog'liq. Albatta, katta portal yoki onlayn-do'kon CMSsiz amalga oshirolmaydi, onlayn konstruktor faqatgina "o'zingiz uchun" saytlarni yaratishi mumkin, va HTML / CSS statik va kichik biznes kartalar saytlari uchun ko'proq mos keladi. Aks holda, tanlov siznikidir, mening afzalliklarim quyidagicha bo'ladi: Vizitka va blog saytlari uchun - WordPressberi ushbu CMS - bu ish haqi bo'yicha loyihani amalga oshirishning eng sodda va eng oson usuli; Kataloglari va filtrlari bo'lgan saytlar uchun - Drupal, SEO vazifalari uchun maqbul tuzilmani yaratishga imkon beruvchi juda moslashuvchan CMS, siz ham minimal kuch sarflab elementlar bilan loyiha qilishingiz mumkin ijtimoiy tarmoqlar va kichik portallar. Ko'p odamlar Joomla-da xuddi shunday qilishadi, lekin men shaxsan menga bu dvigatelni yoqtirmayman, garchi unda birinchi saytlarni yaratishni o'rgangan bo'lsam va u yanada ommalashgan bo'lsa; Mijoz saytlari uchun men tez-tez foydalanaman Netcatberi u minimal ma'muriy tajribaga ega bo'lgan foydalanuvchilar uchun ham intuitiv bo'lgan qulay administrator maydoniga ega. Bundan tashqari, ish haqi nuqtai nazaridan, loyihalar bunga juda tez joylashadi, bu men uchun tijorat maqsadlarida juda qulaydir; Men foydalanadigan 1C bilan integratsiyalashgan Internet-do'konlari uchun Bitrix, ayniqsa multistore texnologiyasini qo'llash zarur bo'lgan hollarda (agar 1C da har xil narxlar va balanslar bilan bir necha omborlar mavjud bo'lsa), men ham ba'zan onlayn savdo uchun tor profilli dvigatellardan foydalanaman Skriptni xarid qilish (pulli) va Ochiq karta(ozod). Оцените Mgid Mgid Вот как город "возвращают к жизни" Комсомольская правда Равон ва зур жинсий ҳаёт сири! Maxisize Plus Umuman olganda, bu g'oyani oddiy qilib aytganda, sizning CMS-ga modul yaratish mumkin, u yangiliklarning oldindan ko'rilishini aks ettiradi ... Menimcha, dvigatel bu PHP kodini HTML kodidan oddiy ajratishdir. uni to'g'ri chaqiring, bu vosita emas, agar biz yozadigan shartlarga ishonsangiz - bu shablon dvigatel. Umuman olganda, bu umuman muhim emas, yakuniy mahsulot mini yangiliklarni namoyish qilishi mumkin va shu bilan birga biz shablonni kodga tegmasdan o'zgartira olamiz. Ma'lumotlar bazasidan ma'lumotlarni olib tashlamaymiz, ularni to'g'ridan-to'g'ri o'zgaruvchiga yozamiz. Boshlaymiz ... Fayl yarataylik index.php unda biz quyidagi kodni yozamiz include ("module / news.php"); $ news \u003d index_page (); include ("templates / index.html"); ?> undan biz ikkita faylni birlashtirganimizni ko'rishingiz mumkin. "Modul" papkasidan biri, ya'ni. modullar, "shablonlar" papkasidan boshqasi, ya'ni. shablonlar ... Siz tushunganingizdek, biz modulning o'zi va shablonni yozishimiz kerak ... Ammo ikkita shablonni yozamiz, bittasida asosiy sahifaning, ikkinchisida mini yangiliklarning o'zi belgilanishi bo'ladi . Keling, mini yangiliklardan boshlaymiz, faylga nom bering yangiliklar.html indekslari ,,, modulimiz o'zgaruvchilar bilan almashtiriladi. Endi biz asosiy sahifaga shablon yozamiz, uni chaqiramiz index. Muntazam hTML sahifasi faqat php kodini o'z ichiga oladi Bu erda bizning yangiliklar namoyish etiladi ... Keling, modulning o'zi bilan boshlaymiz, biz uni chaqiramiz yangiliklar.php funktsiya index_page () { // O'zgaruvchilarni ma'lumot bilan to'ldiring // Bizning minnavralarimizda matn, sarlavha, sana va muallif ko'rsatiladi $ txt \u003d "Agar biror narsa yaratishda ba'zi mayda-chuydalarni unutib qo'ysangiz ... va hamma narsani qayta yozmaslik uchun kodda minimal shovqinlar bo'lishiga intilishga harakat qilsangiz, bu achinarli .."; $ txt \u003d "Bir marta bunday urinishlar muvaffaqiyatli yakunlanadi va ba'zida shunday bo'ladi, siz kodni o'z qo'llaringiz bilan o'zgartirasiz \u003d ("; $ title \u003d "(! LANG: Yangiliklar sarlavhasi 1";!} $ title \u003d "(! LANG: Yangiliklar sarlavhasi 2";!} $ author \u003d "Birinchi muallif"; $ author \u003d "Ikkinchi muallif"; $ date_b \u003d "12/10/11"; $ date_b \u003d "13/10/11"; $ sm_read \u003d file ("templates / news.html"); // Shablonni oching $ sm_read \u003d implode ("", $ sm_read); // Natijada (() funktsiyasi natijasida bizga qator berilganligi sababli biz uni yopishtiramiz for ($ i \u003d 0; isset ($ txt [$ i]); $ i ++) // Ko'rsatkichlarni o'zgaruvchilardan ma'lumotlarga o'zgartiradigan tsiklni ko'rsating { $ edd_tamp \u003d $ sm_read; $ edd_tamp \u003d str_replace ("", $ txt [$ i], $ edd_tamp); $ edd_tamp \u003d str_replace ("", $ title [$ i], $ edd_tamp); $ edd_tamp \u003d str_replace ("", $ author [$ i], $ edd_tamp); $ edd_tamp \u003d str_replace ("", $ date_b [$ i], $ edd_tamp); Оцените Mgid Mgid Вот как город "возвращают к жизни" Комсомольская правда Равон ва зур жинсий ҳаёт сири! Maxisize Plus $ news. \u003d $ edd_tamp; // Hammasini bitta o'zgaruvchiga yopishtiring } return $ news; // funktsiya natijasini ko'rsatish } ?> Aslida kichik dvigatel yozilgan ... Keling, andozalar papkasida news.html va index.html fayllarini joylashtiramiz. News.php fayli modul papkasida va index.php fayli saytning ildizida joylashgan ... Bu tezda sahifani yaratishi mumkin bo'lgan skriptning oddiy namunasidir. Siz o'qishingiz mumkin bo'lgan oddiy php dvigatel haqida ko'proq ma'lumot olish uchun Kontentni boshqarish tizimini (CMS) yaratish vazifasi yangi PHP ishlab chiqaruvchisi uchun chalkash bo'lishi mumkin. Ammo shayton u bo'yalgani kabi dahshatli emas! Ushbu o'quv qo'llanmada biz oddiy, ammo to'liq ishlaydigan tizimni noldan yaratamiz. Jarayon davomida siz MySQL ma'lumotlar bazalarini va jadvallarini yaratishni, ob'ektlar bilan ishlashni, konstantalarni, tarkibiga kirishni, sessiyalarni va boshqa PHP vositalarini o'rganasiz. Shuningdek, biz sizga dastur mantig'ini taqdimotdan ajratish va PHP kodini yanada xavfsiz qilish usullarini ko'rsatamiz. O'zingizning orzuingiz tizimini yaratishda siz bundan ham ko'proq foydali narsalarni topasiz. Demo-sahifada tugallangan dasturning ishini ko'rishingiz mumkin (xavfsizlik sababli "faqat o'qish" rejimi yoqilgan, shuning uchun maqolalarni qo'shish, o'zgartirish yoki o'chirish imkoniyati bo'lmaydi). Shuningdek, siz bizning kichik CMS-ning to'liq PHP-kodini tarjima qilingan sharhlar bilan yuklab olishingiz mumkin. Eslatma: dars materiallarini o'rganish uchun sizga PHP moduli o'rnatilgan Apache veb-server va MySQL-server kerak bo'ladi. Ishlash uchun mahalliy kompyuter veb-ishlab chiquvchi vositalardan birini ishlatishingiz mumkin: XAMPP (yoqilgan) ingliz tili), Denwer, Open server yoki boshqalar. Xavfsizlik bo'yicha eslatma Haqiqiy loyihalarda config.php-ni veb-saytning ildiz katalogidan tashqarida joylashtirish yaxshiroqdir, chunki fayl nomlari va parollarini o'z ichiga oladi. Odatda PHP kodini brauzerda ko'rish mumkin emas, lekin ba'zida veb-serverning noto'g'ri konfiguratsiyasi tufayli kod mavjud bo'ladi. Parollarni aralashtirish uchun hash () funktsiyasidan foydalanishingiz va oddiy matnli parollar o'rniga config.php-da xeshlarni saqlashingiz mumkin. So'ngra, foydalanuvchini ro'yxatdan o'tkazishda siz yana kiritilgan parolni kodlash va natijani config.php-da saqlangan xash bilan solishtirish uchun yana hash () funktsiyasidan foydalanishingiz mumkin. Keyingi darsda biz dasturimizning asosiy klassi - Maqolani tuzamiz. Eng oddiylaridan biri etarli samarali usul sayt yaratish - bu tayyor CMS-da sayt yaratish. Chunki har qanday turdagi juda ko'p bepul echimlar bu savol uchun keraksiz ssenariylar va shunga o'xshash narsalarni sotib olishga ortiqcha pul sarflashingiz shart emas. Hammasi nihoyatda sodda va tushunarli. Men aniq raqam haqida gapirishni o'ylamayman, lekin Internetdagi saytlarning yarmidan ko'pi CMS-da yozilgan va bu usul veb-sayt yaratish tezlashib borishni to'xtatmaydi. Siz veb-dasturlashning xususiyatlari va murakkabliklarini o'rganishingiz shart emas, siz qandaydir dasturchi bo'lasiz, shunchaki ma'lum bir CMS-dan foydalanish bo'yicha ko'rsatmalarni o'rganishingiz kerak va shu bilan tamom. Turli xil murakkablikdagi saytlar tayyor echimlarda tayyorlanadi, siz odatdagi statik sahifani ham, butun onlayn-do'konni ham yaratishingiz mumkin, bu vazifaning murakkabligi to'g'ri CMS-ni tanlash va, albatta, uni sozlash bilan bog'liq. Ushbu echimlar juda yaxshi ishlab chiqilganligi sababli osongina topishingiz mumkin bepul shablon chiroyli dizayni bilan, kerakli funktsiyalarni takomillashtirish va bajarish uchun barcha turdagi plaginlar va kengaytmalar. Sizga ushbu saytni yaratish variantining barcha asosiy afzalliklari va kamchiliklarini iloji boricha batafsil bayon etishga harakat qilaman: Mehnat zich. O'rtacha, chunki oxir-oqibat siz hamma narsani o'zingiz qilasiz va shunga muvofiq siz materialni o'zingiz o'rganishingiz va barcha ishlarni bajarishingiz kerak bo'ladi. Shubhasiz plyus, men dastlab veb-dasturlashni yaxshi bilmaydigan odamlar uchun yozilgan oddiy ko'rsatmalar mavjudligini va shunga ko'ra, CMS ma'muriy panellarining o'zi shularni hisobga olgan holda yozishim mumkin. Sifat. Albatta, sifat eng yuqori darajada qoladi, chunki kodning o'zi mutaxassislar tomonidan yozilgan va shunga muvofiq ular nima qilayotganlarini bilishadi. Ammo shunday salbiy nuqta borki, oxir-oqibat siz ma'lum bir CMS imkoniyatlari doirasi bilan cheklanib qolasiz va har doim ham o'zingizning fikringizni kerakli va kerakli va etarli darajada amalga oshira olmaysiz. yaxshi bilim veb-dasturlash, lekin har doim ham hamma narsa ular bilan ishlamaydi. Moliyaviy xarajatlar. Ushbu lahza, albatta, yoqimli moliyaviy xarajatdir, sizda hech qanday mablag 'bo'lmaydi, chunki hamma narsa bepul, darslar va ko'rsatmalar va albatta CMSning o'zi. Sizning hamyoningiz buzilmasligi uchun. Rivojlanish istiqbollari. Ha, albatta ular, lekin aytganimdek, ular tanlangan CMS uchun plaginlarni yangilash va yaratish ko'lami bilan cheklanadi. Va agar siz biror narsani tubdan o'zgartirmoqchi bo'lsangiz, unda butun CMS-ni boshqasiga o'zgartirishingiz kerak bo'lishi mumkin, shuning uchun ma'lum bir variantni tanlashdan oldin siz tanlagan CMS-ning barcha imkoniyatlarini bilib oling va o'zingizning saytingizda nimani ko'rishni xohlayotganingizni oldindan o'ylab ko'ring. kelajakda va u qanday funktsiyalarni bajarishi kerak. CMS-da saytni yaratishni o'rganish va yaratishni boshlash uchun siz uchun turli xil CMS-lar bo'yicha ularni o'rganish bo'yicha batafsil darslar bilan ma'lumot bo'limi yaratildi: Saytning ushbu qismida eng ommaboplarga bag'ishlangan darslar mavjud CMS Joomla, shu asosda Internetda juda ko'p sonli turli yo'nalishdagi saytlar yaratilgan. Oddiy vizitka sayti, shunchaki kerakli shablonni tanlang, matnni yozing va shu bilan tugadi. Etarli darajada yuqori sifatli Blog, ushbu funktsiyani amalga oshirish uchun sizga bir nechta qo'shimcha komponentlar kerak bo'ladi, ammo bu muammo emas. Deyarli har qanday o'lcham va murakkablikdagi onlayn-do'kon. Sayt katalogi yoki fayl arxivi. Portal - standart Joomla funktsiyalaridan foydalangan holda amalga oshiriladi Galereya sayti kuchli rasmlar yoki videolar galereyasini yaratadi, buning uchun Joomla etarli kengaytmaga ega 7. Odamlar o'rtasidagi aloqa uchun sayt - Joomla uchun saytga tashrif buyuruvchilar o'rtasida aloqani amalga oshirish uchun maxsus yaratilgan juda ko'p sonli komponentlar va modullar mavjud. Оцените Mgid Mgid Вот как город "возвращают к жизни" Комсомольская правда Равон ва зур жинсий ҳаёт сири! Maxisize Plus Ushbu bo'lim butunlay eng mashhur bloglash vositasi WordPress bilan ishlash bo'yicha qo'llanmalarga bag'ishlangan. Eng ommabop va talab qilinadigan blog yuritmasi nafaqat bepul tarqatiladi, balki doimiy ravishda yangilanadi va takomillashib boradi. Ushbu CMS asosida qanday saytlarni yaratishingiz mumkin: Blog, albatta, ushbu vosita yaratilgan birinchi va asosiy yo'nalishdir. Muntazam statik saytni yaratish, asosan, har qanday CMS mumkin Reklama sayti maqolalar katalogi Fotogalereya veb-sayti Forum Qancha kulgili bolalar Va hamma velosiped ishlab chiqaradi. Va ulardan biri ertalab Porox bilan keladi. Viktor Tsoy. Avvaliga men "Men PR" bo'limida o'zimning qanday buyuk hamkasb ekanligim va qanday ajoyib ish qilganim haqida maqola yozmoqchi edim, lekin tarmoqni biroz qidirib topgach, ajablanmasdan topdimki, men noyob emasman . Keyin men teskari tomonga o'tishga qaror qildim: ehtimol deyarli har bir veb-dasturchi hayotida kamida bir marta to'laqonli CMS yozishga harakat qiladi. Shu bilan birga, loyihalash jarayonida (va bu jarayon, ko'pincha, kodni yozish paytida allaqachon sodir bo'ladi), ishlab chiquvchi, albatta, savollar tug'diradi. Ushbu savollar bilan u qidiruv tizimlariga murojaat qiladi va shu kabi tirnoqlardan o'tganlarning saytlariga kiradi. Shunday qilib, men boshlang'ich "velosiped dizaynerlari" menga qanday talablar bilan murojaat qilishlarini ko'rib chiqdim va ish boshida men uchun aniq bo'lmagan narsalarni ta'kidlashga harakat qildim. 1. MVC - bu bizning hamma narsamiz! Veb-ilovalarni ishlab chiqish bo'yicha suhbat qaerga bormasin, MVC (Model-View-Controller) zamonaviy qisqartmasi darhol paydo bo'ladi. Ushbu yondashuv interfeysni mantiqdan, mantiqni esa ma'lumotlardan ajratish kerakligini aytadi. Men bu g'oyalar bilan to'la shug'ullanganman deb aytmayman, lekin dizayndagi (yoki hatto dizayndagi) o'zgarishlar kodning mantig'iga ta'sir qilmasligi kerak - men og'izdan ko'pik bilan himoya qilishga tayyorman :) Bu erda birinchi raqamli tirnoq ham joylashgan: tashqi ko'rinish dastur mantig'idan ajratilishi kerak. Buni qanday qilish kerak - har kim o'zi uchun qaror qiladi. Ushbu masala bo'yicha bir nechta nusxalar buzilgan: har xil shablon dvigatellari va xslt transformatsiyalari va faqat php + html alohida fayllarda chiqarilgan. Tanlov katta, ammo odatdagidek "kumush o'q" mavjud emas: tarozining bir tomonida egiluvchanlik, ikkinchisida ravshanlik yotadi. Hatto Smarty ham "kichkintoylar uchun dasturlash" bilan ko'plab foydalanuvchilarga qiyin bo'lib tuyuladi. Shunday qilib, biz tizimni "qutidan tashqariga" chiqarib, uni minimal dasturlash bilimlari bilan o'z ehtiyojlari uchun faylga yozishni istagan foydalanuvchiga e'tibor qaratadigan bo'lsak, unda bu sizning boshingizni sindirishga arziydi. Bunga qo'shimcha ravishda, dizaynlar o'zgarishi mumkin va ehtimol ular tezda ham bo'lishi kerak. Ya'ni siz ularni qulay saqlash va tahrir qilishni ta'minlashingiz kerak. Ko'pchilik e'tiborsiz qoldirgan yana bir narsa: dizaynni tahrirlash va yangilash oson bo'lishi kerak. Agar siz hamma narsa jadvallar bilan mahkamlangan va JavaScript-ning qismlari "mantiqdan" biron bir joydan tikilgan ikki yuz shablonlardan iborat bepul forum dizaynini moslashtirishingiz kerak bo'lsa, unda siz aniq nimani ko'rishni istamasligingizni bilasiz. . Men ushbu qurilishni o'ylab topdim: maxsus dizaynda faqat asosiy dizaynda mavjud bo'lmagan narsalar mavjud. Ya'ni, eng minimalist holatda dizayn dizayni nomi bilan bo'sh katalogdan iborat. Bunday holda, dizayn asosiy bilan bir xil ko'rinishi aniq, chunki barcha etishmayotgan qismlar undan qarzga olinadi, ammo boshlang'ich nuqtasi sifatida bu juda qulaydir. Agar dizaynda CSS paydo bo'lsa, tizim avtomatik ravishda unga o'tadi (html hanuzgacha bazadan olingan bo'lsa). JS bilan ham xuddi shunday. Bunga nima erishamiz: foydalanuvchi dizaynida faqat o'zi yaratgan fayllar mavjud. Foydalanuvchiga qaysi faylni tuzatganini va qaysi birini ishning boshida bazaviy dizayndan ko'chirganini eslashi shart emas. Shuningdek, sayt asosiy dizayndagi deyarli barcha yangiliklarni buyurtmachini tahrir qilmasdan namoyish etadi. Bunday tizim menga qulay va mantiqiy tuyuldi, ammo ba'zilariga bu biroz kutilmagan bo'lib tuyuldi. Uni qabul qilasizmi yoki o'zingiznikini o'ylab topasizmi - o'zingiz qaror qilasiz. 2. Saytning tuzilishi Keling, yadroni yozishni boshlaymiz. Yadro nima qilishi kerak? Va u barcha "iflos" ishlarni bajarishi kerak: sayt sozlamalarini, foydalanuvchi guruhlarining huquqlari va sozlamalarini, ishlatilgan modullarni, shablonlarni, keshlash parametrlarini, lokalizatsiya va boshqalarni aniqlang. Ya'ni, plaginlar ishlay boshlaguncha, ular o'zlarini qiziqtirgan barcha ma'lumotlarni yadrodan olishlari mumkin. Bu dahshatli tuyuladi, ammo bularning barchasi yozish va ishlash nisbatan oson, agar siz elementlarning o'zaro ta'sirini aniq tushunsangiz. O'zim qaror qildimki, sayt ma'lumotlar bazasida biron bir joyga tashlangan sahifalar to'plami emas, balki qat'iy ierarxiya bo'ladi. Natijada, sayt tuzilishi daraxtga o'xshaydi va etishmayotgan qismlar, xuddi dizayndagi kabi, ota-onadan meros bo'lib olinadi. Foydalanuvchilar guruhlarining tuzilishi ham daraxtga o'xshashdir - huquqlar va sozlamalar ham ota-onadan meros bo'lib qolgan. Lokalizatsiya fayllari va modullari ham oddiy ierarxiyaga ega. Aniq iyerarxiya har qanday yoqimsiz narsalarni o'zgartirishga imkon berdi avtomatik ishlab chiqarish sayt xaritalari, turli xil menyular, huquqlarni taqsimlash (ha, biron bir guruhga huquq berish uchun, har birini tahrirlash umuman shart emas - ierarxiyani belgilash kifoya) va hk. Yashang va xursand bo'ling! Va agar tirnoq bo'lmasa, hamma narsa yaxshi bo'lar edi: Birinchi tirnoq. Keshlash. Men o'zimning "mega-dvigatel" ni ishlab chiqayotganimda, bu qandaydir keshlashgacha emas edi ... Va sizningcha, nima qiyin? Men sahifani o'zgaruvchiga qo'ydim, faylga saqladim va keyingi safar u erdan ko'rsatdim. Biznes ... istalgan vaqtda biriktirishingiz mumkin! Oh ... va bizda ro'yxatdan o'tgan foydalanuvchilar uchun yana bir sahifa bor ... Hmm ... yaxshi, o'ylab ko'ring - biz ikkita sahifani keshga saqlaymiz! Va sarlavhada siz "salom, Vasya" ni ko'rsatishingiz kerak ... yaxshi, keyin sarlavhadagi bu qism keshlanmasligi kerak. va podvaldagi bir xil qism ... va o'rtada ... Hmm ... Men hali ham sahifaning turli qismlarini turli davrlar uchun keshlashim kerak ... Biz o'tirib, keshlash uchun dvigatel va keshlash tizimini qayta yozamiz. bloklar - shuning uchun har bir blokning ishlash muddati bor. Ikkinchi tirnoq. Keshlash. Qanaqasiga?! Qayta keshlash kerakmi? Biz allaqachon hamma narsani chiroyli qildik! Ha, bajarildi ... va hattoki har bir foydalanuvchi uchun uning asosida tarkib yaratish vazifasi paydo bo'lguncha ham ishladi shaxsiy sozlamalar... Shu bilan birga, kesh hajmi reaktiv qiruvchi tezligi bilan o'sib boradi va uning tarkibi yana so'ralgandan ancha oldin eskiradi. Saytni tezlashtirish o'rniga, biz uni sekinlashtiramiz va gigabayt keraksiz keshlangan sahifalar ... Saytdagi asosiy skript "uning ulug'vorligi" keshni bekor qiluvchi hisoblanadi. Hmm ... dvigatelni qayta yozing: bu safar biz keshlashni ma'lumotlar bazasi so'rovlari darajasida amalga oshiramiz, chunki bu ishlashdagi to'siq. Qayta yozish ... hamma narsa nirvana. Uchinchi tirnoq. Keshlash. Siz o'zingizning ijodingizga qaraysiz va o'zingizni to'liq ahmoqdek his qilasiz: butun sahifani saqlash o'rniga, men uni har safar yarataman. Ammo keshlash aksincha aniqlik bilan o'ylab topilgan! Qanday qilib men shunday yorildim? Natijada natija shundan iboratki, ba'zi modullar blok-keshlangan, ba'zilari esa so'rovlar-keshlangan. Bu oylar davomida kamdan-kam o'zgargan narsalarni, masalan, sayt menyusini keshda saqlashga imkon berdi. Men o'zim uchun olgan darsim quyidagicha: tizim dastlab shunday bajarilishi kerakki, bajarilishning ma'lum bosqichlarida keshga osongina joylashtiriladigan yoki u erdan olinadigan ma'lumotlarni guruhlash kerak. Keshlash tizimini dvigatel bilan qattiq bog'lab qo'ymaslik kerak, chunki bugun keshni fayllarda saqlash kifoya, va ertaga (yoki bugun kechqurun ham) memcache-server bilan ishlash boshlanadi. Dvigatelni yozish jarayonida, shuningdek, qayta ishlash haqida aqlli kitobni o'qish ... yoki dvigatelni yozgandan keyin o'qish mantiqan to'g'ri keladi. Qanday bo'lmasin, bundan uchalasi ham (siz, dvigatel va kitob) foyda ko'rishi mumkin. 3. Modullik. Zamonaviy tizimni "o'z-o'zidan narsa" deb tasavvur qilish qiyin - uning funktsiyasini kengaytirish uchun interfeyslarga ega bo'lishi kerak. Shunday qilib, biz CMS-ning eng mazali qismiga - yozuv modullariga o'tamiz. Bu erda ko'plab savollar mavjud: modul qanday bo'lishi kerak, tizimga qanday ulanish kerak va hokazo. Ba'zi tizimlarda modullarni chaqirish tizimning yadrosida qattiq kodlangan, shuning uchun siz modul yozishni yoki uchinchi tomonni o'rnatishni xohlasangiz, kiring manba kodi, o'zingizni o'rnatish qo'llanmasi bilan qurollang va tegishli qo'ng'iroqlarni kodga yozing. Yondashuvning barcha aqlsizligi uchun ko'plab tizimlar xuddi shunday ishlaydi. Ushbu echimning o'zgarishi mavjud: har bir modul katalogdagi alohida fayl. Bunday holda, biz nafaqat modulni yadroga yozish zarurligini, balki uni bitta fayl sifatida bajaramiz. Shuningdek, faol shablonlarga ega variantlar mavjud edi: ya'ni ular shablonga (module_name) kiritdilar va ajratuvchi ushbu yorliqqa yetganda, modul_name moduli bajarishga chaqirildi, natijasi teg o'rnida. Ehtimol, bu yo'l qulaydir, ammo bu holda biz nafaqat mantiqni vakillikdan ajratib olmadik, balki aksincha - ularni yaxshilab aralashtirdik. Muayyan miqdordagi zarbalardan so'ng men, ehtimol, qisqalik va soddalik modeli bo'lmagan tizimga keldim, ammo menimcha, bu juda qulay. Har bir modul - bu alohida katalog bo'lib, undan yadro faqat bitta faylni chaqiradi (index.php). Ushbu fayl ikkalasi ham "Salom dunyo!" ko'rsatishi va hiperspace kvazi-emitenti uchun boshqaruv fayllarini qo'shishi mumkin - bu modul ishlab chiqaruvchisi uchun qulay bo'ladi. Xuddi shu katalogda modul parametrlari, mumkin bo'lgan sozlamalar va huquqlar tizimi tavsiflangan xml fayli mavjud. Ushbu fayl tizim o'zi modullarni qo'shishi va ushbu bosh og'rig'ini foydalanuvchiga yuklamasligi uchun ishlatiladi: "modulni o'rnatish" tugmachasini bosgan - iltimos, oling. O'rnatishni aniqladik. Yangi muammo paydo bo'ladi - foydalanuvchiga bitta sahifada, masalan, fotoalbomni va masalan, forumni joylashtirishiga qanday yo'l qo'ymaslik kerak? Sog'lom aqlga ishonish befoyda, shuning uchun modullarni yozish kerak. Ushbu turdagi bitta modul bo'lishi mumkin (men bunday modullar uchun "komponent" tushunchasini biron joyda ko'rganman) sahifada faqat bittasi bo'lishi mumkin. Xo'sh, sahifada bitta komponent bo'ladi, ammo boshqalar ko'p bo'lishi mumkin - ular qanday tartibda ulanishi kerak? Axir, agar ishining oxirida foydalanuvchini o'zgartiradigan biron bir terini almashtirish moduli bo'lsa, bu ahmoqlik bo'lar edi uy sahifasi sayt, juftlashish davrida quyonlar sonining dinamikasini tahlil qilish uchun modul ishlagandan so'ng ulanadi - va biz tahlil natijalarini ko'rmaymiz va hisob-kitoblarga vaqt sarflaymiz. Shuning uchun modullar ularni ulash tartibini kelishib olgan bo'lishi kerak. Ba'zilar buning uchun nix darajadagi analogni taklif qilishadi, bu erda har bir modul uchun qaysi modullar o'rtasida ulanish kerakligini ro'yxatdan o'tkazish kerak. Foydalanuvchi sifatida ushbu qaror meni chalkashliklarga yo'liqtirdi, lekin ishlab chiquvchi sifatida men deyarli bir xil narsani o'ylab topdim: modullar uchta katta guruhga bo'lingan. Guruhlardan biri allaqachon aytib o'tilgan "komponent", qolgan ikkitasi faqat bitta guruhning modullari komponentdan oldin, ikkinchisi esa undan keyin ulanganligi bilan farq qiladi. Bundan tashqari, men ushbu ajratishni foydalanuvchidan yashirdim, shunda u uchun faqat "komponent" va "shunchaki modul" mavjud edi. Shunday qilib, modul ishlab chiqilgan, ulanish to'g'risida qaror qabul qilingan ... Endi biz uni qanday sozlashni va unga qanday kirishni hal qilishimiz kerak. Va bu erda hamma narsa oddiy: bizning yadrosimiz "iflos" ish uchun mo'ljallangan bo'lsa, unda bosh og'rig'i bo'lsin - xml-dagi modul sozlamalar ro'yxatini chiqardi va yadro uni tahlil qilsin, saqlasin va so'rov bo'yicha taqdim etsin - bu shunchaki. Rivojlanish jarayonida duch kelgan yana bir muammo - bu modullar o'rtasida ma'lumotlarni uzatish. Muammoning shartlariga ko'ra, ular bir-birlari haqida hech narsa bilishmaydi va yadro tomonidan raqamlar tartibida chaqiriladi. Lekin men yangiliklarni bir moduldan ikkinchisiga etkazmoqchiman! Buning uchun men global o'zgaruvchilar uchun maxsus sinfni joriy qildim, u erda har bir modul undan keyin keladiganlarga xotirada biror narsani saqlashi mumkin. Ehtimol, bu juda oqilona echim emas. 4. Yangilanishlar Siz har doim eng so'nggi versiyaga ega bo'lishni xohlaysiz, ammo buning uchun minimal tana harakatlarini bajaring. Shuning uchun yangilanish jarayonini avtomatlashtirish istagi paydo bo'ldi. Va bu erda yana echimlar hayvonot bog'i mavjud, ammo u juda keng emas, ammo shunga qaramay. Eng ilg'orlari barcha kataloglarga 777 ta, fayllarga 666 ta ruxsat o'rnatishni taklif qiladi va keyin "skript hamma narsani o'zi bajaradi". Bu Grand Canyon o'lchamidagi xavfsizlik teshigi ekanligi unchalik ahamiyatga ega emas. Ikkita variant uchun g'oyalarim bor edi: skript yangilanishlarni vaqtinchalik katalogga yuklab oladi, so'ngra foydalanuvchidan FTP kirish parametrlarini so'raganidan so'ng, o'zi yangilanadi. Shuning uchun unga qo'shimcha huquqlar berishning hojati yo'q va hamma narsa avtomatik ravishda ro'y beradi va yangilanishlar serverda kuzatiladi ... faqat siz har safar foydalanuvchidan FTP kirish parametrlarini so'rashingiz yoki ularni o'sha erda saqlashingiz kerak. ya'ni bitta tuxumdagi barcha tuxumlar. Shuning uchun men yana bir variantni afzal ko'rdim: foydalanuvchi o'zi yangilanishlarni yuklab oladi (arxiv yoki svn orqali), ularni saytga yuklaydi va saytdagi kod "yangi" bo'lib qolganini his qilib, ma'lumotlar bazasiga kerakli tuzatishlarni kiritadi va / yoki sozlamalar ... Ammo birinchi variant hali ham chiroyli edi ... lekin men jur'at etolmadim. Bu mening "velosiped qurilishim" ning eng unutilmas bosqichlari. Buni o'qib, ishimning boshida men bunga o'xshash narsalarni uchratmaganimdan va o'zimda "to'g'ri" savollar berish uchun etarli tajriba va g'alayonlarga ega bo'lmaganimdan juda afsuslanaman. Men bilan tugagan narsa siz

Источник: https://shongames.ru/uz/windows-7/php-uroki-po-sozdaniyu-cms-cms-svoimi-rukami-teoriya-velosipedostroeniya/

manba


Download 22 Mb.

Do'stlaringiz bilan baham:
  1   2   3   4   5   6   7   8   9   ...   14




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©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