Иштин максаты жана актуалдуулугу. 2 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Иштин максаты жана актуалдуулугу. 2

Поиск

ИНЖЕНЕРДИК ФАКУЛЬТЕТ

КОМПЬЮТЕРДИК ИНЖЕНЕРИЯ БӨЛҮМҮ

() Студент дипломдук ишти жактоо сынагына кире алат.

() Студент дипломдук ишти жактоо сынагына кире албайт.

Бөлүм башчысы: ф-м.и.к., доц. Райымбек Султанов

Датасы Колу

....../......./...........................................

 

БАКАЛАВР ОКУУ ПРОГРАММАСЫНЫН ДИПЛОМДУК ИШИ

ТЕМАСЫ:

«Онлайн түрдө дисктерди сатуу жана фильмдерди көрүү веб-сайты. »

Студенттин:

Аты-жөнү: Азамат Курманбеков

Студениттик номери: 0904.01033

 

Жетекчиси:

Аты-жөнү: Чынара Жумабаева

Наамы: ага окутуучу, т.и.к.

 

 

Бишкек, 2014


 

КЫРГЫЗ РЕСПУБЛИКАСЫНЫН БИЛИМ БЕРҮҮ МИНИСТРЛИГИ

КЫРГЫЗ-ТҮРК МАНАС УНИВЕРСИТЕТИ

ИНЖЕНЕРДИК ФАКУЛЬТЕТ

КОМПЬЮТЕРДИК ИНЖЕНЕРИЯ БӨЛҮМҮ

() Студент дипломдук ишти жактоо сынагына кире алат.

() Студент дипломдук ишти жактоо сынагына кире албайт.

Бөлүм башчысы: ф-м.и.к., доц. Райымбек Султанов

Датасы Колу

....../......./...........................................

 

БАКАЛАВР ОКУУ ПРОГРАММАСЫНЫН ДИПЛОМДУК ИШИ

ТЕМАСЫ:

«Онлайн түрдө дисктерди сатуу жана фильмдерди көрүү веб-сайты. »

Студенттин:

Аты-жөнү: Азамат Курманбеков

Студениттик номери: 0904.01033

 

Жетекчиси:

Аты-жөнү: Чынара Жумабаева

Наамы: ага окутуучу, т.и.к.

Колу: ……………………………

 

Жактоо баасы Комиссиянын төрагасы:

...................(сан менен) э.и.к., доц. Бейшенбек Укуев

...................(жазуу жүзүндө) Колу..........................................

 

Бишкек, 2014


Аннотация

Ачкыч сөздөр: Административдик панель, онлайн каталог, заказ, дисктер, фильмдер, онлайн көрүү.

Дипломдук иш 61 барактан, 14 жадыбалдан, 19 сүрөттөн турат.

Изилденичүү объект: «Cinemax» атту команиянын веб-сайты.

Долбоордун негизги максаты: DVD дисктерди сайт аркылуу таркатуу жана “Cinemax” атту компаниянын имиджин жогорулатуу.

Долбоор төмөнкү көйгөйлөрдү чечүүгө умтулат:

· Дүң соода кылуучу заказчиктердин заказ кылууда кыйынчылыктарды жок кылуу

· Базарга барып сатып алуу

Долбоор төмөнкү мүмкүнчүлүктөргө ээ:

· Онлайн каталог жүргүзүү

· Кооз дизайн

· Жеңил интерфейс

· Заказ кылуунун жөнөкөйлүгү

· Каттоо

· Фильмдерди онлайн көрүү

 

Долбоор сайт болгондуктан жана жогоруда айтылып кеткен баардык касиеттерин жогорку сапатта ишке ашырыш үчүн PHP – тилинде жазылды. Иштетилип чыгып жаткан учурда ар кандай технологиялар колдонулду. Алар жөнүндө маалымат дагы айтылат.

 

Özet

Anahtar kelimeler: İdari paneli, online katalog, sipariş, diskler, filmler, online izleme.

Bitirme tezi 61 sayfadan, 14 tablodan, 19 resimden oluşmaktadır

Amaç: DVD diskleri sitenin yardımıyla yayılması.

 

İkincil amaçlar:

· Reklam

· Yeni müşterileri çekme

· Toptan müşterileri artırmak

· Hizmetlerin kalitesin ve hızın geliştirme

· Teklif edilen hizmet yelpazesinin artırılması

· Hizmetçiler, stüdyonun işleri hakkı22nda bilgilerin sağlanması

 

Proje aşağıdaki sorunları çözüyor:

· Toptan müşteriler sipariş yaparken zorlukları yok etme

· Piyasaya gidip satın alma

Aşağıdaki avantajlara sahip:

· Online katalog yönetimi

· Güzel dizayn

· Kolay arayüz

· Sipariş yapma basitliliği

· Kayıt yapma

· Filmleri izleme

Proje site olduğu için ve yukarıda yazılan özellikleri gerçekleştirmek için PHP dilin kullandım. Gelişme sırasında farklı teknolojiler kullanıldı. Onlar hakkında bilgi verilecek.

 

 

Мазмуну

Киришү. 1

Интернет аудитория. 6

1.3 Интернет дүкөндүн функционалдык мүмкүнчүлүктөрү. 6

1.4 Интернет дүкөндү иштеп чыгуу процесстердин фазалары. 7

PHP.. 12

2.4 Web-тиркемелер үчүн берилиштер базасы жана БББС.. 16

MySQL.. 18

2.6 Модель – көрүнүш – башкаруу. 19

Фрэймворк. 20

Symfony Framework. 20

Doctrine 2. 22

Берилиштер базасы.. 28

Коддук реализация. 37

SearchController.php. 46

4. Интернет-дүкөндүн колдонуу көрсөтмөлөрү. 49

4.1 Интернет дүкөндү башкаруу. 49

Административдик панель. 50

4.3 Колдонуучулар үчүн интернет-дүкөн. 54

Каттоо процесси. 54

Каталог. 56

Заказ кылуу процесси. 56

4.3.4 Онлайн көрүү функционалы.. 58

Корутунду. 59

Колдонулган булактар. 60

Глоссарий. 61

 

Сүрөттөр тизмеси

 

1.1-сүрөт. Электрондук коммерциянын фазалары.. 7

2.1-сүрөт. MVC.. 19

3.1-сүрөт. MVCде түзүлгөн тиркеменин иштөө принциби. 24

3.2-сүрөт. Файлдар архитектурасы.. 25

3.3-сүрөт. src/ - бандлдар директориясы.. 26

3.4-сүрөт. Берилиштер базасы. Негизги маңыз. 28

3.5-сүрөт. Онлайн көрүү функционалынын жадыбалдары.. 35

4.1-сүрөт. Административдик панельге кирүү формасы.. 50

4.2-сүрөт. Админ панель. 51

4.3-сүрөт. Диск кошуу формасы 52

4.4-сүрөт. Дисктердин тизмеси. 53

4.5-сүрөт. Фильтрлөө формасы.. 53

4.6-сүрөт. Колдонуучуну каттоо формасы.. 54

4.7-сүрөт. Колдонуучун авторизация формасы.. 55

4.8-сүрөт. Дисктердин каталогу. 56

4.9-сүрөт. Диск кошулганын билдирген Popup. 57

4.10-сүрөт. Интернет дүкөндүн кутучасы.. 57

4.11-сүрөт. Төлөм формасы.. 58

4.12-сүрөт. Фильмдердин каталогу. 59

 

Жадыбалдар тизмеси

 

1.1-жадыбалы. Башкаруу интерфейсинин функионалдык мүмкүнчүлүктөрү. 6

Интернет аудитория

Негизги кардаарлардын көпчүлүгү – орто же жогору кирешеси болгон 25-40 жакштагы эркек кишилер.

Сатып алуучулардын бир нече тобу бар:

· 1 топ – китеп заказ кылуучу кардаарлар, биринчиден өзүнүн кесиптик иш-аракетине керек боло турган китептерди заказ кылышат.

· 2 топ – “кызыккандар”. Бул категорияга оюнчуктардын, китептердин, тасмалардын ж.б. коллекционерлери кирет. Бул кардаарлар өзүнүн кызыкчылыктарын канааттандырыш үчүн товарларды заказ кылышат.

· 3 топ – түрдүү товарларды заказ кылуучу кардаарлар. Мисал катары: кийимдер, сувенирлер, электроникалар, турмуш-тиричилик техникалар, күндөлүк турмуштун буюмдары. Ушул кишилер кызыктуу жана оригиналдуу модельдерди жөнөкөй дүкөндөргө салыштырмалуу арзан баага сатып алабыз деп эсептешет.

· 4 топ – “жаңылык сүйүүчүлөр”. Базарга чыга элек товарларгы ээ болуу калашат. Эреже катарында, алар колунда бар кишилер.

 

1.3 Интернет дүкөндүн функционалдык мүмкүнчүлүктөрү

Дүкөндү башкаруу каражаттары түрдүү маселелерди чечиши мүмкүн: жөнөкөй отчетторду түзүүдөн жана заказды көзөмөлдөөдөн баштап берилиштер базасын толук баалуу амал аткарууга чейин.

 

 

1.1-жадыбалы. Башкаруу интерфейсинин функионалдык мүмкүнчүлүктөрү

Функциялар Түшүндүрмө
  Функция Товарлардын жана тейлөөлөрдүн сунушталган ассортиментин сөз жүзүндө же/жана көрсөтмөлүү баяндоо.
  Товарларды башкаруу Дүкөндүн товарлары менен амалдар Web – серверден түздөн түз ишке ашыралат. Товарлардын жазылышы Web – баракчаларда түзүлөт, жаңыланат жана өчүрүлөт.
  Заказдарды көзөмөлдөө жана отчет түзүү Отчеттор берилиштер базасынын(MicroSoft Access ж.б.) форматында же болбосо талааларды үтүр аркылуу бөлүү менен ASCII – файл түрүндө генерацияланат.
  Бөлүмдөрдү башкаруу Бөлүмдөр боюнча товарлардын классификациялоо башкаруу каражаттары.
  Сатып алуучулардын маалыматын башкаруу Сатып алуучуоардны профильдүү маалыматын сактоо жана автоматтык түрдө тануу.
  Коопсуздук Коопсуздуктун жогорку деңгээли текшерилген жана керектүү ыйгарым укугуна ээ болгон колдонуучуларга башкаруу функцияларга кирүү гарантиялайт.
  Жарнама каражаттарын башкаруу Маркетинг адистериин сунуштоосу боюнча жарнама кампанияларын, сатып түгөтүү, горизонталдуу жана вертикалдуу байланыштарын башкаруу.

 

1.4 Интернет дүкөндү иштеп чыгуу процесстердин фазалары.

Интернет дүкөндү түзүп баштоодон мурун электрондук коммерцияны жакшылап түшүнүү зарыл. 1.1-сүрөттө сатып алуу процессинин схемасы көрсөтүлгөн. Төрт бурчтук блоктор кардаардын аракетин көрсөтөт, сүйрүсү болсо кардаардын тиешеси жок аракеттер көрсөтүлгөн. Баардык фазалар зарыл болуп эсептелбөөсүн эске алуу керек.

Маркетинг жана керектөөчүгө багыттоодо жаңылык деле жок. Эң негизги максат веб-сайтка мүмкүн болгон сатып алуучуларды тартуу. Эгер колдонуучуга сайтка кирүүдө көргөн нерселери жакса, ал айрым товарлардын маалыматын камтыган баракчаларын карай баштайт. Негизи колдонуучу биринчиден бөлүмдү тандайн, анан кийин ошол бөлүмдөгү товарларды. Убакыт өткөн сайын сатып алуучу сатып түгөтүү, жарнама кампаниялар, өз ара байланышкан жана өркүндөтүлгөн товарлар жөнүндө маалымат бюнча кызыга башташы мүмкүн.

Кийинки этапта сатып алуучу “кутучага” товарларды тандап алат. Кутуча заказга тиешелүү тандалган товарлардын саны, баасы, атрибуттары(өң, өлчөм) ж.б. маалыматарды камтыган кадимки тизмеси катары көрсөтүлөт.

Кардаарга кутучадагы баардык маалыматты толук тазалоого, айрым позицияларды гана өчүрүүгө же заказ болгон товарлардын санын көбөйтүүгө мүмкүнчүлүк берет.

Сатып алуучу тандалган товараларга ээ болууга даяр болсо, төлөм фазасына өтөт. “Кардаар/бизнес” моделинде сатып алуучу жеткирүүгө даректүү маалыматтарын киргизет. Андан тышкары ушу фазада, кээ бир учурда жардамчы тейлөөгө(кооздоп жасоо) кошумча талаптар киргизилет.

Жеткирүү жана төлөө маалыматына ээ болгон коммерциялык сайттын эки маанилүү эсептөөгө мүмкүнчүлүгү болот: салык жана жеткирүү баасы. Эгер сатып алуучу жакын жерде жашаса, салыктар жөнөкөй мамлекеттик салык алууга гана барат. Кээ бир учурда сатып алуучунун почта индексини негизинде жергиликтүү(аймактык же шаардык) салыктын колдоосун эске алуу зарыл. Жеткирүүнүн баасы белгиленген чоңдукта болушу мүмкүн же ар бир сатып алынган айрым товар боюнча аралык тактоону киргизүү менен эсептелинет. Эгер сөз эл аралык заказдарды колдоо жөнүндө болсо кырдаал татаалдашат.

Арадагы жыйынтыкты, салыкты жана жеткирүүгө чыгашаны эсептеп бүткөндөн кийин сатып алуучуга төлөө эсебин сунуштаса болот. Төлөө көбүнчө кредит картанын жардамы менен ишке ашырылат. Кырдаалга жараша дагы эки: төлөм алма жана коштомо варианттары жеткиликтүү.

Кредит карталарын колдонууда текшерүү/төлөө автономиялуу же болбосо кошулуу түрүндө ишке ашырылышы мүмкүн. Онлайн түрүндө иштетилип чыгуу учурунда кредит картанын маалыматтары тармак боюнча корголгон түрүндө жиберилет жана кредит карта текшерүүнү өтүп же өтпөгөнүн көрсөткөн жооп кайтып келет.

Заказ жайгаштырылгандан кийин сатып алуучуга заказдын экран көчүрмө же тизме түрүндө электрондук почта аркылуу жиберилген отчет берилет, бирок башка варианттары дагы болушу мүмкүн. Ушу фазада кардаар соода алгоритминен чыгып сатуучуга “орун” берет.

Эгер кредит картанын маалыматтары автоматтык түрдө ишетилип чыкпаса, заказдын иштетилип чыгуусу финансылык транзакциядан башталат. Эреже боюнча, ушул фазада заказ почтадан же телефондон келген сыяктуу эле бизнес жүргүзүүн стандарттуу эрежелери иштейт. Интернет заказдын иштетилип чыгууну абалын кардаарга маалымдап турганы мүмкүндүк берет. Мисал катары, заказ толук иштетилип чыкканын, товарладын баары бар болуусун билдирүү мүмкүн. Ылайыктуу ыкмалар веб-түйүндө иштетилет.

Текшерилген заказ алынгандан кийин аны аткарыш керек. Ушу фаза көптөгөн кыйынчылыктарды алып келет.

Бир нече кампасы болгон чекене соодагерлердин борбордук сактагычтан тапшыруу көйгөлөрү чыгышы мүмкүн.

Эгер заказ атайын кызмат же уюм аркылуу аткарылса, кээде система менен интеграциялоо көйгөйүү келип чыгат. Бирок жадагалса уюм заказдарды өз алдынча ишке ашыра турган болсо, веб-сервер жана заказдарды аткаруу система арасындагы интеграциялоо көйгөйүү чыгып келиши мүмкүн.

Цикл товарды кардаарга жеткизүү менен бүтөт. Заказ иштетилип чыгуу фазасына окшоп, кардаар заказдын учурдагы абалын алышы мүмкүн. Алар транспорттук, почталык, коштомо кызматтардын номери.

Коммерциялык веб-сайттын иши колдонуучу менен өз ара аракеттешүү гана боюнча чектелбейт. Анысы менен бирге баардык дүкөн менен башкаруу өңүттөрүн эске алуу зарыл. Бакшаруу каражаттардын туура тандалышы, колдонуучунун интерфейсин түзүү каражаттарын тандагандай эле өтө маанилүү.

Колдонуулучу технологиялар

Долбоорлоо методун аныктоо

Азыркы учурда долбоорубузду жасоо үчүн көп аппараттык жана программдык аспаптар бар жана күн өткөн сайын алардын саны көбөйөт. Ошондуктан алардын эң ылайыктуу жана эң пайдалуусун тандоо үчүн биз терең анализ жана изилдөөнү өткөрүшүбүз керек. Канчалык тандап алган долбоорлоо методу туура болсо, ошончолук программабыз күтүлгөн деңгээлде иштейт жана баардык коюлган талаптарга жооп берет. Программабызга негизинен берилиштер базасы, бизди канааттандырган программалоо тили, биздин берилиштер базасын тейлеп турган операциондук система да керек.

Программалоо тилин тандоо

Программалоо тили компьютердик программалар колдонгон лексикалык, синтаксистик жана семантикалык эрежелердин жыйындысын аныктайт.

Ал программистке, компьютердин кайсы кубулушка кандай таасир бергенин, кантип сактоосун жана кантип өткөрүп берүүсүн так аныктап турат.

Программалоо тилдери эки класска бөлүнөт: компиляциялануучу жана интерпретациялануучу. Компилятор программаны көз ирмемде жана бүтүндөй машина тилине которот жана которуп жатып башка программаны пайда кылат. Ал эми интерпретатор машина тилине, иштеп жаткан учурда которот.

Программалоо тилдеринин төмөнкү класстарга бөлүп карасак болот.

· Функционалдык

· Императивдик

· Процедуралык

· Вектордук программалоо тилдери

· Аспектке багытталган программалоо тилдери

· Декларативдик

· Динамикалык программалоо тилдери

· Үйрөнүү үчүн программалоо тилдери

· Интерфейс түшүндүрмөлөрү үчүн

· Прототиптик

· Объектке багытталган

· Рефлексивдик

· Логикалык программалоо тилдери

· Параллель праграммалоо тилдери

· Сценарийлик жана скрипттик праграммалоо тилдери

· Эзотериялык

Азыркы учурда веб-программалоодо эң популярдуу тили PHP эсептелинет. Андан сырткары долбоор веб-сайт болгондуктан дипломдук ишимди PHP программалоо тилинде жазууну чечтим.

PHP

PHP (PHP: Hypertext Preprocessor) - «PHP: гипертекст препроцессору» - веб – тиркемелерди иштеп чыгуу үчүн интенсивдүү түрдө колдонулган жалпы колдонуучу скриптик программалоо тили. Азыркы учурда көбүнчө хостинг-провайдерлер тарабынан колдонулат жана динамикалык веб сайттарды программалоодо колдонулган тилдердин арасынан эң алдыңкылардан болуп эсептелет.

Бул программалоо тили энтузиасттар тобу тарабынан ачык код проекти катары өнүктүрүлүп келүүдө. Проект GNUGPL лицензиясы алдында эмес, өзүнүн лицензиясы менен таратылат.

Желе үчүн программалоо тармагында PHP – эң популярдуу программалоо тили (JSP, Perl, ASP.NET колдонгон тилдер менен бир катарда), өзүнүн жөнөкөйлүгү, иштөө ылдамдыгы, бай функционалдуулугу, кросплатформдуулугу жана PHP лицензиясынын негизинде булак коддорунун таратылышы менен айрымаланат.

Веб-сайттарды куруу тармагында популярдуулугу веб-тиркемелерди иштеп чыгуу үчүн көптөгөн даяр инструменттерди камтыганы менен түшүндүрсөк болот. Алардын негизгилери:

 

· Автоматтык түрдө GET, POST жана COOKIE параметрлерин, жана сервердик чөйрөнүн өзгөрмөлөрүн алдын ала белгилүү массивдерге өткөрүүсү.

· Файлдык функциялар локалдык режимде иштегени менен чектелбестен, алыскы файлдар менен да иштей алат.

· Автоматтык түрдө HTTP-баштарынын клиентке жиберилиши.

· Cookies жана сессия менен иштөө мүмкүнчүлүгү.

· Серверге жүктөлгөн файлдар менен иштөө.

· HTTP-баштары менен жана HTTP-авторизациясы менен иштөө мүмкүнчүлүгү.

· XForms менен иштөө мүмкүнчүлүгү.

· Алыскы файлдар жана сокеттер менен иштөө мүмкүнчүлүгү.

 

Азыркы учурда PHP жүз миңдеген программистер тарабынан колдонулууда. Издөө системаларына негизделген Tiobe рейтингине карата, 2009-жылы PHP программало тили популярдыгы боюнча 3 орунду ээлеген (Java жана Cи тилдеринен кийин). PHP колдонгон чоң сайттардын тизмесинде Facebook, Wikipedia, В контакте гиганттары кошулат.

Азыркы учурда PHP тилинин жалгыз бир гана реализациясы бар, бир дагы четтеги компания иштетилүүчү модульдарды кол кабыштабайт. Бул жагдай, бир тараптан жаңылыктарды бат киргизүүгө жана таратууга мүмкүнчүлүк тартуулайт, экинчиден стандартсыз түрдө программалоо тилин өнүктүрүүгө жол берет, анткени бирдиктүүү реализация муну өзү эле камсыз кылат. Жогорудагы шарттарда интерпретатордун версиясы чоң мааниге ээ болот, анткени ал программалоо чөйрөсүнүн мүмкүнчүлүктөрүн аныктайт.

MySQL

MySQL - Берилиштер Базасын Башкаруу Системасы. MySQL Sun Microsystems тарабынан түзүлүп жана колдоо көрсөтүлүп келгенб кийин Oracle Corporation компания менен бирге колго алган.

MySQL – өтө чоң эмес берилиштер базасы үчүн көп тараптуу, компактуу сервер. Бул сервер чоң ылдамдыгы, туруктуулугу жана колдонууга оңой болгону менен мүнөздөлөт. MySQL кичине жана орто өлчөмдөгү тиркемелер жана программалар үчүн идеалдуу чечим катары эсептелет. Сервердин негизги кодтору көптөгөн платформаларда компиляция болот. Unix серверлеринде MySQL‘дин серверинин толук мүмкүнчүлүктөрү ачылып, өндүрүштө байкалгандай өсүш көрүнөт.Windows'тун вариаттарында: WindowsNT‘де MySQL сервер катарында, Windows 95/98‘де жөнөкөй процесс катарында колдонулат.

Мүмкүнчүлүктөрү:

· Берилиштер базасы менен бир убакта иштеген колдонуучулардын саны чектелген эмес.

· Таблицадагы саптардын саны 50млн‘го жетет.

· Командалардын тез аткарылышы. учурдагы серверлердин эң тез иштегени деп айтсак болот.

· Жөнөкөй жана эффективдүү коопсуздук системасы бар. MySQL‘дин чындап тез иштеши үчүн бул сервердин авторлору БББС‘га коюлуучу төмөнкү талаптарды алып салышкан:

Кийиштирилген сурамаларды түзүү. Мисалга алсак: SELECT * FROM table1 WHERE id IN (SELECT id FROM table2).

Транзакцияларды колдоо ишке ашырылган эмес. Анын ордуна LOCK/UNLOCK TABLE колдонулат.

Сырткы ачкычтарды колдоо жок.

Триггер жана сакталуучу процедураларды колдоо каралган эмес.

Көрсөтүү (VIEW) үчүн да колдоо жок.

 

Бул серверди түзүүчүлөрдүн айтуулары боюнча 2-4 пункттары чоң ылдамдыкка жетишүүгө мүмкүнчүлүк берди. Мындай мүмкүнчүлүктөрWeb – тиркеме түзүүдө критикалуу деп эсептелбейт, анткени чоң ылдамдык менен төмөнкү баанын дал келиши сервердин популярдуу кылды десек болот.

 

2.6 Модель – көрүнүш – башкаруу

Модель-Көрүнүш-Башкаруу (Model-View-Controller) - бир нече долборлоо шаблондорун колдонуучу схема, ал үч компонентке бөлүнөт жана бирисини өзгөртулүшү башкаларга минималдуу таасир берет.

 

Мындай концепцияны колдонуунун жакшы жагы болуп иштөө - логикасы көрүнүштөн ажыратылган.

 

MVC концепциясы берилиштерди, көрүнүштү жана колдонуучунун аракеттерин иштетүүсүн 3 башка копонентке болот:

 

· Модель - берилиштер менен иштейт, запросторду камтыйт жана бул берилиштерди көрсөтө албайт

· Көрүнүш - маалыматтарды көрсөтүүгө жоопту

· Контроллер - система жана колдонуучуну байланыштырып турат, колдонуучу жиберген маалыматтардын баарын карайт жана модель менен көрүнүштү колдонуп колдонуучуга кандайдыр бир жооп чыгарып берет

Белгилеп кетчү нерсе, модель көрүнүштөн жана контроллерден көз каранды эмес, бул мүмкүнчүлүк менен бир модель бир нече көрүнүшкө колдонуусу мүмкүн.

 

Фрэймворк

Фреймворк (англ. framework – калып, структура, иш чөйрө) – маалымат системаларында системанын структурасы; чоң бир проекти иштеп чыгууда колдонулуучу компоненттерди бириктирүүчү, иштеп чыгуу процессин жеңилдетүүчү програмдык жабдык. Функцианалдары бир-бирине окшош болгон подпрограммаларды камтуучу библиотекалардан айырмаланып, калыптар, ар түрдүү максатта колдонулуучу көптөгөн сандагы библиотекаларды өз ичине камтыйт. Фреймворк сөзүнүн ордуна калып (каркас) сөзүн да колдонушат, кээ бир авторлор, калып сөзүн негизги аталышы катары колдонушат.

Програмдык системанын фреймворку, чоң бир проектин компоненттерин бириктирет, иштеп чыгарууну жеңилдетүүчү жардамчы прогаммаларды, код библиотекаларын, тил сценарийлерин жана башка програмдык жабдыктарды камтыйт.

Фреймворктордун эң негизги артыкчылыктарынын бириси болуп, алардын стандарттуу структурага ээ болушу. Мисалга алсак, веб фреймворкторунун көпчүлүгү, тиркемени логикалык сегменттерге (модули, плагины) бөлүштүрүү үчүн MVC архитектурасын колдонушат.

Фреймворктор, конкреттүү жана абстрактуу класстардын көптүгүнөн жана алардын бир-бири менен болон мамилелеринин аныктамасы менен аныкталат. Конкреттүү класстар, кадыресе класстардын бир-бири менен болгон мамилесин аныкташат. Абстрактуу класстар, калыптардын колдонуучу жана көндүрүлүүчү (адаптирующий) башталгыч чекити катары колдонулат.

Symfony Framework

Symfony -PHP5 те жазылган,Model-View-Controller калыбын колдонгон, көз каранды эмес каркас.

Symfony тез иштетип чыгууну жана веб-тиркемелерди башкарууну тартуулайт, веб-программисттин ишин жеңилдетет,каталардан сактайт,иштетип чыгууну стандартташтырат жана ылдамдатат.

PHP 5. программалоо тилинде веб тиркемелерин жана сервистерин курууга арналган ачык булактуу (open source) фреймворк. Symfony компонент структурасы уникалдуу, компоненттер бир-биринен минималдуу түрдө көз карандуу. Бул көз карандылык, программисттер үчүн ар бир компонентти өз-өзүнчө колдонууга мүмкүнчүлүк берет. Көп учураларда бул мүмкүнчүлүктү ―use-at-will‖ (өзүң каалагандай иштет) деп атап коюшат.

PHP5 менен гана иштейт (5.2.4, 5.3.2 Symfony 2 үчүн). MySQL, PostgreSQL, SQLite жана башка PDO-дал келүүчү БББС лардын колдоосу менен иштейт. Проектте реляциондук берилиштер базасы тууралуу маалымат объекттик модельге байланыштуу болушу керек. Муну ORM- инструментинин жардамы менен жазаса болот. Symfony алардын ичинен экөөсүн: Propel жана Doctrine колдонот.

Төмөндө симфонинин жакшы жактары тизме катары көрсөтүлгөн:

· MVC – Модель Көрүнүш Башкаруучу (Model View Controller)

· DRY – Өзүңдү кайталаба (Don’t Repeat Yourself)

· Debugger

· Чоң колдонуучулар коому

· Булактар

· Инновация

· Туруктуу

Symfony акысыз жана MIT нин лицензиясы менен жарыяланат.

Проекттин демөөрчүсү- Sensio Labs аттуу француз компаниясы.

2007 жылы- Symfony 1.0 версиясынын чыгышы

2011 жылы – Symfony 2.0 версиясынын чыгышы.

Symfony 2 Framework тун каталог структурасы:

app/

cache/

config/

logs/

Resources/

bin/

src/

Acme/

DemoBundle/

Controller/

Resources/

vendor/

symfony/

doctrine/

web/

app.php

Doctrine 2

Чоң дорлбоорлордо азыркы учурда берилиштер базасы менен түз байланышып маалымат алмашуу көп деле кездеше бербейт. Себеби мындай жол менен программа түзүү кыйын болушу ошондой эле машакаттуу болушу далилденген. Ушул проблеманы чечүү үчүн программисттер берилиштер базасы менен иштеген SQL тилинин үстүнөн абстракцияны түзүп чыгышкан. Доктрин дага ошондой абстракциялоочу катмарлардын бири болуп саналат.

Доктрин өзүнүн архитектурасын Java тили үчүн жасалган Hibernate SQL ден алган. Доктрин атайын PHP программалоо тили үчүн түзүлгөн. Мында кадимки таблицалардын саптарынын ордуна обьектке багытталган программалоодогу обьект түшүнүгү колдонулат. Таблицанын ар бир мамычасы обьектинин бир атрибуту болот. Ар бир сап өзүнчө обьект катары каралат.

Азыркы учурда обьектке багытталган прогрммалоо тили эң эле кеңири таралган. Программист үчүн берилиш менен башка логикалардын бир типте, обьект тибинде, болушу программа жазуу процессин аябай эле жеңилдетет.

Symfony фреймворгу үчүн доктрин унпуктоо боюнча берилиштер базасынын үстүнөн абсртакциялоочу болуп орнотулган. Демек бул дагы симфони фреймворгунун жакшы жактарынын бири.

 

Веб – сайтты ишке ашыруу

3.1 Жалпы түзүлүш

Сайтты иштеп чыгуунун баштапкы этаптарында албетте кандай структурага ээ болоору жана кийинки өзгөртүү, кошумчаларга ийкемдүү бир структура түзүлүшү ойлонуштурулган. Тиркеменин түзүлүшүн аныктаган негизги программало паттерни катары ыңгайлуу логикалык структуралоо мүмкүнчүлүгүнө ээ MVC (Model View Controller) паттерни тандап алынды. Symfony MVC долбоорлоонун классикалык калыбында негизделген. Кыскасы, Symfony MVC паттернин структурасын ээ. MCVнин архитектурасы үч деңгээлден турат. Алар жөнүндө 2 главада маалымат берилген.

Үч деңгээлге бөлүштүрүү болгондуктан тиркемелер структураланууга ээ болушат. Код түшүнүктүү жана аны өзгөртүүгө жеңил болот. Иштеп чыгуу ийкемдүү боло баштайт. Мисал катары, эгер иштетилип жаткан тиркеме жалаң гана кадимки браузерледе иштебестен портативдүү компьютерлерде дагы иштөөсү керектелсе, дагы бир view (портативдик компьютерлер үчүн) түзүш керек. Мен түзүп жаткан сайттын түзүлүшү MVC паттерндин негизинде түзүлгөн.

 

Долбоордун директориялары

· app/ -эң негизгиси конфигурацияларды камтыйт жана ошонун ичине routing кирет

· src/ - проектин коду, bundles

· vendor/ -китепканалардын жыйындысы

· web/ - аяккы колдонуучуларга жеткиликтүү директория

Эми ар бир директорияны тереңиреек изилдеп көрөлү. web/ -бул сырттан жеткиликтүү болгон баардык файлдардын директориясы. Мисал катары: сүрөттөр, css, js файлдар ж.б. Мындан сырткары ушул директорияда тиркемеге кирүү скрипти жайгашкан(front controller). Front controller төмөнкүдөй болушу мүмкүн:

// web/app.php

require_once __DIR__.'/../app/bootstrap.php.cache';

require_once __DIR__.'/../app/AppKernel.php';

use Symfony\Component\HttpFoundatholds all tests for the bundle.ion\Request;

$kernel = new AppKernel('prod', false);

$kernel->loadClassCache();

$kernel->handle(Request::createFromGlobals())->send();

 

Баардык суроо-талаптарды Front Controller иштетип чыгат. Front Controller катарында, кадимки скрипттер чыгышат.

· app/console – тиркемеге CLI(буйрук сабы) аркылуу жетүү

· app/app.php – тиркемеге web аркылуу жетүү

· app/app_dev.php – тиркемеге web аркылуу иштеп чыгуучу режиминде жетүү

Жогоруда айтылган баардык фронт контроллерлер бир негиз боюнча түзүлүшөт:

· Жүктөөчү класстарды каттоо скриптин кошуу жолу менен autoload (автоматтык түрдө класстарды жүктөө)тураланат;

· кээ бир учурда класстардын кэши колдонулат (көп колднулган класстар);

· Өзөк иштетилет;

Өзөк(Kernel) – бул Symfony системанын движогу. Анын негизги максаты иштөө чөйрөсүн демилгелөө.

Өзөк AppKernel.php app/ директориясында жайгашкан.

app/ директориясын тиркемелерди иштеп чыгуу учурунда биз конфигурацияларды жана роутингти өзгөртүү үчүн колдонобуз. Ушу директория кэш жана логторду камтыйт(app/cache, app/logs), андан тышкары app/Resource тиркеме деңгээлиндеги шаблондорду камтыйт.

src/ биз жазганбаардык кодду камтыйт(php, css, js ж.б.), тиркеменин иштөөсүнө зарыл. Ушул директорияда бандлдар(bundle) жайгашкан.

Symfony фрэмворктун жардамы менен иштеп чыгуунун эң негизги өзгөчөлүгү – бул bundle системасы. Бандл – белгилүү бир максатка жетүү үчүн колдонулган скрипттердин жыйындысы(php, js, html, css ж.б.).

Symfonyнин өзгөчөлүгү – “баардык нерсе bundle ”, тиркеме, жадагалса өзөктүн функционалы. Башкача айтканда, биз биринчи кезекте бандл түзүшүбүз керек.

3.3 сүрөттө көрсөтүлгөндөй, src/ директориясы жалаң гана бандлдарды камтыйт.

 

Бандлдын структурасын карап кетсек:

· Admin/ -админ панелине тиешелүү класстарды камтыйт(бандл түзүүдө болбойт, колдонуучу тараптан түзүлө турган директория).

· Controller/ -бандлдын контроллери

· DependencyInjection [1] – кызматтарды камтыйт

· Entity – берилиштер базасы менен иштөөчү класстарды камтыйт

· Form – формаларды түзүгө php скрипттерди камтыйт

· Resources/views/ -көрсөтүү шаблондорун камтыйт(мисалы Hello/index.html.twig)

· Resources/public/ - веб-тиркеменин иштөөсүнө керектүү бөлүкчөлөрдү камтыйт, бирок код болуп саналбайт (сүрөт, css ж.б.). web/ директориясына assets:install буйругу аркылуу көчүрүлөт.

· Tests – бандлдын тесттерин камтыйт

 

Symfony сунуштаган файлдык архитектура MVСнин баардык мыкты идеяларын өзүнө тартып алгандыктан, андан тышкары ийкемдүүлүк жана конфигурацияны өзгөртүү жөндөмдүүлүгү болгондуктан менин дипломдук ишиме негизки каркас болуп тандалды.

 

 

Берилиштер базасы

Колдонула турган берилиштер жөнүндө маалымат алыш үчүн, биринчиден интернет-дүкөн системасы аткара турган маселелерди белгилейли:

· Товарлардын көрсөтүүсү

· Товарлардын классификациясы

· Колдонуучуларды катто

· Товарларды кутучуга кошуу

· Кутучанын ичиндегилерди көрсөтүү

· Төлөм

· ж.б.

Маселелер тизмесинен системага маанилүү маңыздарды чыгарсак болот.

Товарлар(дисктер), заказдар, кардаарлар, категориялар ар бир интернет дүкөндүн негизи катары болуп эсептелинет.

 

Негизги маңыз деген себебим, интернет дүкөн системасына гана тиешелүү жадыбалдар.

Жадыбалдар:

1. discs – дисктер жөнүндө маалыматтарды камтыйт

2. disc_info – бир диск жөнүндө маалымат камтыйт

3. producers – иштеп чыгаруучулардын жадыбалы

4. type – дисктердин түрлөрү

5. countries – өлкөлөрдүн жадыбалы

6. formats – форматтардын жадыбалы

7. janrs – жанрлардын жадыбалы

8. bin_orders – заказдардын жадыбалы

9. bin_clients – кардаарлардын жадыбалы

10. gallery – дисктерге тиешелүү медиялардын(сүрөт, видео) жадыбалы

11. users – колдонуучулардын жадыбалы

Жогоруда айтылган жадыбалдардын талааларын тереңиреек карап кетели

 

3.1-жадыбал. discs жадыбалы

Мамычанын аты Берилиштердин тиби Узундугу Түшүндүрмө
Discs жадыбалы
  id Int   Код
  poster_id Int   Постердин коду
  country_id Int   Өлкөнүн коду
  janr_id Int   Жанрдын коду
  format_id Int   Форматтын коду
  producer_id Int   Иштеп чыгуучунун коду
  type_id Int   Түрлөрдүн коду
  name Varchar   Дисктин аты
  description Longtext   Дисктин сыпаттоосу
  active Tinyint   Активдүү
  quantity_of_films Int   Фильмдердин саны
  quantity_of_series Int   Сериялардын саны
  quantity_of_clips Int   Клиптердин саны
  date Datetime   Чыгарылган датасы
  price Int   баасы

 

 

3.2-жадыбалы. disc_info жадыбалы

CREATE TABLE IF NOT EXISTS `cinemax`.`disc_info` ( `id` INT(10) NOT NULL AUTO_INCREMENT, `disc_id` INT(11) NULL DEFAULT NULL, `content` LONGTEXT CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL, PRIMARY KEY (`id`), INDEX `FK_disc_info_discs` (`disc_id` ASC), CONSTRAINT `FK_disc_info_discs`


Поделиться:


Последнее изменение этой страницы: 2017-02-10; просмотров: 379; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.110 (0.016 с.)