400 000+ дайын материалды
1 жыл бойы шексіз жүктеңіз
ҚМЖ, БЖБ, ТЖБ, презентациялар және авторлық материалдар
4 990₸/ 1 жыл
🔥Арнайы баға ·10.12.2026 дейін
Одан кейін - 29 990 ₸
Бір рет төлейсіз · Автотөлем жоқ
Тақырып бойынша 11 материал табылды

Ғылыми жоба:PHP тілінде AJAX технологиясын пайдаланып joomla бағдарламасының көмегімен web беттерін жасау

Материал туралы қысқаша түсінік
Еліміздегі мектептер мен балабақшаның көптеп салынуына байланысты, Есік қаласындағы "Айжан" балабақшаның сайтын жасадым
Материалдың қысқаша нұсқасы








Тақырыбы: PHP тілінде AJAX технологиясын пайдаланып joomla бағдарламасының көмегімен web беттерін жасау

Жобаны жасаған:

«Райымбек атындағы орта мектеп»КММ-сі

9 «Г» сынып оқушысы: Тухтаева Ясмина

Жетекшісі : Мұратбекова Бақыт Жайыққызы

Жоспар

КІРІСПЕ

1 PHP ТІЛІ ТУРАЛЫ

1.1 PHP тілінің негізі

1.2 PHP-ның мүмкіндіктері мен қолданыс салалары

1.3 SQLтілі

1.4 PHP- мен бірге жұмыс істейтін сервердің классикалық құралы-

APACHE+PHP+MySQL

2 AJAX ТЕХНОЛОГИЯСЫ ТУРАЛЫ

2.1 АJAX технологиясы

2.2 Ajax технологиясының классикалық технологиялардан ерекшелігі

3 PHP ЖӘНЕ AJAX

3.1 AJAX технологиясын PHP дақолдану

3.2 Joomla тілінің көмегімен «Айжан » балабақшасының сайтын құру

Практикалық

Қорытынды

Пайдаланған әдебиеттер тізімі

Қосымша











Мазмұны

КІРІСПЕ..............................................................................................................5

1 PHP ТІЛІ ТУРАЛЫ.........................................................................................7

1.1 PHP тілінің негізі..........................................................................................7

1.2 PHP-ның мүмкіндіктері мен қолданыс салалары....................................10

1.3 SQLтілі.........................................................................................................17

1.4 PHP- мен бірге жұмыс істейтін сервердің классикалық құралы-

APACHE+PHP+MySQL....................................................................................21

2 AJAX ТЕХНОЛОГИЯСЫ ТУРАЛЫ……….......……………………….....23

2.1 АJAX технологиясы....................................................................................23

2.2 Ajax технологиясының классикалық технологиялардан ерекшелігі......34

3 PHP ЖӘНЕ AJAX………………………………….....……………..............37

3.1 AJAX технологиясын PHP де қолдану......................................................37

3.2 Joomla тілінің көмегімен «Айжан» бала бақшасының сайтын құру…..42

Практикалық жұмыстар ...................................................................................44

Қорытынды………………………….................................................................46

Пайдаланған әдебиеттер тізімі..........................................................................47

Қосымша…………………………………………………………………………………...48











Кіріспе

Ғылыми жоба жұмысының тақырыбы PHP тілінде AJAX технологиясын пайдаланып joomla бағдарламасының көмегімен web беттерін жасау. Жоба жұмысы жалпы 3 тараудан тұрады.

Бірінші PHP тілі туралы. Бұнда PHP тілінің даму тарихынан бастап, бұл тілдің мүмкіндіктері, қолдану салалары мен маңыздылығы, үйрену тәсілдері жазылған. Айталық, Joomla! (Джу́мла деп айтылады) — PHP және Javascript негізінде құрылған мәліметтер басқаруға арналған жүйе (CMS). Мәліметтер қоры MYSQL негізінде жүргізіледі. GNU GPL лицензиясы бойынша ашық кодпен таратылатын жүйе болып табылады.

РНР тілі алғаш рет 1995 жылдың басында Personal Home Page деген атпен шығып үйренуге ыңғайлы қолданылуы қарапайым болу сияқты ерекшеліктері мен бүгінгі күнге дейін қолданыстан шықпай үздіксіз дамып толығып келе жатыр. Ол қолданушымен http протоколы арқылы байланысатын web- қосымшалар құруға арналған программалау тілі. PHP интерпретацияланатын тіл, яғни сервердегі сценарийлер орындалу үшін PHP интерпретаторын орнату қажет. PHP мен жазылған программа HTML файлына салынады.

Екінші AJAX технологиясы туралы. Бұл тарауды оқу арқылы сіз жаңа білімдерге қол жеткізе аласыз. Ұшқан құстай дамып бара жатқан жаңа заманда жаңа ойлар, жаңа талаптар мен жаңа технологиялар ойлап табылуда бүгінгі қолда бар дүние ертең жоқ боп қолданыстан шығып, жаңа заттар мен жаңа технологиялар орынын басып заман үздіксіз дамып алға ілгерлеп жатыр. Мұның бәрі де қазіргі дамып жатқан технологияның арқасы, міне сондай технологиялардың бірі AJAX. Ол технологиялық секіріс, қолда бар мүмкіндіктер аз қолда бар мүмкіндіктерін одан әрі кемелдендіру мүмкін емес кезде болады. Мұндай секіріс AJAX болып табылады. Ajax- тің жұмыс істеу тәсілі, пайдаланушы серверге өтініш жіберіп, сол арқылы сервер сандық мәліметтер қайтарылады. Ajax- тің негізі XMLHttrRequest, сервер мен пайдаланушы ара қатынасын реттейді.

PHP тілінде AJAX технологиясын пайдаланудың маңызы, AJAX ол PHP- ға жүктелген сервердің жұмысын жеңілдетеді. Мысалы, HTML- дың бір құжат оқуын көрсетсек, HTML- дың өзі мәліметтерді оқи алмайды. Осы арада Ajax техникасы пайдаланушыдағы HTML беттің пайдаланушыдағы PHP бетке өтініш етуі, содан кейін сервер PHP бет арқылы мәліметтерді оқып, қайтадан оқыған мәліметті пайдаланушыға береді. Сол арқылы пайдаланушыдағы HTML бетте мәлметтерді көрсетеді.

























1 PHP ТІЛІ ТУРАЛЫ

1.1 PHP - тілінің негізі

Соңғы бес жыл адамдар қарым- қатынасының жаңа тәсілдері мен интернеттің таңғаларлықтай дамуымен атағы шықты. Бұл жағдайдың алдыңғы қатарында World Wide Web тұрады. Күнделікті бұл коммуникациялық ортада мыңдаған жаңа сайттар ашылып, ал тұтынушыларға қызмет көрсетудің жаңа түрлері ұсынылып жатыр. Нарықтың қарқынды дамуына байланысты жаңа технологияға және осы технологияны меңгерген программа өңдеушілеріне деген үлкен сұраныс пайда болды. Жаңа заман талабына сай көптеген программалау тілдері мен неше түрлі жаңа технологиялар ойлап табылып, адамдардың қажеттілігін қанағаттандырып келеді. PHP тілі жаңадан ойлап табылған технологиялардың бірі. Біз енді PHP тілін зерттейік, және оның мүмкіндіктері мен тарихы жайлы танысайық, сонымен қатар PHP- ді қолданып, сайт жасау үшін негізгі қажетті мәліметтерді де қарастырайық.

РНР тілі тек практикалық есептерді шешуге арналған құрал ретінде жасап шығарылған. Оны жасап шығарушы Расмус Лердорф, өзінің online- резюмесін қанша адам оқитынын білу үшін Perl тіліндегі қарапайым CGT- қабыршағын жазды, бұл қатысу статистикасын жинақтау мақсатына арналған Perl- скриптер жинағы болатын CGT HTTP хаттамасы бойынша жұмыс істейтін серверлік қосымшаларды жасауға арналған стандарт болып табылады. Сервер қолданушының сұранысын CGT- бағдарламаға жібереді. Ол оларды өңдеп, жұмысының нәтижесін қолданушының экранына қайтарады. Осылайша қатысушы әр түрлі факторлардың әсері нәтижесінде өзгере алатын динамикалық ақпарат алады. Ал шлюздің өзі (CGT скрипт) түрлі бағдарламалау тілдерінде – С/С++, Fortran, Perl, TCL, UNIX Shell, Visual Basic, Python және т.б. жазыла алады.

PHP – қолданушымен http протоколы арқылы байланысатын web- қосымшалар құруға арналған программалау тілі. PHP интерпретацияланатын тіл, яғни сервердегі сценарийлер орындалу үшін PHP интерпретаторын орнату қажет. PHP мен жазылған программа HTML файлына салынады, алайда қазіргі уақытта бұл техника web- қосымша жазудың тиімді әдісі емес. PHP- ді программа құрушыларға web- қосымшаларды тиімді және тез құруға мүмкіндік беретін сервер жақта жұмыс істейтін web сценарийлердің орнатылған тілі ретінде сипаттаған дұрыс. Web- парақтарды құрудың дәстүрлі, статикалық әдістемесіне сәйкес келмейтін қосымшаларды құру барысында PHP JavaScript және басқа да тілдермен қатар қолданылатын динамикалық мазмұнды құру және басқару үшін бағалы құрал бола алады. PHP-дің көптеген стандартты функцияларының арқасында түрлі тектес есептерді шығаруға болады. Оның құрамына графика және онымен іс- әрекет, математикалық есептеулер, XML, XSLT сияқты атақты технологиялар кіреді. PHP HTML- дің препроцессоры болып табылады. Сервер файлды браузерге бермес бұрын, оны препроцессор- интерпретатор қарастырады. Ол үшін файлдың анықталған бір кеңейтілуі болу керек (әдетте бұл .phtml немесе .php3) және препроцессор үшін код болу керек. Парақ жіберілер алдында PHP код серверде өнделеді және браузерге серверде сақталынғанға қарағанда қатты ерекшеленетін HTML парақтар түрінде нәтиже беріледі. PHP клиент скриптерінің тілдері болып табылатын JavaScript/Jscript/VBScript- ке қарағанда серверлік скриптер деп аталады. PHP Active Server Pages, Java Server Pages, ColdFusion, embperl тілдеріне ұқсас болып келеді. Бұл тілдердің барлығы web – серверде орындалатын кодты HTML парақтың ішіне орналастыруға мүмкіндік береді

Шығатын нәтижесі:

Осы пакеттердің барлығының өзегі PHP болып табылады. Ол көптеген операциялық жүйелерді қолданады. Солардың ішіне Windows пен Unix кіреді. PHP контекстінде, функционалдылығында көрінетін олардың арасындағы айырмашылық болмашы ғана. Үйде жасайтын жобалар үшін көбіне Windows қолданылады. Ал үлкен, кәсіби жоба құруға Unix- ті пайдаланған жөн. Өйткені ең алғашында PHP Unix платформасы үшін құрылған, сондықтан PHP- дің көптеген кітапханалары мен толықтырулары Unix тәрізді жүйені талап етеді. Егер жоба өте күрделі болмаса, Windows 2010, Windows 7, операциялық жүйені пайдаланған тиімді болып табылады. Windows операциялық жүйесінде жазылған PHP скриптерді қажет болған жағдайда Unix- ке көшіріп алуға болады. PHP мен қоса web – сервер және мәліметтер базасының сервері қажет. Web- сервер – қолданушы компьютерін web- серверге айналдыратын программа, aл мәліметтер базасының сервері – PHP- мен басқарылатын мәліметтер базасымен жұмыс істеуге мүмкіндік беретін сервер компоненті.

Дүние жүзіне кең таралған, қауіпсіз және ыңғайлы серверлердің бірі – Apache. Ол Unix тәрізді жүйелер мен Windows операциялық жүйелері сияқты әртүрлі платформаларда таралатын жоғары өнімді, жоғары функционалды web-сервер болып табылады. Apache- дің ең негізгі бәсекелесі Microsoft корпорациясы шығарған Windows ортасында жұмыс істейтін IIS болып табылады. Алайда IIS өзге есептер шығаруға бағытталғандықтан, сонымен қатар PHP- дің IIS web- серверімен жұмыс жасағанда функционалдылығының төменделуінен PHP пен IIS- тің бірлескен жұмысы аз таралған. Ішінде PHP интерпретаторы салынған web- сервер мен MySQL мәліметтер базасының сервері жинақталған арнайы пакеттер бар. Оның қатарына тегін таралатын TopServer пакеті жатады. Кейінірек қабыршақтың аздаған өнімділігі бар екені анықталып, оны Си тілінде қайта жазуға тура келді. РНР- дың бірінші версиясы бар сайт орналасқан серверді қолданушылар құралға қызығушылық танытып, оны қолданғысы келетіндер пайда болды. Осылайша РНР өзінше жобаға айналды және 1995 жылдың басында Personal Home Page деп аталған өнімнің бірінші белгілі версиясы шықты.

1995 жылдың ортасында тиянақты өңдеуден кейін РНР/FI деп аталатын (Personal Home Page/Forms Interpreter – дербес үйдегі бет формалар интерпретаторы) өнімнің екінші версиясы шықты. Онда қазіргі РНР- дің базалық мүмкіндіктері болды, мысалы, html- формаларды автоматты түрде өңдеу және html-кодтарға орналасу мүмкіндіктері. PHP/FI синтаксисі Perl синтаксисін еске түсіреді, бірақ өте қарапайым болды. 1997 жылы РНР- РНР/FI 2.0- дің Си- таратылымының екінші версиясы шықты. Сол уақытта РНР қолданушылары тұтас әлем бойынша бірнеше мыңды құрады, шамамен 50 мың домен, ол Internet домендерінің барлық санының шамамен 1%-тін құрады. Ресми түрде РНР/FI 2.0 1996 жылдың қараша айында ғана шықты, оған дейін негізінен бета-версияда болды. Кейіннен шыққаннан кейін оны РНР 3.0- тың альфа-версиясымен ауыстырды.

Энди Гутманс (Andi Gutmans) пен Зив Сураски (Zeev Suraski) 1997 жылы РНР/FI- дің кодын қайта жазып шығарды, себебі ол олар жұмыс жасап жүрген электрондық коммерцияның қосымшасын өңдеуге тиімсіз болып табылды. Жобаны тарату кезінде РНР/FI- ді өңдеушілерден көмек алу үшін, Гутманс пен Сураски олармен бірігіп РНР 3- ті РНР/FI- дің ресми қолдаушысы екенін жариялауды шешті. Біріккеннен кейін РНР/FI- дің өңделуі толық тоқталды. РНР 3.0- тің артықшылықтарының бірі ядроны кеңейту мүмкіндігі болды. 1998 жылдың соңына қарай РНР- ды пайдаланушылар ондаған мыңға артты. Web- сайттардың жүздеген мыңы осы тілді қолдана отырып жұмыс жасайтындықтары туралы хабарлады. Шамамен Internet серверлерінің 10%- де РНР 3.0 орнатылған. РНР 3.0 ресми түрде 1998 жылдың маусым айында жалпы тестілеуден 9 айдан кейін шықты. Ал қысқа қарай Энди Гутманс пен Зив Сураски РНР ядросын қайта өңдеуді бастады. Олардың мақсаты күрделі қосымшалармен жұмыс өнімділігін арттыру және РНР негізінде жатқан кодтың модульдігін жақсарту болды. Қазіргі уақытта Zend Engine- ді жақсарту және алғашқы бета- версиялары қазіргі уақытта жарыққа шығып қойған РНР 5.0- ға жаңа кіріспелеріне ендіру жұмыстары жүргізіліп жатыр. Бүгінгі күнде РНР- ды жүз мыңдаған өңдеушілер пайдаланады. Бірнеше миллиондаған сайттар РНР- да жазылған, ол Internet домендерінің 20%- ін құрайды.

1.2 PHP тілінің мүмкіндіктері мен қолдану салалары

“РНР барлығын жасай алады” дейді оны жасаушылар. Алдымен РНР сервер жанында жұмыс істейтін скрипттерді жасау үшін қолданылады. РНР кез- келген CGT- скрипттер шеше алатын есептерді шеше алады, сонымен қатар html- формалардың мәліметтерін өңдейді, html беттерді динамикалық түрде өндіреді және т.б.

РНР- дің қолдану салаларын 3 негізгі солаға бөлінеді:

Бірінші сала- айтып кеткеніміздей, сервердің жанында орындалатын қосымшаларды (скрипттерді) жасау. РНР негізінен дәл осы текті скрипттерді жасау үшін кеңінен қолданылады.

Екінші сала- командалық жолда орындалатын скрипттерді жасау, яғни РНР- дің көмегімен web- серверден және браузерден тәуелсіз нақты машиналарда орындалатын скриптерді жасауға болады.

үшінші саласы-клиент жағында орындалатын GUI- қосымшаларды (графикалық интерфейстерді) жасау.

РНР- ды қолдану салалары кең өрісті және әр түрлі. Соған қарамастан ұқсас есептерді шығара алатын басқа да программалау тілдері бар. Не үшін РНР- ды меңгеру қажет? Ол бізге не береді? Біріншіден, РНР- ді меңгеру өте қарапайым. Синтаксистің негізгі ережелері мен оның жұмыс принциптерімен танысудың өзі жеткілікті, сол арқылы (басқа тілде жазғанда үлкен дайындықты қажет ететін) өз бағдарламамызды жазуға болады. Екіншіден, РНР шамамен барлық белгілі платформалардан, операциялық жүйелерден және барлық түрлі серверлерден қолдау тапты. Бұл да өте маңызды. Ешкімнің мысалы, Windows- тегі жұмыстан Linux- ке IIS серверден Apache серверіне ауысып, тағы бір бағдарламалау тілін меңгергісі келмейді.

РНР бес маңызды мінездемемен шартталған: дәстүрлілік, қарапайымдылық, тиімділік, қауіпсіздік, бейімделгіштік. Бұлардан да жақсы қасиеті ақысыз таратылагындығында. Бес түрлі мінездемесіне қысқаша тоқталатын болсақ, дәстүрлігі- РНР тілі әр түрлі салада жұмыс істеген программистерге таныс болып көрінеді, тілдің көптеген конструкциялары Cи, Perl- ден алынған, ал РНР- дың коды күнделікті Си мен pascal программаларынан практикалық түрде айырмашылықсыз болуы жиі кездеседі, бұл РНР зерттеуде алғашқы күш салуды азайтады. Қарапайымдылық- РНР сценариі сіздің есебіңіздің ерекшелігіне байланысты 1000 немесе бір жолдан тұруы мүмкін. Сізге арнайы библиотеканы іске қосу, арнайы программистерін іске қосу, немесе осы сияқты бірнәрселер істеуі керек емес. РНР механизмы алғашқы экрандалған тізбектен (<?) кейін жай ғана жұре бастайды және экрандалған тізбек жұбын (?>)кездестірмегенше жүре береді.

Тиімділік - www жататын көп қолданушылары бар программалау ортасы үшін ерекше маңызды фактор болып табылады. РНР 4.0- де қорларды бөлу механизмі мен жақсарған объектілі бағытталған программалау қолдауы қамтамасыз ету, сонымен қатар сеансты басқару құралдары жүзеге асырылған. Соңғы версиясында артық жады бөлінуді тоқтататын сілтемелерді есепке алу (reference counting) механизмі де пайда болады. Қауіпсіздік- РНР программа өңдеушілері мен администраторға өкілеттігіне иілгіш және тиімді қауіпсіздік құралдарын да береді. Ал олар өз кезегінде шартты түрде екі категорияға бөлінеді: жүйелік деңгей құралдары мен қосымшалар деңгейі құралдары. Қауіпсіздіктің жүйелік деңгей құралдары РНР- де администратор басқаруындағы қауіпсіздік механизмдері жүзеге асқан: РНР дұрыс реттелуінде бұл іс әрекетінің максималды тәуелсіздігі мен қауіпсіздігін қамтамасыз етеді. РНР қауіпсіздік реті (safe mode) деп аталатын ретте де жұмыс істей алады. Бұл қолданушылардың РНР қолдануында маңызды көрсеткіштерді шектейді. Мысалға, максималды уақыт орындалуды және жадыны қолдануды (жады бақылаусыз шығындау сервердің тез әрекетіне кері әсерін тигізеді). Сgi- bin сияқты администратор қолданушы РНР сценариін орындайтын немесе қарайтын каталогтарға, сонымен қатар РНР сценариін сервердегі құпия мәліметті көруге қолдануға шектеу қоя алады(мысалға, password файлы).

РНР үнсіз келісім бойынша таңдалған конфигурация кезінде жақсы жұмыс істейтін болады. Бірақ пакет жұмысы сіздің мақсаттарыңызға жақсы сәйкестігі үшін кейбір өзгерістер енгізе аласыз. Барлық конфигурация параметрлері (көрсеткіштері) орнату процесі кезінде үнсіз келісім бойынша (user/local/lib) каталогына көшірілген РНР.ini файылында болады. РНР мен сәйкестікте қолданылатын платформа мен web- серверге тәуелсіз рнр.ini файлы рнр- дағы жұмыстың маңызды аспектілерін басқаруға мүмкіндік беретін бірдей стандартты көрсеткіштер топтамасы бар. Бұл файл рнр сценарийі орындалу кезіндегі пакет мінез- құлқын анықтайтын барлық параметрлер бар. РНР.ini файлы құрамы рнр іске қосылғаннан кейін оқылады. РНР- ға пішімдеу, көркемдеудің бұрылуы шаблондарды құрудың мәні- сырт келбеті мен парақ мінез- құлқын өзгерту кезінде дизайнер артық программаның код жазып әуре болмау үшін іске асады. Жақсы жағдайда дизайнер программалау жөнінде біраз білімді немесе жоқ дегенде, айнымалы, цикл, шартты командалар секілді ортақ консепциялармен таныс болуы керек. Бұл жөнінде мүлде білмеген дизайнерге шаблондар қолдану синтансис обиспидағы керексіз мәліметтен басқа ештеңе бермейді. Бұдан екі жақта ұтады, дизайнер қосымша біліп алып, жұмыс тобында бағалырақ мүше болса, ал программистке идеяның жаңа көзі табылады. Мүмкін дизайнер ерекше ештеңе ойлап таппаса да, оның орнына жағдайды программист көре алмайтын жаңа бір қырынан басқа көзбен көре алады. PHP- экранға мәтін шығарудың жеңіл нұсқасы. Оның жазылуы с/c++, java, Perl- тілімен ұқсайды. PHP- коды HTML- кодының ішіне кірістіріледі немесе бөлек жазыла береді. Егер бөлек жазылғанда HTML сияқты блокнотта немесе word- та жазылып, “.php” кеңейтілуімен сақталады. PHP - программасында коментарийлар с/c++ тіліндегіге ұқсайды. Бір жолды түсініктеме //, # белгілерімен, көп жолды түсініктеме /* … */ белгісімен жазылады.

PHP дегі қарапайы логикалық операциялар, циклдер While, do…while, for, foreach:

If ( ) { } else { }

Мысалы: <? Php

$a=5;

$b= 9;

If ($a==$b) {echo $b-$a ;}

Else {$a*$b ;}?>

PHP- де айнымалылар алдын- ала жарияланбайды, алғаш берілген айнымалы мәнімен осы айнымалы құрылады.

Айнымалыны белгілеу:

  1. Айнымалы аты кез-келген ұзындықта.

  1. $ белгісінен басталады: $a

  1. Цифрдан басталмайды.

Айнымалылар типтері:

  1. Boolean (true, false)

  1. Integer

  1. Float

  1. String

  1. Array

  1. Object

  1. Resours

  1. NULL

PHP кодының структурасы:

  1. HTML коды

  1. PHP белгілері

  1. PHP коды

  1. Коментарий

  1. Бос орын.

Қарапайым PHP программасы “<?php ”- басынан басталып, “ ?>”- ге аяқталады. Осы белгінің сыртында жазылғаны HTML кодына тән болады.

PHP кодын жазудың 4 түрлі әдісі бар:

  1. XML - әдісі. <? Php echo (“XML әдісі!”) ;?>

  1. Қысқартылған әдіс.

<? Echo (“Қысқартылған жазу әдісі”) ;?>

Бұл өте қарапайым әдіс, file- да жазылған short_open_tag- ті таңдау керек. Оны қозғалту әдісі: “C:\WINNT” папкасында php.ini- файлда short_open_tag=on деп- өзгертеміз.

  1. Script әдісі.

<Script language = ‘php’ > echo (“Script әдісі”) ;</script>

  1. ASP - әдісі

<% echo (“ASP жазу әдісі!”); %>

Бұл файлда asp_tags орнатылса, оны істеуге болады. Яғни, php.ini- ді қолданамыз, егер бұл тізімде жоқ болса, apache- тен php.ini- ді қолданамыз. Яғни, Аllow APS- style<% %> tags. Asp- tags= on. Біз осы әдістердің ішінде XML- әдісі туралы нақтырақ тоқталайық. Олай болса біз алдымен XML жайлы, сонан кейін РНР мен XML- дің дамуы жайлы зерттейік. РНР мен XML мәлімет алмасу тәсіліне айтарлықтай әсерін тигізетіні сөзсіз. Әрине, егер сіздің ұйымыңыз web күшін толық қолданғалы жатса, бұл электрондық тордың үлкен көлемі нәтижесінде стандарттарды сақтау қарапайым ыңғайлылықтан міндетті талапқа айналды. Осындай стандарттардың бірі xml болып табылады- ұйымдар мен қосымшалар арасында мәлімет алмасудың ыңғайлы құрамы. Біз xml қолдауына стандартты функцияларды қарастырамыз, сонымен қатар xml форматында файылдарды өңдеудің ортақ процестер схемасын да қарастырамыз. Бұл материал сізге xml қалай мұндай бағалы және рнр қалай xml базасында пайдалы және қызықты қосымшаларды өңдеуге қолдануы мүмкін екенін жақсылап түсіне алуыңызға көмектеседі. Бірақ xml сипаттамасына көшпестен бұрын, мен сіздерге xml форматының туылуына әкеліп соққан концепиялардың дамуы туралы айтайын xml(…)- xml базалық синтаксисін анықтайтын ерекшелік.

РHP да хml- мен жұмыс істеу үшін Джимрк пакеті Еxpat (xml parser toolkit)- cm http://www.jclark.com/xml Еxpat Apache1.3.7 және сонғы версияларға да қосылған, сондықтан сізге Apache- дің жаңа версиясын қолдансаңыз, оны енгізу керек емес. XML мен PHP функционалды мүмкіндіктерін пайдалану үшін php- ді wdth- xml кілтімен ыңғайлау керек. Бір қарағанда рнр- де (басқа кез келген тілді) XML- дің мәліметтерін өңдеу есебі қорқынышты көрінгенмен, шын мәнінде жұмыс басты бөлігі рнр құралдарымен орындалады. Сізге тек өзіңізден ДТД- ға жаңа функцияларды ашқан, содан соң оларды XML кодын өңдеу қиын емес процесінде қолдану ғана қалады. XML мен жұмысқа арналған рнр функцяларын қарастыруға өтпес бұрын, XML құжатының негізгі компоненттерімен танысу керек. Бұл сізге неге бұл функциялар XML кодын өңдеуге кез келген программа үшін алмастыруға келмейтін бөлігі болатынын түсінуге мүмкіндік береді.

XML құжаттың жалпы деңгейде 9 түрлі компоненттері бар:

  1. өңдеуші тэгтер;

  2. атрибуттар;

  3. символдық мәліметтер;

  4. жабылушы тэгтер;

  5. өңдеуге арналған кеңес;

  6. синтаксистік сипаттама;

  7. маңызға сырт сілтемелері;

  8. өңделмеген маңыз;

  9. басқада компоненттер.

XML құжаттарын тиімді өңдеу үшін аталған компаненттердің әрқайсысын өңдейтін қолданушы функция- өңдеушілерді анықтау керек. Анықталған функциялар XML- өңдеу процессіне стандартты рнр құралдары арқылы қосылады. Жалпы XML кодын рнр- ге өңдеу процессі 5 этаптан тұрады:

  1. Қолданушы функцияларын анықтау.

Әрине, егер сіз XML құжаттарымен күнделікті жұмыс істейтін болсаңыз, онда бұл функцияларды бір рет қана жазсаңыз жеткілікті, кейін бұларға тек өзгерістер енгізесіз.

  1. Құжаттарды өңдеуге қолданылатын XML коды анализаторын (parser) құрыңыз. Анализатор XML- parser- createl функциясын шақырумен құрылады.

  1. Стандартты функциялар көмегімен өзіңіздің функцияңызды XML анализаторына регистрацияға тұрғызыңыз.

  1. XML файлын ашып, ішіндегі мәліметтерді оқып, XML анализаторына жіберіңіз. Мәліметтерді өңдеу XML- parser( )! қарапайым шақырушымен орындалады. Бұл функция өзінің жұмыс процессінде сізбен анықталған барлық өңдеушілерге жанама шақыруды қамтамасыз етеді.

  1. Онымен іске қосылған қорларды тәуелсіз ету үшін XML анализаторын жойыңыз.

PHP мен XML форматта құжаттарды өңдеуге арналған әр түрлі компаненттерін өңдейтін қолданушы функциялары регистрациясы үшін 8 стандартты функциялар бар. Есеп xml- parser- free( ) функцясы арқылы шешіледі. Аталған бөлімдер мәні келесі бөлімде түсіндіріледі. XML- өңдеушісіне қолданушы функцияларды қосу.

PHP әртүрлі web сервер мен үйлесімді болса да, APACHE-ді қолдану ең тиімді болар еді, өйткені, біріншіден, ол бүгінгі күнде ең атақты веб сервер. Екіншіден, PHP мен жиі жұмыс істейді және де әр түрлі веб серверлер үшін орнату процесінде көп ортақ ерекшеліктер бар. http//www.php.net/ адресі бойынша орналасқан PHP жүктеуінде екі форматтың біреуін талдау керек. Бірінші, win32 орындалушы форматы. win32 орындалушы форматы Windows 95/98/NT/2000 операциялық жүйенің қолданушыларына арналған, негізгі мәтінді қайта компиляциялауға Windows платформада болса да, көптеген қолданушылар үшін міндетті емес дегенмен компиляция болсын десеңіз, сізге Visual С++ компиляторының соңғы нұсқасының біреуі керек. Басқа жүйе қолданушылары программалық негізгі мәтінін өз бетінше қай компиляциялауға тура келеді. Әр түрлі жеткізулер орыны туралы нұсқаулар мен қосымша ақпараты электрондық конференциялар материалдарымен алуға болады. Компилияцияның жалпыланған процесі алдында қарастырайық.

1.3 SQL тілі

PHP арқылы Ajax технологиясын пайдаланып интерактивті веб- бетін құру үшін, ең әуелі деректер қорында, яғни MySQL деректер қорында немесе SQL деректер қорында біздің жасаған деректеріміз болуы керек. SQL әдетте реляциондық деректер қорымен өзара әрекет үшін қолданылатын стандартты тіл ретінде сипатталады. Негізі қолданушыға стандартты бұйрықтар топтамасын беретін деректер қорымен әр түрлі операцияларды орындайтын интерфейстік жабдық. SQL мүмкіндіктері қордан мәліметтер талдау мен шектелінбейді. SQL- де мәліметтер қоры мен өзара қатынас үшін әр түрлі мүмкіндіктер бар, оның ішінде мәліметтер құрылымын анықтау, мәліметтерді сақтағанда қолданылатын конструкциясын анықтау:

  1. Мәліметтер таңдамалы қордан мәліметтерді жүктеу және оларды шығару.

  2. Мәліметтерді өңдеу, ақпаратты өшіру, жаңарту және қосу.

  3. Кіру мүмкіндігін бақылау, жеке қолданушылар деңгейінде мәліметтерді таңдау, қосу, жаңарту және жою мүмкіндігі, рұқсат беру.

  4. Мәліметтер бүтіндігін бақылау.

Деректер қорымен жұмысқа арналған тіл делінген, реляциондық мәліметтер қоры базалық жүйесі (МҚБЖ) мәліметтер өзара байланысқан кестелі топтама түрінде ұйымдастырылған кестелер арасындағы байланыс. Басқа кестедегі мәліметтерге сілтеме түрінде жүзеге асады. Кестедегі әр элемент орыны анықталған жол мен бағанға сипатталатын екі өлшемді массив деп көрсетуге болады. Реляциялық деректер қорына мысал:

Сұраныс туралы ақпаратта қысқа клиент идентификаторы қосылған бұл клиенттің атының және басқада рекурсивтердің көп сақталуынан қашуға болады. Деректер қоры бейнесінде тағы бір байланыс бар, ол Orders пен Products кестелері арасында. Бұл байланыс берілген клиент сұраған өнім идентификаторы сақталған Prod-ID өрісі бойынша орнатылады. Бұл байланыстардың болуы клиент пен тауардың жай идентификаторы бойынша толық мәліметтерге сілтемеуге мүмкіндік береді. Дұрыс ұйымдастырылған деректер қорының ұйымы күшті жабдығы мен минималды шығынмен мәліметтерді тиімді сақтауға айналады. Реляционды деректер қорымен операциялар орнату үшін SQL- де SELECT, INSERT,UPDATE, DELETE сияқты жалпы бұйрықтар топтамасы бар. Сіз products кестесіне жаңа жазба қосқыңыз келді делік. Қосудың қарапайым бұйрығы мынадай: DELETE FROM products WHERE prod_id = 1009r': MySQL- Х DataKonsultAB (Стокгольм, Швеция) фирмасы жасаған немесе қосқан SQL базасындағы сенімді деректер қоры базалық жүйесі 1995 жылдан бастап, өзінің жылдамдығы, сенімділігі мен лицензиялы иілгіш саясаты шарттарына орай деректер қоры базалық жүйесі әлемінде MySQL кең таралғандардың бірі болады. Жақсы мінездемесі мен қолдануға ыңғайлы стандартты интерфейсті функциялары арқасында

MySQL PHP- дағы деректер қорымен жұмыс үшін атақты жабдық болды. MySQL серверін орнатып болған соң баптау керек. Баптау процесі негізінен MySQL кестелер жеңілдіктерін редактірлеу мен жаңа деректер қорын құрудан тұрады. Жеңілдіктер кестесі MySQL деректер қорына кіру мүмкіндігін басқарады. Кестелерді дұрыс баптау сіздің деректер қоры қауіпсіздігінде ерекше маңызды роль атқарады. Сол себепті сайтқа кірерде жұмыс режимінде жеңілдіктер жүйесін толық үйрену керек. Бір көргенде MySQL жеңілдіктер кестесі қорқынышты көрінеді. Алайда, егер жақсылап оны өңдесек кейінгі ере жұру мәселе болмақ. Web- те жаңа бастаған MySQL қолданушыларыға көмекші қорлар көп. Дұрыс орнатып және MySQL пакеттерін баптағаннан кейін, Web ортасында деректер қорымен сынақ жүргізе бастауға болады. MySQL ANSI 92 стандартындағы SQL сұраныстар тілін сүйемелдейді және де осы стандартқа басқа бірде бір деректер қоры базалық дүйесінде жоқ кеңейтулер жиыны бар.

MySQL мүмкіндіктерінік қысқаша тізімдері:

  1. Деректер қорымен бір уақытта жұмыс істейтін шексіз қолданушылар санын сүйемелдейді.

  2. Кестедегі жол саны 50 мыңға дейін жете алады.

  3. Бұйрықтардың тез орындалуын мүмкін, MySQL қазіргі серверлер ішінде ең тезі.

  4. Қарапайым және тиімді қауіпсіздік жүйе.

  5. MySQL шыныменде тез сервер болып саналады.

    1. MySQL де мыналар жоқ:

  6. Select * From Table1 WHERE ID IN (SELECT id FROM Table2) сияқты салымды сұраныстар сүйемелдеуі.

  7. Транзизация сүйемелдеуі жүзеге аспаған оның орнына LOCK/UNLOCK TABLE

  8. Сыртқы (fоreign) кілттер сүйемелдеуі жоқ.

  9. Тригерлермен сақталатын процедуралар сүйемелдеуі жоқ.

  10. Көрсатілімдер (VIEW) сүйемелдеуі жоқ.

    1. PHP- дағы My SQL мен қарым қатынас үшін келесі функциялар керек болады:

    2. int mysql_connect(string hostname, string username, string password);

    3. mysql мен байланыс құру көрсеткіштері:

  11. Hostname – деректер қорында орналасқан, хост аты.

  12. Username –қолданушы аты.

  13. Password –қолданушы құпия номері.

Егер байланыс сәтті болса 0-ге кері жағдайда 1-ге тең болатын int типті көрсеткішін функция қайтарады.

Int mysql_select_db (string database_name, int link_identifier);

Жұмыс үшін деректер қорын таңдау көрсеткіштері:

Database_name мәліметтер қоры аты.

link_identifier –, mysql_connect. Функциясынан алынған ID байланыс (міндетті емес параметр, егер ол көрсетілмесе, онда mysql_connect) соңғы шақыруындағы ID қолданылады. Функция true или false мәнін қайтарады.

int mysql_query(string query, int link_identifier) функциясы деректер қорына сұранысты орындайды.

Көрсеткіштер:

query – сұраныстан тұратын жол.

Int mysql_result (int result, int i, column) функциясы column бағанды және i жолындағы мәнді қайтарады.

int mysql_close(int link_identifier) функциясы mysql мен байлансты жабады.

Көрсаткіштер: link_identifier – см. Жоғарыға қараңыз. Функция true немесе false мәнін қайтарады.

Мысал: <html> <body> <? Php $db = mysql_connect ("localhost", "root");

mysql_select_db("mydb",$db);

$result = mysql_query("SELECT * FROM employees",$db);

printf("First Name: %s<br>\n", mysql_result($result,0,"first"));

printf("Last Name: %s<br>\n", mysql_result($result,0,"last"));

printf("Address: %s<br>\n", mysql_result($result,0,"address"));

printf("Position: %s<br>\n", mysql_result($result,0,"position"));

mysql_close ($db) ;?> </body> <html>

1.4 Apache + PHP + MySQL

Сайтта php ді қолдану үшін осы бағдарламаны пайдаланамыз.

Негізінен ең танымал web-сервер 1.3.2 және 1.3.27 нұсқалы Apache болып келеді. Apache- дың өркендеуімен Apache Server Foundation тобы шұғылданады, ал сервердің өзі еркін программалық қамтама құрушылардың ең ірі жетістігі болып саналады. Apache-мен бірге РНР, Perl және тағы да басқа программалау тілдері қолданылады. Бұл әртүрлі жоспар мен деңгейлі web-жобаларда қолданылатын еркін өнімдер. Осы секілді мәселелерді шешу үшін MySQL пакеті қолданылады. Онымен қосымша құрған оңай, тез және функционалдылығы жеткілікті. Apache мен MySQL пакеттері программалау тілдерінің қажетті түсініктемелері сияқты Linux операциялық жүйенің көптеген дистрибутивтеріне кіреді. Мұнда олар өздеріне « үйреншікті» жерде дұрысырақ жұмыс істейді. Арнайы бір хостингте скрипттерді орналастыруды сол ортада және таңдалған хостерге сәйкес келетін программалық қамтаманың көмегімен жүргізу қажет. Бұл скриптердің нағыз серверде дұрыс жұмыс істемей қалу қаупін төмендетеді. Жоғарыда аталып өткен Unix, Linux, BSD, MacOS сияқты пакеттер Windows операциялық жүйесіне де сәйкес келеді. Сонымен қатар қолымен орнатуды қажет етпейтін «кешендер» бар. Олардың ішіне Apache, MySQL және басқа да атақты программалау тілдерін орындаудың windows нұсқалары кіреді. Бұл компоненттер алдын- ала үйлестірілген, сондықтан мұндай программалық қамтамамен бұрын-сонды жұмыс істемеген адамдар үшін өте ыңғайлы, өйткені көптеген қателіктер осы сатыда жасалынады.

Мұндай кешендердің келесідей құрылу әдістері ерекшеленеді: бұл стандартты windows- нұсқаға қажетті ортақ инсталятор мен алдын- ала үйлестірілген орнату файлдармен жабдықталған пакеттер жинағы немесе көптеген әуесқойлық программалар құруға жететін қажетті қасиеттері бар максималды тұтас нұсқа. Сәйкесінше мұндай пакеттерді дамыту үшін қосылатын компаненттер санын көбейтіп, қосымша басқару панельдерін құру керек, болмаса пакеттің негізгі компоненттерінің жаңа нұсқаларын енгізгенде аз ғана өлшемдерді сақтау керек. Төменде осындай пакеттердің бірнеше түрлері келтірілген. EasyPHP пакетінің француздық түбірлері бар. Оның көлемі 11 Мб- тан үлкенірек. Соңғы нұсқасы EasyPHP 1.7. Оның кескін үйлесімі келесідей: Apache 1.3.27, PHP 4.3.3, MySQL 4.0.15, PhpMyAdmin 2.5.3. EasyPHP- ді орнату үшін Setup- ты жүргізіп, оның нұсқауларын орындау қажет. Ал MySQL- дың жұмысы дұрыс болу үшін mysql.ini орнату файлы керек болады. EasyPHP- дің бірінші стартынан кейін оның белгісі жүйелік трейде сақталады.

Скриптерді орналастырудағы бағаланбас ақпарат көзі Configuration- Apache орнатулары (httpd.conf файлы), PHP кеңейтулері, MySQL үйлесім кескіндері (my.ini файлы) және де ішіне салынған PhpMyAdmin- ді жіберу болып табылады. EasyPHP- дің жоғарыда келтірілген опцияларынан басқа қосымша жүйелік орнатулар бар: Apache мен MySQL- ді бірден жіберу/қайта жіберу/тоқтату мен олардың сервис режимінде орындалуы, Windows қосылғанда EasyPHP- дің жүктелуі, EasyPHP жаңартуларын автоматты түрде тексеру және олардың кескін үйлесімдеріне өзгертулер енгізгенде сервердің қайта жүктелуі. Үйде жасалған жобалар үшін үй каталогы болып www каталогы саналады. Пакетпен бірге тесттік скрипттер берілмейтіндіктен, PHP интерпретаторының қалай жұмыс істейтінін тексеру үшін қарапайым скрипттермен phpinfo атты парақ жасау жеткілікті. EasyPHP пакетінің апгрейд мүмкіндігі бар. Сол арқылы php4apache.dll мен php4ts.dll кітапханаларын өзгертіп, PHP- дің жаңа нұсқасына ауыстыруға болады.

«Денвер» ресей программисттерімен құрылған пакет. Оның бір ерекшелігі шағындығында және PHP- мен қатар Perl- дың да қолданылуында. «Денвердің» кескін үйлесімі келесідей: Apache 1.3.27, SSI, mod_rewrite6 mod_php, PHP 4.3.0 gd мен MySQL- дың қолдануымен, MySQL 3.23.53 транзакция (mysqld- max), PhpMyAdmin 2.3.0, стандартты кітапханаларсыз Perl өзегі. « Денвердің» ортақ инсталляторы, сонымен қатар басқаларға ұқсамайтын толықтырулары бар. Мысалы, Apache хостын виртуалды басқару жүйесінің шаблондарына негізделген толықтырулар. Бұл пакет MS Windows 95/98/Me/NT/2000/XP басқаруымен жұмыс жасайтын компьютерге PHP, Perl және MySQL серверін қолданатын Apache web- серверін орнатуға мүмкіндік береді. Орнату барысында ешқандай орнатулар енгізудің қажеті жоқ. Пакет тек қана web- программалауға емес, сонымен қатар MySQL мәліметтер базасын қолданатын, PHP және Perl тілдерінде жазылған интерактивті сайттар мен программалар құруға көмектеседі. «Денверді» екі жолмен жүргізуге болады. Біріншісі Windows- ты жүргізгенде виртуалды диск құрылады. Сервер қолдан қосылады. Екіншісі виртуалды дискті серверді тек қана қолмен қосқанда ғана құру.

BigApache өмірдің барлық жағдайына сәйкес келеді. Пакеттің кескін үйлесімі келесідей: Windows үшін Apache 2, PHP 4.3.х, MySQL 4, mod_perl (ASP: Apache модулімен бірге Perl 5.8), SSLv2, SSLv3, TLSv1, Java қолдауы (mod_jk/JBoss/Tomcat 4.1.x), Python тілінің қолдауы (mod_python/ Python 2.x), Mercury пошталық сервері. Осылардан басқа алдын- ала орнатылған шифрлау жүйесі, лог- файлдар мен басқа да пайдалы заттардың анализаторлары. Орнатылған компоненттерді алмастыру үшін ең жаңа программаларды және олардың BigApache- де байланыстарын орнататын Webinstaller қолданылады. Пакет open source шарттары негізінде орындалады және әрі ақылы, әрі ақысыз қолданыста пайдаланылады. Жоғарыда келтірілген пакеттердің барлығы еркін компоненттер негізінде құрылған және тегін таралады. Мәліметтер базасын басқару жүйесі ретінде PHP- пен бірге MySQL қолданылады. Аталып отырған мәліметтер базасы серверінің тамаша сипаттамалары бар, тегін таралады және PHP- мен қарым-қатынасы кең таралған. MySQL мәліметтер базасының серверімен жазылған көптеген PHP скрипттер мен жүйелер бар. Хостинг провайдерлерінің көбі PHP-пен бірлескен MySQL- ді ұсынады. PHP- мен бірге жұмыс істейтін сервердің классикалық құралы Apache + PHP + MySQL. Статистикалық мәліметтер бойынша дәл осы жинақты көптеген хостинг- компаниялар мен web- программисттер қолданады. Аталып өткен жүйелер тегін таралатын, сенімді, жоғары өнімді, функционалды және ашық кодтары болғасын оларға көп көңіл бөлінеді. Электрондық оқулықты жасауға программалық қамтамаларды таңдағанда олардың жаңа заманның талаптарына сай келуін және барлық қолданушыла пайдална алатындығына көңіл бөлу керек. Дипломдық жобаның басты мақсаттарының бірі сайтты инернет желісіне орналастыру болғандықтан, программалық қамтамалар интернетке орналастыру сұраныстарын қанағаттандыруға тиісті. Электрондық оқулықты ұйымдастырудың алғашқы сатысы Web- серверді таңдау. Қазіргі таңда әртүрлі программистер топтары өздерінің талаптарын қанағаттандыратын түрлі Web- серверлер жасап шығаруды. Кей Web- серверлерде PHP мен MySQL жеке орнатылуын қажет етсе, кейбіреулерінде барлығы жинақталып бір дестенің ішіне орналастырылған. Мысалы, Apach Server + MySQL Server + PHP, XAMPР Server, AMP Server. Осы жобада қолданылатын Web- сервер екінші тобына жатады.

«Денвер»сервері жиынтығының құрамы:

  1. жүйе қарапайым flash- тасымалдаушыдан да жүктеле береді;

  2. Apache, SSI, mod_rewrite, mod_php;

  3. транзакциясы бар (mysqld-max) MySQL4;

  4. шаблон негізіндегі виртуалды хосты басқару жүйесі;

  5. phpMyAdmin —MySQL- ді Web-интерфейс арқылы басқару;

  6. Perl ядросы;

  7. Sendmail эмуляторы;

  8. Инсталятор.

Dеnwer серверін барлық операциялық жүйелер қолдайды. Оны орнтау өте қарапайым түрде іске асырылады. әдеттегі қолданбалық программалар сияқты base.exe файлын іске қосу жеткілікті. Қалған баптаулардың барлығы автоматты түрде ұйымдастырылған.


2 AJAX ТЕХНОЛОГИЯСЫ ТУРАЛЫ

2.1 AJAX технологиясы

Бүгінгі таңда ұшқан құстай дамып бара жатқан жаңа заманда жаңа ойлар жаңа талаптар мен жаңа технологиялар ойлап табылуда бүгінгі қолда бар дүние ертең жоқ боп қолданыстан шығып жаңа заттар ман жаңа технологиялар орынын басып заман үздіксіз дамып алға ілгерлеп жатыр мұның бәрі де қазіргі дамып жатқан технологияның арқасында деуге болады. Технологиялық секіріс қолда бар мүмкіндіктер аз қолда бар мүмкіндіктерін одан ары кемелдендіру мүмкін емес кезде болады. Мұндай секіріс AJAX болып табылады. Веб- парақты технологиялық секіріс қолда бар мүмкіндіктер аз, қолда бар нәрсені артық енгізгу процнсі жүрмей- ақ өзі қолданушыға керек мәліметтерді енгізген кездегі қолданушы веб қосымша интерфейісін құруға үйлесімділік AJAX – DHTML концепциясы компаненттерінің бірі.

Ajax- қосымшаға қатыстырылған негізгі технологиялар: HTML Web-формалар құру мен сіздің қосымшада өрістерді көрсету үшін қолданады. JavaScript- коды серверлік қосымшалармен өзарақатынасты қамтамасыз ететін және Ajax- қосымша орындайтын негізгі код. DHTML немесе Dynamic HTML формаларды динамикалы жаңартуға көмектеседі. Сіздің HTML- ға белгі үшін div, span және басқа да динамикалы HTML элементтерін қолданатын боласыз. DOM, Document Object Model (құжаттың объектілі моделі) сіздің HTML құрылымымен және серверден алынған XML- мен жұмыс істеуде (JavaScript коды арқылы) қолданылады.

Мұнымен мынадай Smarty мен XSLT силяқты барлық жергеде болатын шаблондарды қолдану себепші болатыны анық, қазір жобалар қиындауда және өңдеуші уақыты үшін әртүрлі технологиялар өзара қосу өте қымбатқа түседі. Сонымен мысалға, барлық форматтау тәсілдері CSS- ке XSL қолданылады немесе HTML немесе XML ақпараттары басқа бөлімдерде сервер өңдеушілері үшіншісі мәліметтер қоры төртінші бөлімдерде сақталынады. Егер осыдан 5,6 жыл бұрын бар жерде леполік осылардың қосылысын бір файлда көруге болса, ал қазір оның бәрі керек болып жұр. Күрделі жоба жасағанда кодттың құрылымдығы мен оңай оқылатындығы қажеттілігі туады. Програмист кодын верстальщик кодымен ластауға болмайды ал верстальщик кодын дизайнер түзетулері мен және т.б...ары қарай жұмыстың жігін ажырату қажеттілігі туады мысалы, дизайнер өз жұмысын програмист өзінің жұмысын істейді, және де ешкім бір- біріне кедергі жасамайды.

Нәтижесін жоба мүшенің әр қайсысына өзінің жұмысында кездесетін мәліметтер жеткілікті болады. Бұл жағдайда топтың жұмыс қабілеті мен жоба сапасы 2 есе өседі. Қазіргі уақытта бұл да бір қиыншылықтар туғызады.Өйткені ол үшін, айталық Smarty қосу керек, шаблондарды өңдейтін программалық модулін қосып, оны жоба құрлымымен тығыз байланыстру керек. Ал бұл бар кезде бірдей мүмкін емес және біраз шығын керек.Бұдан оңайырағы XML+XSL байланысында, себебі олар көп мүмкіндіктер береді. Бірақ альтернативте, одан артық емес. Ал егер шеттен бар жақсыны біріктіретіндей қолда барды қолданып қандайда бір жаңаны тапсақ? JavaScript- ті елестетейік, онда РНР мен Perl- дің бар мүмкіндіктері, қосымша графика мен мәліметтер қоры жиналған. Графка мен мқ- ның ыңғайлы кеңейтілуі мен пысықтығы, және де кросс- платформасы бар. AJAX туралы алғаш 2005 жылдың ақпанынан бастап, Джесси Джим Гарреттің (Jess James Garrett) ”web- қосымша жаңа көзқарас”мақаласынан кейін айта бастады. AJAX- бұл өз бетінше технология емес. Бұл – екі қағидаға негізделген идея :

  1. Парақтағылар жылдам өзгерту үшін DHTML- ді қолдану.

  1. Серверге ''жазға '' деп қарау үшін XML Http Request қолдаушы.

Бұл екі көзқарасты (үйлесімділікті) қолдану сайттың қолданушыларымен екпінді өзарақатынасы бар парақтарында /ыңғайлылырақ/қолдану web- нтерфейісін құруға мүмкіндік береді.AJAX қолданушы Google компанясы оны екпінді түрде өзінің Gmail,Google maps және Google Suggest сияқты сайттарында құруға қолдана бастағанда атақтырақ бола бастады. Клиент өзін қызықтыратын қор адресін іздеу жолынан теріп, серверьге түсіп, оған сұраныс жасайды. Сервер сұранысқа сәйкес есептеу жүргізеді, МҚ жүргізуді және ары қарай, содан соң алынған мәліметтер клиентке барады және қажеттілік туғанда шаблон ұсынылып, браузермен өңделеді. Нәтижесі біз көріп тұрған және web- тағы 80% ел интернет деп атайтын парақ болып табылады. Бұл- өзін ұсынып үлгерген және күн астында құрметті орынға өзін көрсеткен классикалық модель. Бұл өзара қатынас пен оның салдары таратушының ең қарапайым моделі. Ескі достар ОАР- ның тұрғыны ойлап тапқан “Теңіздегі ұрыс” оn- line ойынын көз алдыңызға елестетіңізші осындай модол көмегімен қалай олардың ойынын максималды жағымды істеуге болады кез келген жағыдайда батқан кемелер туралы мәліметтар серверде сақталады және Оппасит келдіме тексеру үшін әркез сайын парақты жаңартып және ескі мәліметтерді өшіріп тұру қажет. “Бірақ елдер кэштеуді тапты ғой’ дерсіз. Және сіз шынымен дұрысты айтасыз бірақ онан жеңіл болмайды. Кэштеу тек сервер мен өзара іс әрекетті тездетеді. Бірақ парақты қайта енгізу қажеттілігінен құтқармайды тағы бір варианыт ретінде өзін- өзі жаңартудың нақты бір уақытын қоюға болады, бірақ бұл жағыдайда да парақ толығымен қайта енгізіледі.

Ajax негізінде, Web беттерін мүлдем басқа жаңа бір жерге ауыстыру мүмкншілігін береді. Ajax ті қолданудың бірінші әрекеттер нәтижесінде, Web беттер өзгерске ұшырайды. Бірақ Ajax тің потенциалдық мүмкіншіліктерін түсіну үшін, бізге Web беттерін құрудың кейбір пренциптерінен бас тарту керек. Демек, біздің соңғы жылдар бойғы ұстап, ережелерден де Ajax тің пайда болған сәтінен тек бірнеше ғана айлар өтті, ал Web беттің түрлену процесі басталып кетті.

Ajax тің негізгі төрт қағидасы (пренципі). Web беттерінің негізінде қосымшаның классикалық моделі тек пайдаланатын негізгі құралдармен ғана емес, біздің де ойлану қабілетімізбен байланысты. Ajax ті қолданудан неғұрлым үлкен пайда көру үшін, не істеу керектігін анықтау үшін немесе негізгі алғы шарттарын айқындау үшін бірнеше минуттарды бөлейік. Онда пайдаланушының атқарып жатқан жұмысының қандай жұмыс кезеңі екендігі туралы ақпарат болмайды. Ал серверде сеансты үзбей ұстап тұратыны туралы аздаған мәліметтер болады. Егер сіз Java немесе NET- пен жұмыс істеңіз, онда сервердегі сеансты жалғастыру тәсілі стандартты API арқылы сұрақтарға, жауаптарға немесе MIME- терге сәйкес ашық болады. Пайдаланушы тіркелген кезде немесе басқа амал бойынша сеансты бастаса, серверде бірнеше обьектілер құрылады. Олар мысалы сатып алушының «кәрзеңкесін» немесе пайдаланушының төлем карточкасы болуы мүмкін. Бір уақытта браузер бастапқы бетті қайтарып алады. Ал нақты бір пайдаланушы үшін тән стандартты элементтер жиынтығы мен мәліметтер ұсынатын ITML - мәліметтерінің ағыны түрінде беріледі. Серверге әрбір үндеу (жарнама) жіберген сайын браузер алдыңғы документтердегі сияқты мәліметтері бар келесі бетті алады. Браузер экранан ескі құжаты алып, оның орнына жаңа құжаты көрсетеді. Одан басқа әрекеттерді күтпесе де болады. Бұл өңдеушілердің алдын ала қойған ескертпелерін орындайтын төмен деңгейлі программа. Пайдаланушы сеанстың аяқталуына сәйкес сілтемені жандандырса немесе браузерді жапса, қосымшаның орындалуы тоқтатылады. немесе сеанс жойлады. Келесі тіркелуде пайдаланушы көру керек, ақпарат ұзақ уақыттың сақтау орнына жіберіледі. Ajax – қосымшаларды қолданбалы логика бөлігі браузерге ауыстырылады.

Пайдаланушының тіркелуінен кейін клиенттік қосымша браузерге жеткізледі. Бұл қосымша пайдаланушының көптеген әрекеттеріне өздігінен жауап қайтаруға бейімделген. Егер қолда бар мүмкіншіліктер жетіспесе, онда ол пайдаланушының әрекеттерінің тізбегін өзбей сауалды серверге жібереді. Пайдаланушының тіркелуі барысында браузерге JavaScript кодтарынан тұратын неғұрлым күрделі құжат келіп түседі. Бұл құжат пайдаланушы үшін бүкіл сеанс бойы ашық болады. Сонмен қатар, пайдаланушының әрекеттеріне байланысты ол өзінің сыртқы түрін өзгертеді. Клиенттік программа енгізілген мәліметтерге қалай жауап қайтару керектігін біледі. Немесе оларды өздігінен өңдей алатындығын шеше алады. Сондай- ақ, серверге сауал жіберу керек пе (яғни кезегінде мәлметтер қорына немесе басқа бір ресурсқа ықылас білдіретін) немесе не оны, не басқа бір әрекетті қалай орындау кектігін біледі. Құжат бүкіл сеанс бойы клиент жағында болғандықтан, ол құжаттың жағдайы туралы ақпаратты сақтай алады. Мысалы, сатып алушының «кәрзеңкесі» жағдайы туралы мәлімет серверде емес, керісінше клиенттік программада сақталуы мүмкін. Сервер мазмұнын емес, мәліметтерді береді жоғарыда айтып кеткендей классикалық Web қосымшалар жұмыстың әр бір деңгейінде арнайы мәліметтер мен стандартты элементтар жиынтығын береді пайдаланушы тауарды “карзинкаға ” қосқанда қосымша тек оның жалпы бағанын өзгерту керек немесе, қателік тапқан кезде ол туралы баяндау керек. бұл әрекеттерге жауапты кодтар құжаттың тұрарлықсыз кішкене бөлігін алады.Ajax-қосымшаларда ''кәрзіңке'' неғұрлым жоғары ''интелекте '' ие болады және де серверге асинхронды сауалдар жібере алады. Шаблон, навигация элементтері және беттердің басқа да компаненттері клиент жағында бар делік, сол себепті сервер тек сауалдардың өңделу нәтижесінен алынған мәліметтерді жіберуі керек. Ajax- қосымшалары мұндай мақсатқа әр түрлі тәсілдермен жетуі мүмкін, мысалы, Java Script- кодының фрогментін қайтару арқылы, немесе қарапайым мәтіні бар ағыны мен көлемі аса үлкен емес, XML құжаты арқылы бұлардың әр қайсыларының артықшылығы мен жетспеуіне кейінірек тоқталамыз, қазір осы фарматтардың кез келгеніндегі мәлімет, классикалық WEB қосымшалармен қайтарылатын беттермен салстырғанда неғұрлым кішкентай көлемді болатындығын көрсату жеткілікті. AJAX қосымшаларымен жұмыс істеуде графиктердің өсуін көрсететін график күрделі болып келеді, скбебі, пайдаланушының тіркелуі кезінде клиенттік программаға күрделі қосымша берледі. Сервермен ары қарай әрекеттестік неғұрлым тиімді болып табылады. WEB беттері негізінде құрлған өтпелі қосымшалар үшін, қосынды график AJAX қосымшаларына қарағанда аз болуы мүмкін. Алайда пайдаланушының уақыт көлемінің артуына байлансты ситуация өзгереді немесе AJAX қосымшалары өзінің классикалық тұрғыда конкуренттеріне, бәсекелестеріне қарағанда неғұрлым үнемді, пайдалы бола бастайды.

Пайдаланушы қосымшалары мен үзіліссіз бірлесе әрекеттесе алады. WEB браузерде мәліметтерді енгізудің екі негізгі механизімі қарастырлған: гипер мәтіндік сілтеммелер немесе HTML формалары. Гипер мәтіндік сілтемелер серверде құрлып немесе CGI (Common Gateway Interface- ортақ шлиуз интерфейісі ) параметрлерімен жабдықталған болуы мүмкін. Оларды бейне, кескін ретінде және CSS (Cascading Style Sheets — стилдердің каскадтың кестелері) құрлғылары ретінде көрсетуге болады. Және пайдаланушымен кері байланыс жасауға болады. Мысалы, оларға тышқан курсорын бағыттауға сыртқы түрінің өзгеруін қамтамасыз етуге болады. Жақсы WEB дизайнер, ынтасы бар болса, сілтемелердің пайдаланушылық интерфейісінің толық құрылымы компаненті ретінде көрініп тұруына қол жеткізеді. Формалар, пайдаланушылық интерфейісі үшін қарапайым қосымшалар, дәлірек айтқанда редаксиялау өрісін жалаушалар және ауыстырылып қосқыштар мен қайта ашылатын тізімдер. және т.б .. компаненттерден тұруы мүмкін. Алайда, формалалар құрамында кейбір компаненттер болмауыда мүмкін.Мысалы, фармалаларда ағаштар мен кестелер қарастырлмаған.Гипер мәтіндік сілтемелер сияқты формалаларда да сервердің ресурысына бағыттайтын URL- дер бар, Гипер мәтіндік сілтемелер және формалалар сондай- ақ JavaScript функцияларына бағыттауыш көрсете алады. Дәстүрлі WEB құжаттарда формалалардың дұрыс толтырылуын тексеретін JavaScript сценарийлерінде кездестіруге болады олар толтырылмай қалған өрістерді мүмкін болатын диапозонның шегінен шығатын мәндерді және т.б... Сәйкес қателерді қадағалап отырады мәліметтерді серверге көшіру тек формалалар дұрыс толтырлан болса ғана орындалады JavaScript функциялары WEB беттермен бірге бір уақытта клиент жақта болады. Клесі бетке ауысу үшін пайдаланушыға біраз уақытқа жұмысын тоқтату керек болады. Алдынғы құжат біраз уақытқа дейін экранда көрсетіліп тұрады. Кейбір браузерлер көрініп тұрған сілтемелердің кез келгенін жандандыруға мүмкіндік береді, бірақ нәтижесін алдын ала айту, болжау мүмкін емес. Бәрінен бұрын, пайдаланушы осындай әрекет жасаған болса, онда ол серверде бар сеанс туралы ақпараттарды жойып тастайды, жаңа бетті алғаннан кейін, пайдаланушыға таңдаудың тура сондай мүмкіндіктері беріледі.

AJAX қосымша құрылымында іске асырлған сатып алушының “карзенкесі” қандай болатынын көрейік, AJAX мәліметтерді асинхронды режимде беруге болатындықтан, пайдалаушы тауарды “карзенкеге” тез жылдамдықта қоса алады. Егер қосымшаның клиенттік бөлегі профенссаналдық тұрғыда орындалған болса, онда ол бұл тапсырмамен ешбір қиындықсыз орындап шығады, жәнеде пайдаланушыға сервер мен программаның әрекеттестігінің заңдылығын ескермей жұмыс істеуге мүмкіндік туады. Шынайы “карзенке” жоқтығы айқын, ол серверде сеанс обьектісінің қолдауы түрінде орындалады. Алайда сауда жасап жүрген пайдаланушының сеанстың обьектісі туралы ештеңе білмеуі тис. “карзенке”- орындалатын әрекеттердің қысқаша берліуін, көрсетілуін түсіндіретін ұғым. Компютердің жадында сақталған “карзенке” ұғымынан обьектіге көшірудің қажеттілігі пайдаланушы үшін қолайсыздық туғызады. Беттердің жаңғыртылуының көту қажеттілігі қиял әлемінен қазіргі өмірге қайтуға мәжбұр етеді. AJAX амалымен іске асырлған қосымшалар мұндай кемшіліктен арылған желілік дүкендерден тауар алу, пайдаланушы үшін кейбір кездерде ғана жүргізіледі. Алайда, қызыметтің басқа салаларында, мысалы, көрделі енженерлік есептерді шешуде келесі беттің ашылуын күтудің қажкттілігімен байлансты жұмысты тоқтату мүмкін емес. AJAX тің тағы бір артықшылығы бұл технология пайдаланушының әрекеттеріне сәйкес келетін неғұрлым ауқымды оқиғаларды өңдеуге мүмкіндің беребі. Интеифейстің обьектілері мен басқада көрделі функцияларын ауыстырып көшіруін іске асыруға болады натижесінде WEB қосымшалары аса қажет жүйеде орындалатын қарапайым қолданбалы программаға ұқсай бастайды. Жинақтылық тұрғысынан қарағанда, бұл әрекеттердің еркінділігі пайдаланушының вертуалды желі туралы ойлануына көбірек сәйкес келетіндігінен маңызды емес, керісінше пайдаланушы мен серверге сауал қоюдың әрекеттестігін, байланстылығын жақсы үйлестіреді. Классикалық WEB қосымшаларында серверге өңдеу, жіберу үшін біз не гипер мәтіндік сілтемеге түртуіміз керек не формалар елементтерін жандандырып одан кейінгі нәтижесін көтуіміз керек. Егерде серверге өңдеу тышқанның жылжыуынан, обьекті арлы- берлі тасу немесе перне теқтаны басудан болса, онда сервер пайдаланушымен параллель жұмыс істеген болады. Жағарыда айтылғандардың барлығын Google Suggest мысалыман көрсетеді (http: //www. google. com/webhp?complete=l). бұл мысалда қосымша перне тақталардың басылып кетуіне пайдаланушының енгізген ақпараттарына сай жауап береді.

Классисалық WEB қосымшаларда қосымша мүмкіндіктерді іске асыру үшін құжаттарға, әдетте, JavaScript- кодының прагменттерін енгізеді. Беттік модел бұл прогменттердің клиент жағында беттің өзінен артық және ұзақ болуына мүмкіндік бермейді, ал бұл олардың жарамдылығын шектейді. нәтижесінде JavaScript тек жасанды және шынайы программа құраструшылар, өңдеушілердің назарына ілінбейтін программалау тілі деген атқа ие болады AJAX қосымшалары ол үшін кодтарды құрастыру програмистерге ұйреншікті жұмыстарынан өзгешеленеді. Қосымшалармен жұмысты бастағанда клиентке берілетін код сианстың соңына дейін ашық болады, және де ол пайдаланушының жұмысын өзбейді және баяулатпайды жәнеде жадыны құр шығындандырмайды.егер өңдеуші тәуелсіз қосымшалар рыныгына шығуға ұмтылса , онда ол өзінің программасын бірнеше сағат бойы қатарынан жұмыс істегендігін ескергені жөн, ол үшін жоғары өнімді код керек.оны құрастыру барысында серверлік программа жазудағы сияқты программалау тәртібі мен есепті жақсы түсіну қажет. Нұсқа кодтың көлемі классикалық WEB қосымшаларына қарағанда үлкен болуы ықтимал. Нәтижесінде үлкен мәнге код құрылымының өзі ие болады, қосымшаларды құрастыру жалғыз адамға оңай болмайды, бұнымен өндіруші программист коллективі айлансуы керек

AJAX қосымшалары туралы жаңаша ұсынстардың құрлуына көп еңбегін сіңірген Google болды. Сондай ақ Gmail қызыметінің бета версиясы 2004- жылдың басында ашылды, бұл қызымет түрі пайдаланушылардың назарын тек оларға пайдалануға берлілетін почталық жәшіктердің мөлшерлері мен ғана емес, пайдаланушы жаңа хабарлама дайындап отырған уақытта бір мезгілде бір неше хабарламаларды ашуға және мәліметтер тізімін автоматты түрде жаңартып отыруға мүмкіндік береді мәне бұл жаңадан ойлап таблған технологияның ең басты артықшылықтарының бірі. Gmail дің соңынан басқада интерактивті қызыметтер жалғасқан, мысалы, Google Suggest; белгіленген сауал құрамындағы сөйлемдердің автоматты түрде аяқтауын ұсынатын іздеуші сервер, және Google maps ресурстың орналасуын анықтайтын интерактивті өлшемдендіруші карта.

AJAX негізінде құрлған қосымшалардың бар болуы, бұл тәсілдің құрастырушылар арасында кеңінен таралып, қолданушылар арасында сұрансқа ие екенін көрсетеді. AJAX технологиясы жоғары интерактивті мүмкіншіліктері бар, және локалды компютерлерде инсталлецияны қажет етпейтін, бай клиенттердегі нарық тұтынуын қанағаттандыру үшін ойластырлған. Алайда, AJAX осындай белгілеулердің тек жалғыз инфра құрылымы емес. Кейбір есептер үшін ол жақсы теңдеу болып табылмайды. Макромедия Flash интерактивті қозғалмалы суреттерді, бейнелерді қолдау үшін арналған жүйе. Ол векторлық графика форматындағы қысылған мәліметтерді пайдаланады Flash бейнелері жүктеу процесінде AJAX технологиясы мұнда оқылуы мүмкін және мәліметтерді соңына дейін көшіруінде, алғашқы прогменттерді пайдаланушыға көруге мүмкіндік береді, бұл жүйе интерактивті мүмкіндіетерді тудырады. Flash технологиясы әр түрлі қосымшалар үшін компьютерлік ойындардан бастап бизнес қосымшаларының күрделі интерфейсіне дейін пайдаланылады. Мұндай технологиялар аясында графиканы түрлендіретін аса күшті тәсілдер жүзеге асырылған, өкінішке орай мұндай ерекшеліктермен AJAX ті мақтауға болмайды.

JWS- Java негізінде құрлған серверлік Web қосымшаларының байланысын тәсілін анықтайтын заңдылық. Нәтижесінде, қолданбалы жүйеде орындалатын программа. Оларды тауып көшіріп және жүктеу амалы, осы қосымшалаға сілтемелер жасайтын гипер мәтіндік сілтемелерді құруға мүмкіндік беріледі, мұндай амал Web Start бар браузерін үңдеу келуін қамтамасыз етеді. Web Start құралдары Java ның соңғы версиясына енгізілген Internet, Explor, және Mozilla өнімдерін жасырын түрде қолданлуына рұқсат етілген. Бір рет көшірілген Web Start қосымшасы “құм салғыш” деп аталатын файылдар жүйесі құрамында сақталады және жаңа версия алу барысында автоматты түрде жаңартылады. Мұндай тәсіл желілік байланыс болмаған кезде жұмыс жасайды және құжаттарды қайтадан жүктеу кезінде, трафик көлемін төмендетеді, нәтижесінде, көлемі бір неше мега байт болатын қосымшалармен жұмыс істеуге мүмкіндік болады.


2.2 Ajax технологиясының классикалық технологиялардан ерекшелігі

CSS, Dom, асинхронды сұраныстар, және JavaScript Ajax тің ажырамас компаненттері болғанына қарамастан бұл технологияларды тәуелсіз түрде пайдалануға болады. Web қасымшаларда пайдаланушыға берілетін мүмкіндіктер сервер жақта орналасқан кодтармен анықталады, бір құжаттан екінші бір құжатқа көшкенде бүкіл беттің жүктелуі орындалады, келесі беттің жүктелуі кезінде пайдаланушы жұмысты жалғастыра алмайды. Ajax қосымшаларында пайдаланушының әрекеттерінің тізбегі, көбінесе клиент жағында орындалатын программа мен анықталады. Клиенттің сервервермен әрекеттестігі пайдаланушы үшін байқалмайтын фондық режимде орындалады. Алайда бұл жағыдайдан басқада аралық жиынтық варианттары да бар, Web қосымшалар классикалық амалдар аясында жеке беттер тізімін береді, және де осы беттердің әр қайсыларында CSS, Dom, Java Script, асинхронды сауалдар қолдану орындалады. JavaScript қосымшалар классикалық Web беттерге ұқсас терезелерді көрсетуі мүмкін. браузер Ajax амалдар мен классикалық қосымшалардың біреуінің аясында қолданылатын ыңғайлы тәсілді жүктеуге асырады. Ajax Web қосымшаларды құрудағы басқа тәсілдерден қолданылатын технологиялардан емес, осы технологиялардың қолданлуына орай мүмкін болатын әрекеттестік моделімен ерекшеленеді. Ajax ті мақсатты қолданатын деңгей, Ajax негізінде жеке компаненттерді құрып және сценари прогменттерінің көмегімен Web беттер құрамына қосу ыңғайлы болады.

ұсыныстардың бөлінуі- Ұсыныс коды әзірше обьектен алшақтатылмаған себебі, XML – форматы ашық анализіне арналған кодпен байланысты. Егер біз бірнеше беттермен жұмыс жасасақ, егер біз қосымшаның бір жеріндегі XML – форматын өзгерте алсақ, яғни басқа фрогменттер өзгеріссіз болса, онда бұл пайдалырақ болар еді. Мейілінше күрделірек жағдайда бірнеше форматтардың көмегі қажет болады. Мысалы, біреуі пайдаланушыға тауар тізімін ұсыну үшін болса, ал екіншісі дүкеннің өзін басқару үшін. Сол себепті әрбір форматты жеке-жеке бір рет анықтап және олар үшін орталықтандырылған бейнесін қамтамассыз ету орынды болар еді. Бұл есепты шешу үшін шаблондар негізіндегі жүйелер шаблон тілі ретінде қолданылады. Шаблоны бар жүйе арнайы белгілері бар мәтіндік құжат алады. Белгілеулер элементі нақты айнымалылардың орнын көрсетеді (білдіреді). Фрогменттер бетін Web- беттер құрлымына енгізуге мүмкіндік беретін PHP, ASP және JSP- ді шаблон тілдеріне жатқызуға болады. Бұлар, мысалдары Java – сервлеттер және дәстүрлі CGI сценарийі болатын құрылғыларды қосатын кодтардан нақты ерекшеленеді. Сценарийлер сауалдарды өңдеуді ұсынатын жеткілікті күшті тәсілдеріне қарамастан, оларды пайдалана отырып бизнес- логикасымен ұтысты бөлу өте қиын. Нақты қосымшаларға негізінен сценарийлер тілдері, мысалы, PHP Smarty және Apache Velocity кодтарды құруда шектеулі мүмкіндіктерді ұсынады. Жағдайлар ретінде басқару ағыны тек бұтақтану (if операторы) және циклдерден (мысалы, Fop және while) тұрады.

Шаблон үшін кірер ақпарат болып Garment обьектілері бар gar – ents масивнің айнымалылары табылады. Шоблоның Бдыпая бөлігі процессормен генерацияланады, ал фигуралы жақшалар ішіндегі бөлімдер инструкциялар ретінде интерпретацияланады. Олар, не айнымалылар атымен алмастрылады, не бұтақтану мен циклдер өрнегі ретінде интерпретацияланады. Шаблон түрінде өрнектендрілген ақырғы IXML – құжатының құрлымы 3.7 – листингісінде көрсетілген кодқа қарағанда неғұрлым жақсы қабылданады. Енді өзміздің құжатымыз үшін шаблонды қалай пайдаланатындығымызды қарастрайық. Қорта айытқанда, AJAX біржағынан Web инженериясындағы үлкен секіріс, басқа жағынан бұл праграмалық қамтаматсыздандыруды жасау блогінде жаңа биіктерді ашқан. Эволоцияның дамып жетілген этапы (бөлімі). Сонда да бұл технология әлі дамымаған. Себебі қазіргі жағдайда қолдану жағымды ғана. бірақ бұл туралы әлі көп айтары сөзсіз.



















3 PHP ЖӘНЕ AJAX

3.1 AJAX технологиясын PHP да қолдану

Бүгінгі күнге дейін пайдаланып келе жатқан программалар құрлымы, екі үлкен топқа бөлінпді, бірі B/S (Brower/Server) құрлымы, екіншісі C/S(Client/Server) құрлымы. B/S құрлымы серверде үш түрлі техниканы пайдаланады: олар ASP, JSP, PHP. Ал Ajax технологиясы ол B/S (Brower/Server) құрлым жасау техникасының жаңа өнімі, дамыған техника. Ол жеке дара жұмыс жасай алмайды, сөзсіз түрде тағы бір техникамен сәйкесу керек. Мысалы, ASP, JSP, NET немесе PHP. Ajax – тің жұмыс істеу тәсілі, пайдаланушы серверге өтініш жіберіп, сол арқылы сервер сандық мәлметтер қайтарылады. Ajax – тің негізі XMLHttrRequest, сервер мен пайдаланушы ара қатынасын реттейді.

Осыған бір мысал келтіру арқылы Ajax – тің істету тәсілін көрсетеміз. Бұл мысалда HTML – дың бір құжат оқуын көрсетеді. Арине, HTML – дың өзі мәлметтерді оқи алмайды. Осы арада Ajax техникасы пайдаланушыдағы HTML беттің пайдаланушыдағы PHP бетке өтініш етуі, содан кейін сервер PHP бет арқылы мәлметтерді оқып, қайтадан оқыған мәлметті пайдаланушыға береді.сол арқылы пайдаланушыдағы HTML беттіне мәлметтерді көрсетеді.

Бұл мысалда үш құжат бар:

Ajax. Htm- пайдаланушы, ол Ajax –дың негізгі істелуін көрсетеді;

Ajax. Php- өтініш қабылдайтін сервердің програмасы;

Ajax. Txt- ішінде мәлмет сақталған құжат.

Мысал- Ajax. htm:

<Head> <script type = ''text/javascript''>

var xmlHttp;

Function createXHR () {

If (window.activeXObject) {

XmlHttp=ntw ActiveXObject (''Microsoft.XMLHTTP'') ;}

Else if (window.XMLHttpRequest) {

XmlHttp=new XMLHttpRequest () ;}}

Function doStart () {

createXHR();

var url=''ajax.php'';

xmlHttp.open(''GET'' ,url);

xmlHttp.onreadystatechange=callback;

xmlHttp.send (null) ;}

Function callback () {

If (xmlHttp.readyState==4) {

If (xmlHttp.status==200) {

document.getElementByld (''my'').innerHTML=xmlHttp.responseTex ;}

}}

</script> </head> <body>

push this button to start Ajax: <input type=''button''value=''push''onclick=''doStart()''/>

<hr> <div id=''my''></div> </body>.

Программаның нәтижесі.

Ajax.htm бетіндегі ''push'' кнопкасын басқанда келесі бетке сілтеме жасайды.

Мысал - ajax.php: <? Php echo '<h4>құжаттың мазмұны :< /h4>';

Echo nl2br (file_get_contents ('love.txt')) ;?>.

Төменде ajax.htm- тың коды көрсетілген. Бұл код ajax- тың негізгі құрлымы болып таблады. Кодтың 4 қатары: ол жолдың ортасында XMLHttp деп белгіленеді.

6~16 қатары: бір функция құрылады, ол функция XMLHttpRequest- тың обьектісін құруға істетіледі. Алдыңғы 8 қатарда экраның ActivX обьектісінің құрылу құрылмауын тексереді. Егер құрылса, онда ActivX- пен тікелей XMLHttp- ның обьектісін құруға болады. Айтпегенде, 12 қатарға барғанда Javascript- ті қолданып XMLHttpRequest- тың обьектісін құруға тура келеді. Ескерту, XMLHTTP пен XMLHttpRequest екеуі бір нәрсе. CreateXHR функциясы XMLHttpRequest обьектісін құрудың стандартты амалы.

Function createXHR () {

If (window.activeXObject) {

XmlHttp=ntw ActiveXObject (''Microsoft.XMLHTTP'') ;}

Else if (window.XMLHttpRequest) {

XmlHttp=new XMLHttpRequest () ;}}

18~25 қатарларда: сан мәліметті жіберуге өтініш қылатын функция do Start құрылады. Бұл функция алдымен XMLHttpRequest ты, содан кейін сервердің сұрыптап істеуін құрады. Егерде өтініште жауап қайтарылса, онда callback функциясымен бір жақтылы етіледі, ең соңында серерге өтініш жібереді.

Function doStart () {

createXHR();

var url=''ajax.php'';

xmlHttp.open(''GET'' ,url);

xmlHttp.onreadystatechange=callback;

xmlHttp.send(null);}

Бұнда негізгі түсіндрме қажет:

22 қатары: XMLHttpRequest обьектісінің open амалын істеуі арқылы URL (ajax. php) байланысы құрылады. бұндағы байланыс GET, ол аз мөлшердегі мәлметті жіберуге лайықты. Бұл жерде POST немесе PUT болсада болады. Url бұл негізгі және салыстырмалы әдіс. Төмендегі мысалда url- дың салыстырмалы әдісін қолданамыз.

23 қатарда: xmlHttp обьектісінде бір уақиға onreadystatechange құрылады, егер сервер күйінде өзгерсе, онда onreadystatechange- ды қоздырады да callback функциясын іске қосады.

24 қатары: серверге өтініш жібереді. Бұның мазмұны null яғни бос, үйткені бұнда GET әдісімен байланыс болу үшін сөзсіз null болу керек. Егерде PUT не POST болса, онда ұқсамайды.

Қазіргі оқырман callback- тың формасына өтекөңіл бөледі.

Төменде 27~36 қатарларда callback функциясы оқырманның алдына ұсынлады.

Function callback () {

If (xmlHttp.readyState==4) {

if (xmlHttp.status==200) {

document.getElementByld (''my'').innerHTML=xmlHttp.responseTex ;}}}

29 қатарда: ең алдымен сервер күйінің өзгерісін қадағалап отыру керек. XMLHttp- тың қасиетті readyState, ол сандық бірлік. Ол сервер күй өзгерісін көрсетеді. Онда 5 сандық бірлік бар: 0= басталу, 1= қослуда, 2= қосылған, 3= алмастыруда, 4= аяқтау. 29 қатарда біздің түжырым бойынша 3 сандық бірлік бітісімен келесі кодтары орындалады.

31 қатарда: xmlHttp- тың қасиеті status. Бұл сервердің күйін көруге арналады. бағаналы readystate, ол өзара алмасудың орындалған орындармағанын тексереді. Бірақта өзара алмасудың орындалуы, ол өтініштің қабылдануы деген сөз емес. Мысалы, сақталмаған тор бетіне өтініш берсек, онда бізге 404- тен жауап келеді.

34 қатарда: бұнда қабылданған мәлметтерді ''my''- дың div белгісімен көрсетеді. Мқнда оқырман көрмеген, бірақ, ойлап білуге болатын білім бар. Ол xmlHttp.responseTex серверінен кепген мәлметтерді көрсетеді. Төмендегі кодлар экранда бірқатар әріп, бір кнопка бір сызық болып көрінеді. Push this button to start Ajax: <input type=''button''value=''push''onclick=‘‘doStart ()''/>

Ескерту, onclick=‘‘doStart (): бұл кнопкада бір уақиға болады. Бұл кнопканы басқанда doStart функциясын қозғап, сол арқылы Ajax програмасын қолданады. Мәлметтердің өзілуі туралы ерекше хабар байқалса, пайдаланушыға сонда да нақты уақытында жеткізіді.

3. 2 AJAX және SAJAX технологияларын PHP да қолдану

JavaScript және XML(Asynchronous JavaScript and XML,Ajax)ең жаңа Web құру технологиясы. Біз PHP мен Simple Ajax Toolkit (Sajax) ті толық қолдана отырып бір оңай көріністік Web қолданбалы программасын құрамыз. Алдымен нормалды PHP ашу әдісі мен көріністі редактрлаймыз, сонан кейін тағыда Sajax ті қолданып нәтижесінде интерактивті Web программасын құрамыз. Sajax, Ajax бұл екі түрлі тәсілдің маңызды орльі ол беттерді бөліп көрсету апараты мен суреттерді тексеріп көрсету апараты, олар ұқсамаған Php жолының қолданылуымен ерекшеленеді. HTTP GET жобаға өтініш береді деп қарасақ, жоба Web қолданушының парағына тіке бағытталады.

Ajax серверге өтініш жібереді, және тор бетінде нәтижесі шығады, өкінішке орай, ең оңай Ajax қолданбалы программасы ең үлкен міндет арқалайды. Үйткені, Ajax нормалданған технология емес, Internet Explorer мен басқада көрсетпе құрлғылардың (мысалы Firefox, Safari) көрсетуі ұқсамайды.бұның сыртында программалаушы ең кем дегенде үш функцияға бөлгенде ғана бір рольді атқарады. Бұл үш функция: JavaScript бастапқы талаптарын HTTP ға жіберу, Php жолының қайту әсері, бұл әсерлерді басқаратын JavaScript функциясы. Ajax негізінде құрлған Sajax оңай шабыттандыру әдісін қолдану арқасында үлкен жетістікке қол жеткізді, көрініс құру үшін екі түрлі тәсіл бар: дастүрлі Web программасын қолдану және Sajax қолданбалы программасы.

Sajax қоры негізінен көріністер мен жұмыс жасауда қолданлады ол көріністерді тез жылдамдықпен ашып беруге көмектесетін технология Ajax программасын қолдану барысында, сұраныстар әр рет серверге жіберіліп орындалады, пайдаланушылардың жіберген сұраныстары серверге жіберілгенде әр бір сұраныстарға сенарилер жауап береді, міне бұл жұмысты қиндатады, ал Sajax тің ролі онда пайдаланушыдан келген сұрақтарға бір ғана файл жауап береді, тек өзімізге қажетті функцияны анықтап қойсақ болғаны, Sajax басқару программасының рольін атқарады.

Web клиент сервері сұраған әрбір PHP функциясы түгел Sajax “бағыттаушысын”істетеді. Егер foo_bar() атымен белгіленген PHP ның функциясы,олай болса Sajax функция бағыттаушысын JavaScript функциясы x_foo_bar() үшін өзгертуі мүмкін。Клиент сервері x_foo_bar() нің кез- келген стетілуі сервердегі foo_bar() ға автоматты түрде берледі, көрсетілімдер тағы бір JavaScript функциясына жеткізіледі. Тізімдіктің 8- жолындағы амал осындай әдісті үлгіледі. Бұл функцияға қатысты мысалдар мен программаларды Sajax қорынан таба аласыз




Joomla тілінің көмегімен «Айжан» бала бақшасының сайтын құру.


Joomla тілінің көмегімен «Айжан» бала бақшасының сайтын құру.Бұл жобаның басты мақсаты «Айжан» бала бақшасының сайтын интернет желісіне орналастырып, пайдалану болып табылады. Интернет желісінде оны пайдалану үшін Windows пакетіне кіретін Internet Explorer немесе басқа да броузерлерді қолданамыз. Joomla - Web-аренада 2005 жылы пайда болған жаңа жүйе. Ол қарапайым жазуға және қолдануға сенімділікті жаулап алды. Joomla -ны қолдана отырып біз шамалы ұйымдастырылған Web- интерфейстерден құтыламыз. Joomla артықшылықтары: Joomla -ның стандартты функцияларының құрылымына 200- ден астам ақысыз және коммерциялық кеңейтілулер(плагиндер), Joomla жүйесінде сайт жасаудың қосымшалары, Joomla кеңейтілуі бірнеше минут ішінде форум, чат, интернет-дүкен, аукцион құруды қамтамасыз етеді. Көптеген CMS бірқатар жөндеулерді және қызметтерді қолданушыдан талап етеді. Ал, Joomla керісінше қарапайым басқару панелі арқылы барлық операцияларды өндіре алады. Басқару панелі Web-интерфейс болғандықтан сіз сайтты Интернетке қосылған кез-келген жерден басқара аласыз. Joomla-ң басқару панелi сайт әкімдігінің басқаруы бойынша түгелдей дерлiк функиялар түсiнiктi, не интернетке рұқсат бар болатын жер шарының кез келген нүктесiнен сайтты басқара алады. Қашан болса да интерфейсi әкiмдігі арқылы сайттың әкімшілік басқаруы орындалмаса, сiз стандартты MySQL – утилитін қолдана аласыз. Әр түрлі блоктарды және модульдерді қосу немесе жою арқылы сайттың сыртқы түрін және оның функционалдылығын өзгертуге болады. Joomla-ның негізгі функциясы: Кез келген Web-шебер лезде мына ерекшеліктерге назар аударады: сайтты Web-интерфейс арқылы толық басқару; Web-интерфейс сайттың негізгі элементтерін графикамен, беттермен және басқа да деректермен басқарады; контентті мақұлдау функциясы, бұл мәліметті мододерлеу, авторлық құқықты қолдану (ешкім сіздің мақұлдауыңызсыз мәліметті шығара алмайды); қолданушыны иреархиялық топ арқылы басқару:

сайт мәзірінің автоматты басқарылуы; автоматты жариялаудың және мәліметті жоюдың кесте бойынша мүмкіншіліктері. Пайдаланушылық есептік жазулардың қорғанышы; Контентті басқарудың (сайтты қолданушылар) және қатысушылардың CMS әрекеттестік мүмкіншілігі функцияларды көрсетеді. WYSIWYG(What You See Is What You Get) редакторында жасалған, HTML-ді қолданбай-ақ сайттың беттерін құруға мүмкіндік береді; сайтта автоматты іздеу жүйесі; RSS және Atom форматында жаңалықтарды толық пайдалану; сұраныс құрудың мүмкіншілігі(дауыс беру); жарнамалық баннерларды басқару; интернет-дүкендегі ұйымдардың плагині, мысалы, кәрзеңке, бейнелеу галереясы және тағы басқа; көптілдік (орыс тілін толық қолдау және орыс тілі символдарын кодтау). Бұл айтылғандарға тағы да Joomla -ның негізгі ерекшкліктерін қосуға болады: негізгі кодты жүктеу және оны өзгерту негізгі кодты толық ашады. Linux және Windows операциялық жүйесін қолдау (тәжіребие жасау үшін Joomla -ны үй компьютеріне де орнатуға болады); беттерді кэштеуді қолдау сайттың өнімділігін арттырады; Жаңа функцияларды қосу арқылы плагиннің көмегімен Joomla -ның мүмкіндігін кеңейтуге болады. Оның негізгі кодының ашықтығына қарамастан, Joomla -дағы коммерциялық кеңейтілуді жасау және сатуға болады. Joomla бағдарламасы арқылы Web-сайт жасау тиімді әрі қарапайым. Бағдарламалаумен таныс емес қолданушылар жабық кодта бағдарламалық қамтамасыз ету





практикалық

Балабақша артықшылықтары

Балабақша өмірі туралы қысқаша ақпарат

Балабақша жетістіктері туралы қысқаша мәліметтер

ҚОРЫТЫНДЫ

Бүгінгі таңда қарым- қатынасының жаңа тәсілдері мен Интернеттің таңғаларлықтай дамуымен атағы шықты. Бұл жағдайдың алдыңғы қатарында World Wide Web тұрады. Күнделікті бұл коммуникациялық ортада мыңдаған жаңа сайттар ашылып, ал тұтынушыларға қызмет көрсетудің жаңа түрлері ұсынылып жатыр. Нарықтың қарқынды дамуына байланысты жаңа технологияға және осы технологияны меңгерген программа өңдеушілеріне деген үлкен сұраныс пайда болды. Жаңа Заман талабына сай көптеген программалау тілдері мен неше түрлі жаңа технологиялар ойлап табылып адамдар қажетін қанағаттандырып келеді. PHP тілі жаңадан ойлап таблған технологиялардың бірі. міне сондай технологиядардың бірі AJAX. ол Технологиялық секіріс, қолда бар мүмкіндіктер аз қолда бар мүскіндіктерін одан әрі кемелдендіру мүмкін емес кезде болады. Мұндай секріс AJAX (Asynchronous java script and XML) болып табылады.Ajax – тің жұмыс істеу тәсілі, пайдаланушы серверге өтініш жіберіп, сол арқылы сервер сандық мәлметтер қайтарылады.Ajax–тің негізі XMLHttrRequest, сервер мен пайдаланушы ара қатынасын реттейді.

Мен осы дипломдық жұмысты жасау барсында Joomla яғни PHP және Javascript негізінде құрылған мәліметтер басқаруға арналған жүйе практика барысында қолдана алдым. РНР- ны қолдану салалары кең өрісті және әр түрлі. РНР меңгеру өте қарапайым. Синтаксистің негізгі ережелері мен оның жұмыс принциптерімен танысудың өзі жеткілікті, сол арқылы (басқа тілде жазғанда үлкен дайындықты қажет ететін) өз бағдарламамызды жазуға болады. РНР шамамен барлық белгілі платформалардан, операциялық жүйелерден және барлық түрлі серверлерден қолдау тапты. Бүгінгі күнде РНР- ды жүз мыңдаған өңдеушілер пайдаланады. Бірнеше миллиондаған сайттар РНР- да жазылған, ол Internet домендерінің 20%- ін құрайды.





Пайдаланылған әдебиеттер тізімі

1. Гарнеев А.Ю. Web–программирование на РНР. –СПб.: БХВ–Петербург, 2002. –1040 с.

2. Орлов А.А. РНР: Полезные приемы. –2-е изд. перераб. и доп. –М.: Горячая линия – Телеком, 2006. –272 с.: ил.

3. Мазуркевич А. РНР: настольная книга программиста. –М.: Новое знание, 2004. –479 с

4. Колисниченко Д.Н. Joomla!: Руководство пользователя / Д.Н. Колисниченко.- М.: Диалектика, 2009.

5. Норт Б. Joomla! : Практическое руководство / Б. Норт.- М.: Символ-плюс, 2008.

6. Рамел Д. Самоучитель Joomla! / Д. Рамел.- СПб.: Питер, 2008.

7. Хаген Г. Создание веб-сайтов с помощью Joomla! 1.5 / Г. Хаген.- М.: Вильямс, 2008.

8. Чиртик А.В. Популярный самоучитель HTML / А.В. Чиртик.- СПб.: Питер, 2006

9. Балапанов Е.Қ., Бөрібаев Б., Дүзбаева Р.М., Мамырбек Ғ.Б. Интернетке кіріспе: Бүкілдүниежүзілік өрмек: Әдістемелік құрал. –Алматы: ЖТИ, 2004. –28 б.

10. http://www.php.net

11. http://delphiworld.narod.ru/wds.html

12. http://www.tup.com.cn

13. http://www.phei.com.cn

14. http://www.broadview.com.cn











Қосымша

<?php

if (! file_exists(dirname(__FILE__) . '/system/config/database.php') AND ! file_exists(dirname(__FILE__) . '/system/config/install.lock.php') AND !defined('SAE_TMP_PATH'))

{

header('Location: ./install/');

exit;

}


include('system/system.php');


AWS_APP::run();


<?php TPL::output('global/header_meta.tpl.htm'); ?>

<body>

<div>

<div class="conteiner aw-login-box"">

<div class="row">

<div class="col-lg-12 col-lg-4"></div>

<div class="col-lg-12 col-lg-4" style="margin:200px 0;">

<div class="well bs-companent">

<form id="login_form" method="post" onsubmit="return false" class="form-horizontal" action="account/ajax/login_process/">

<fieldset>

<legend><?php echo get_setting('site_name'); ?></legend>

<input type="hidden" name="return_url" value="<?php echo $this->return_url; ?>" />

<div class="form-group">

<label for="inputEmail" class="col-lg-2 control-label">Login</label>

<div class="col-lg-10">

<input type="text" id="aw-login-user-name" class="form-control" placeholder="Қолданушы аты немесе email" name="user_name" />

</div>

</div>

<div class="form-group">

<label for="inputPassword" class="col-lg-2 control-label">Password</label>

<div class="col-lg-10">

<input type="password" id="aw-login-user-password" class="form-control" placeholder="Құпия сөз" name="password" />

<div class="checkbox">

<label>

<input type="checkbox" value="1" name="net_auto_login" />

Есте сақта

</label>

</div></div></div> <div class="alert alert-dismissible alert-danger hide error_message">

<i class="icon icon-delete"></i> <em></em>

</div<a href="javascript:;" onclick="AWS.ajax_post($('#login_form'), AWS.ajax_processer, 'error_message');" id="login_submit" class="pull-right btn btn-large btn-primary"><?php _e('NN'); ?></a>

</form></div></div>

<div class="col-lg-12 col-lg-4"></div>

</div></div></div>

<script type="text/javascript" src="<?php echo G_STATIC_URL; ?>/js/app/login.js"></script>

<?php TPL::output('global/footer.tpl.htm'); ?>

<?php TPL::output('global/header_meta.tpl.htm'); ?>

<body id="Wraper">

<div class="navbar navbar-default navbar-fixed-top">

<div class="container">

<div class="navbar-header">

<button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#navbar-left">

<span class="icon-bar"></span>

<span class="icon-bar"></span>

<span class="icon-bar"></span>

</button>

<a href="<?php echo base_url(); ?>" class="navbar-brand">Есік қаласының сайты</a>

<button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#navbar-main">

<span class="icon-bar"></span>

<span class="icon-bar"></span>

<span class="icon-bar"></span>

</button>

</div>

<div class="navbar-collapse collapse" id="navbar-main">

<ul class="nav navbar-nav">

<li class="dropdown">

<a class="dropdown-toggle" data-toggle="dropdown" href="article/16" id="themes">Жалпы мәлімет<span class="caret"></span></a>

<ul class="dropdown-menu" aria-labelledby="themes">

<li><a href="article/16"> балабақша туралы</a></li>

<li class="divider"> артықшылықтарымыз </li>

<li><a href="article/17">балабақша өмірі</a></li>

<li><a href="article/18">жетістіктеріміз</a></li>

<li><a href="article/3">бізбен хабарласыңыз</a></li>

</ul>

</li>

</ul>

<form class="navbar-form navbar-left" role="search" >

<div class="form-group" style="margin-top:3px">

<input type="text" class="form-control input-sm" placeholder="Кілттік сөз жазыңыз">

</div>

<button type="submit" class="btn btn-primary btn-sm">ІЗДЕУ</button>

</form>

<?php if ($this->user_id) { ?>

<ul class="nav navbar-nav navbar-right">

<li><a href="publish/article/" >МАЗМҰН ЕНГІЗУ</a></li>

<li><a href="account/logout/" >ШЫҒУ</a></li>

<?php } else { ?>

<ul class="nav navbar-nav navbar-right">

<li><a href="account/login/" >Сайтқа кіру</a></li>

</ul>

<?php } ?>

</div>

<?php if ($this->user_id AND $this->user_info['email'] AND !$this->user_info['valid_email'] AND get_setting('register_valid_type') != 'N') { ?>

<div class="alert alert-dismissible alert-warning">

<button type="button" class="close" data-dismiss="alert">×</button>

<h4>Жүйе ескертуі</h4>

<p><?php _e('Сіздің %s электронды пошта мекенжәйіңіз активтендірілмеді, активтендіруді орындауыңызды сұраймыз.', $this->user_info['email']); ?>.</p>

</div>

<?php } ?>

</div>

</div><!DOCTYPE html>

<html>

<head>

<meta content="text/html;charset=utf-8" http-equiv="Content-Type" />

<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport" />

<meta http-equiv="X-UA-Compatible" content="<?php echo X_UA_COMPATIBLE; ?>" />

<meta name="renderer" content="webkit" />

<title><?php echo $this->page_title; ?><?php if($_GET['page']){ ?> | <?php echo $_GET['page']; ?> - бет<?php } ?></title>

<meta name="keywords" content="<?php echo $this->_meta_keywords; ?>" />

<meta name="description" content="<?php echo $this->_meta_description; ?>" />

<base href="<?php echo base_url();?>/<?php if (get_setting('url_rewrite_enable') != 'Y') { ?><?php echo G_INDEX_SCRIPT; ?><?php } ?>" /><!--[if IE]></base><![endif]-->

<link href="<?php echo G_STATIC_URL; ?>/css/<?php echo $this->template_name; ?>/img/favicon.png?v=<?php echo G_VERSION_BUILD; ?>" rel="shortcut icon" type="image/x-icon" />

<link rel="stylesheet" type="text/css" href="<?php echo G_STATIC_URL; ?>/css/boots.css" />

<link rel="stylesheet" type="text/css" href="<?php echo G_STATIC_URL; ?>/css/icon.css" />

<?php if ($this->template_name != 'default') { ?>

<link href="<?php echo G_STATIC_URL; ?>/css/<?php echo $this->template_name; ?>/<?php echo $this->template_name; ?>.css?v=<?php echo G_VERSION_BUILD; ?>" rel="stylesheet" type="text/css" />

<?php } ?>

<?php $post_hash_var_name = strtoupper(md5(time() . $this->userinfo['salt'])); ?>

<script type="text/javascript">

var _<?php echo $post_hash_var_name; ?>="<?php echo new_post_hash(); ?>";

var G_POST_HASH=_<?php echo $post_hash_var_name; ?>;

var G_INDEX_SCRIPT = "<?php if (get_setting('url_rewrite_enable') != 'Y') echo G_INDEX_SCRIPT; ?>";

var G_SITE_NAME = "<?php echo addcslashes(get_setting('site_name'), '\"'); ?>";

var G_BASE_URL = "<?php echo base_url(); if (get_setting('url_rewrite_enable') != 'Y') { ?>/<?php echo rtrim(G_INDEX_SCRIPT, '/'); } ?>";

var G_STATIC_URL = "<?php echo G_STATIC_URL; ?>";

var G_UPLOAD_URL = "http://localhost/esik/uploads/";

var G_USER_ID = "<?php echo $this->user_id; ?>";

var G_USER_NAME = "<?php echo addcslashes($this->user_info['user_name'], '\"'); ?>";

var G_UPLOAD_ENABLE = "<?php echo get_setting('upload_enable'); ?>";

var G_UNREAD_NOTIFICATION = 0;

var G_NOTIFICATION_INTERVAL = <?php echo intval(get_setting('unread_flush_interval')) * 1000; ?>;

var G_CAN_CREATE_TOPIC = "<?php echo $this->user_info['permission']['create_topic']; ?>";

var G_REQUEST_URL = "/<?php echo $_GET['app']; ?>/<?php if ($_GET['act'] && $_GET['act'] != 'index') { echo $_GET['act']; ?>/<?php } ?>";


<?php if (human_valid('question_valid_hour')) { ?>

var G_QUICK_PUBLISH_HUMAN_VALID = true;

<?php } ?>

</script>

<script type="text/javascript" src="<?php echo base_url(); ?>/language/KK.js"></script>

<script type="text/javascript" src="<?php echo G_STATIC_URL; ?>/js/jquery.js"></script>

<script type="text/javascript" src="<?php echo G_STATIC_URL; ?>/js/jquery.form.js?v=<?php echo G_VERSION_BUILD; ?>" type="text/javascript"></script>

<script type="text/javascript" src="<?php echo G_STATIC_URL; ?>/js/bootstrap.min.js"></script>

<script type="text/javascript" src="<?php echo G_STATIC_URL; ?>/js/Hogan.js"></script>

<script type="text/javascript" src="<?php echo G_STATIC_URL; ?>/js/compatibility.js"></script>

<script type="text/javascript" src="<?php echo G_STATIC_URL; ?>/js/aws.js?v=<?php echo G_VERSION_BUILD; ?>"></script>

<script type="text/javascript" src="<?php echo G_STATIC_URL; ?>/js/aw_template.js?v=<?php echo G_VERSION_BUILD; ?>" type="text/javascript"></script>

<script type="text/javascript" src="<?php echo G_STATIC_URL; ?>/js/app.js?v=<?php echo G_VERSION_BUILD; ?>" type="text/javascript"></script>

<?php if ($_GET['app']=='publish'){ ?><script type="text/javascript" src="<?php echo G_STATIC_URL; ?>/js/app/publish.js?v=<?php echo G_VERSION_BUILD; ?>" type="text/javascript"></script>

<?php } ?><script type="text/javascript">

<?php if ($_GET['app']=='account' && $_GET['act'] != 'login'){ ?><script type="text/javascript" src="<?php echo G_STATIC_URL; ?>/js/md5.js?v=<?php echo G_VERSION_BUILD; ?>" type="text/javascript"></script>

<?php } ?><script type="text/javascript">

(function(){

$("a[href='#']").hover(function(e) {

e.preventDefault();

});


});

</script>


<!--[if lte IE 8]>

<script type="text/javascript" src="<?php echo G_STATIC_URL; ?>/js/respond.js"></script>

<![endif]-->

</head>

<noscript unselectable="on" id="noscript">

<div class="aw-404 aw-404-wrap container">

<img src="<?php echo G_STATIC_URL; ?>/common/no-js.jpg">

<p>Cіздің браузеріңізде JavaScript жұмыс жасамай тұр, ашу арқылы жүйе мүмкіндігін пайдалана аласыз.</p>

</div>

</noscript>


<div class="bs-component">

<div class="panel panel-primary brn">

<div class="panel-body pd10">

<img src="http://localhost/esik/uploads//img/kazban.png" alt="Жолдау">

</div>

</div>

</div>

<div class="bs-component">

<div class="panel panel-primary brn">

<div class="panel-body pd10">

<img src="http://localhost/esik/uploads//img/nj-kk.png" alt="Жолдау">

</div>

</div>

</div>

<div class="bs-component">

<div class="panel panel-primary brn">

<div class="panel-heading brn pd10">

<h3 class="panel-title"> </h3>

</div>

<div class="panel-body pd10">

<img src="http://localhost/esik/uploads//img/20150226152924.jpg" alt="Айжан балабақшасы ">

</div>

</div>

</div>

<div class="bs-component">

<div class="panel panel-primary brn">

<div class="panel-body pd10">

<img src=http://localhost/esik/uploads//img/1.jpg" alt="Жолдау" width="100%">

</div>

</div>

</div>

<div class="bs-component">

<div class="panel panel-primary brn">

<div class="panel-body pd10">

<img src="http://localhost/esik/uploads//img/banner_anticorruption_kaz.png" alt="Айжанбалабақшасы">

</div>

</div>

</div>


<!DOCTYPE html>

<html>

<head>

<meta content="text/html;charset=utf-8" http-equiv="Content-Type" />

<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport" />

<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />

<meta name="renderer" content="webkit" />

<title>Есік қаласының сайты</title>

<meta name="keywords" content="" />

<meta name="description" content="Есік қаласының сайты" />

<base href="http://localhost/esik/" /><!--[if IE]></base><![endif]-->

<link href="http://localhost/esik/static/css/enbekshi/img/favicon.png?v=20150610" rel="shortcut icon" type="image/x-icon" />

<link rel="stylesheet" type="text/css" href="http://localhost/esik/static/css/boots.css" />

<link rel="stylesheet" type="text/css" href="http://localhost/esik/static/css/icon.css" />

<link href="http://localhost/esik/static/css/enbekshi/enbekshi.css?v=20150610" rel="stylesheet" type="text/css" />

<script type="text/javascript">

var _848240E6E7EA77F5ED74358EAD0DCAB6="";

var G_POST_HASH=_848240E6E7EA77F5ED74358EAD0DCAB6;

var G_INDEX_SCRIPT = "";

var G_SITE_NAME = "Есік қаласының сайты";

var G_BASE_URL = "http://localhost/esik";

var G_STATIC_URL = "http://localhost/esik/static";

var G_UPLOAD_URL = "http://localhost/esik/uploads/";

var G_USER_ID = "";

var G_USER_NAME = "";

var G_UPLOAD_ENABLE = "N";

var G_UNREAD_NOTIFICATION = 0;

var G_NOTIFICATION_INTERVAL = 100000;

var G_CAN_CREATE_TOPIC = "";

var G_REQUEST_URL = "/index/";


</script>

<script type="text/javascript" src="http://localhost/esik/language/KK.js"></script>

<script type="text/javascript" src="http://localhost/esik/static/js/jquery.js"></script>

<script type="text/javascript" src="http://localhost/esik/static/js/jquery.form.js?v=20150610" type="text/javascript"></script>

<script type="text/javascript" src="http://localhost/esik/static/js/bootstrap.min.js"></script>

<script type="text/javascript" src="http://localhost/esik/static/js/Hogan.js"></script>

<script type="text/javascript" src="http://localhost/esik/static/js/compatibility.js"></script>

<script type="text/javascript" src="http://localhost/esik/static/js/aws.js?v=20150610"></script>

<script type="text/javascript" src="http://localhost/esik/static/js/aw_template.js?v=20150610" type="text/javascript"></script>

<script type="text/javascript" src="http://localhost/esik/static/js/app.js?v=20150610" type="text/javascript"></script>

<script type="text/javascript">

<script type="text/javascript">

(function(){

$("a[href='#']").hover(function(e) {

e.preventDefault();

});

});

</script>


<!--[if lte IE 8]>

<script type="text/javascript" src="http://localhost/esik/static/js/respond.js"></script>

<![endif]-->

</head>

<noscript unselectable="on" id="noscript">

<div class="aw-404 aw-404-wrap container">

<img src="http://localhost/esik/static/common/no-js.jpg">

<p>Cіздің браузеріңізде JavaScript жұмыс жасамай тұр, ашу арқылы жүйе мүмкіндігін пайдалана аласыз.</p>

</div>

</noscript>

<body id="Wraper">

<div class="navbar navbar-default navbar-fixed-top">

<div class="container">

<div class="navbar-header">

<button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#navbar-left">

<span class="icon-bar"></span>

<span class="icon-bar"></span>

<span class="icon-bar"></span>

</button>

<a href="http://localhost/esik" class="navbar-brand">Айжан балабақшасы</a>

<button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#navbar-main">

<span class="icon-bar"></span>

<span class="icon-bar"></span>

<span class="icon-bar"></span>

</button>

</div>

<div class="navbar-collapse collapse" id="navbar-main">

<ul class="nav navbar-nav">

<li class="dropdown">

<a class="dropdown-toggle" data-toggle="dropdown" href="http://localhost/esik/article/16" id="themes">Жалпы мәлімет<span class="caret"></span></a>

<ul class="dropdown-menu" aria-labelledby="themes">

<li><a href="http://localhost/esik/article/16">бал</a></li>

<li class="divider"></ балабақша туралы li>

<li><a href="http://localhost/esik/article/17">артықшылықтарымыз</a></li>

<li><a href="http://localhost/esik/article/18">Балабақша өмірі</a></li>

</ul> <li><a href="http://localhost/esik/article/3">жетістіктеріміз</a></li>

<li><a href="http://localhost/esik/article/3">Бізбен хабарласыңыз</a></li>

</li>

</ul>

<form class="navbar-form navbar-left" role="search" >

<div class="form-group" style="margin-top:3px">

<input type="text" class="form-control input-sm" placeholder="Кілттік сөз жазыңыз">

</div>

<button type="submit" class="btn btn-primary btn-sm">ІЗДЕУ</button>

</form>

<ul class="nav navbar-nav navbar-right">

<li><a href="http://localhost/esik/account/login/" >Сайтқа кіру</a></li>

</ul>

</div>

</div>

</div>


<div class="container">

<div class="page-header" id="banner">

<div class="row">

<div class="col-lg-12">

<div class="head_large_photo">

<img src="http://localhost/esik/static/css/enbekshi/img/promokz.png" alt="7">

</div>

</div>

</div>

<div class="row">

<div class="col-lg-12">

<div class="bs-component">

<div class="alert alert-dismissible alert-info cusbgFFF">

</div>

</div>

</div>

</div>

</div>

</div><div class="container">

<div class="row">

<div class="col-lg-12 col-lg-3 left-sidebar">

<div class="bs-component navbar-collapse collapse" id="navbar-left">

<ul class="nav nav-pills nav-stacked" >

<li class="active"><a href="#">Ас мәзірі</a></li>

<li><a href="http://localhost/esik/article/14">оқыту</a></li>

<li><a href="http://localhost/esik/article/15">Балабақша базасы</a></li>

</ul>

<div class="panel-body">

Балабақшада ашылған көрме

   «Есік» қорық-мұражайы мәдени орталық ретінде ғылыми-білім беру қызметін іске асыруда жергілікті барлық деңгейдегі білім беру орындарымен, қоғамдық бірлестіктер және жергілікті басқару органдарымен тығыз қарым-қатынаста жұмыс істейді

   Көрме аталмыш балабақшаның «Мектеп жасына дейінгі балаларға шет тілін үйретудің тиімді әдіс-тәсілдері» атты аудандық семинарын өткізуіне байланысты ашылды.


</div>

</div>

</div> </div>

<div class="col-lg-12 col-lg-6 main-content">

<div class="picBox">

<ul class="picL" id="picLsy" style="padding:0;">

<li>

<a href="http://localhost/esik/article/16">

<img src="http://localhost/esik/uploads/article/20150616/b34db70e3c9bd26dba24d071dfcb266d.jpg" alt="BAO_June-18-800-600-80.JPG" width="250" height="170"></a>

<div class="text" style="top: 170x;">

<b>Есік</b>

<p><a href="http://localhost/esik/article/16">ЖАЛПЫ МӘЛІМЕТ</a></p>

</div>

</li>

<li>

<a href="http://localhost/esik/article/15">

<img src="http://localhost/esik/uploads/article/20150616/b34db70e3c9bd26dba24d071dfcb266d.jpg" alt="280px-Озеро.JPG" width="250" height="170"></a>

<div class="text" style="top: 170x;">

<b>Есік көлі</b>

<p><a href="http://localhost/esik/article/15">Есік көлі</a></p>

</div>

</li>


</ul>

</div>


<div class="cell">

<h4> <a href="http://localhost/esik/article/23">«Есік гуманитарлық-экономикалық колледжі»</a>

</h4>

<div class="sep10"></div>

<p><small>10 рет қаралды • 4 сағат бұрын</small></p>

<div class="sep10"></div>

<pclass="textmuted">
Балапандардың тамақтануы

   Қамқор тәрбиешілер мен кәсіби педагогтар да, пайдалы тағамдардың да түр-түрі осында. «Айжан» балабақшасында баланың дамып, жетілуіне бар жағдай жасалған. Бүлдіршіндердің саналы тәрбие алуына да мүмкіндік зор.

   «Айжан» балабақшасы Тұрлан экспедициясында орналасқан. Мектепке дейінгі білім беру орталығында тәртіп — қатаң. Денсаулық кепілі — тазалыққа да аса мән беріледі мұнда. Оқу бағдарламасына сай балалар дене шынықтыруға қатысып, психолог, логопед мамандарының дәрісінен өтеді. Тіпті ағылшын тілін де үйренеді.。

</p>

<div style="text-align:right;"><a href="http://localhost/esik/article/23" class="btn btn-info">Толығырақ</a></div>

<div class="sep10"></div>


</p>


<div style="text-align:right;"><a href="http://localhost/esik/article/3" class="btn btn-info">Толығырақ</a></div>

<div class="sep10"></div>


</div>

<div class="inner">

</div>

</div>

<div class="col-lg-12 col-lg-3 right-side-bar">

<div class="bs-component">

<div class="panel panel-primary brn">

<div class="panel-body pd10">

<img src="http://localhost/esik/uploads//img/kazban.png" alt="Жолдау">

</div>

</div>

</div>

<div class="bs-component">

<div class="panel panel-primary brn">

<div class="panel-body pd10">

<img src="http://localhost/esik/uploads//img/nj-kk.png" alt="Жолдау">

</div>

</div>

</div>

<div class="bs-component">

<div class="panel panel-primary brn">

<div class="panel-heading brn pd10">

<h3 class="panel-title">Қазақстан Республикасы Президентінің кезектен тыс сайлауы</h3>

</div>

<div class="panel-body pd10">

<img src="http://localhost/esik/uploads//img/20150226152924.jpg" alt="Жолдау">

</div>

</div>

</div>

<div class="bs-component">

<div class="panel panel-primary brn">

<div class="panel-body pd10">

<img src="http://localhost/esik/uploads//img/akim.jpg" alt="Жолдау" width="100%">

</div>

</div>

</div>

<div class="bs-component">

<div class="panel panel-primary brn">

<div class="panel-body pd10">

<img src="http://localhost/esik/uploads//img/banner_anticorruption_kaz.png" alt="Жолдау">

</div>

</div>

</div>

</div>

</div>

</div>

<div class="aw-footer">

<div class="container">

<div class="footer">

<div class="row">

<div class="col-sm-2">

<ul class="list-unstyled">

<li><a href="http://localhost/esik/page/about" target="blank">Сайт ТҰРАЛЫ</a></li>

<li><a href="http://localhost/esik/help/" target="blank">КӨМЕК</a></li>

</ul>

</div>

<div class="col-sm-10">

<h4>ЖҮЙЕДЕГІ МАЗМҰН</h4>

</div>

</div>

</div>

</div>

</div>

<div id="aw-ajax-box" class="aw-ajax-box"></div>

<script type="text/javascript" src="http://localhost/esik/static/js/fileupload.js"></script>

<script type="text/javascript" src="http://localhost/esik/static/js/easing.min.js"></script>


<script type="text/javascript">


$(document).ready(function(){


$("#picLsy li").hover(function(){

$(this).find('.text:not(:animated)').animate({top:"0px"}, {easing:"easeInOutExpo"}, 10, function(){});

},function () {

$(this).find('.text').animate({top:"250px"}, {easing:"easeInOutExpo"}, 10, function(){});

});


});


</script>

</body>

</html>

<?php TPL::output('global/header.tpl.htm'); ?>


<div class="aw-container-wrap">

<div class="container aw-publish aw-publish-article">

<div class="row">

<div class="aw-content-wrap clearfix">

<div class="col-sm-12 aw-main-content">

<form action="publish/ajax/<?php if ($this->article_info['id']) { ?>modify<?php } else { ?>publish<?php } ?>_article/" method="post" id="question_form" onsubmit="return false;">

<input type="hidden" name="post_hash" value="<?php echo new_post_hash(); ?>" <input type="hidden" name="attach_access_key" value="<?php echo $this->attach_access_key; ?>" />

<input type="hidden" name="article_id" id="article_id" value="<?php echo $this->article_info['id']; ?>" /> <?php if ($this->article_category_list) { ?>

<select name="category_id" class="hide" id="category_id"> <option value="0">- <?php _e('Мақала'); ?> -</option<?php echo $this->article_category_list; ?</select><?php } ?<div class="aw-mod aw-mod-publish"><div class="mod-body"><div class="aw-publish-title <?php if (!$this->article_category_list) { ?> active<?php } ?>"><?php if ($this->article_category_list) { ?><div class="dropdown pull-right"><div class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-expanded="false"><span id="aw-topic-tags-select"><?php _e('Мақала'); ?></span><a href="javascript:;"><i class="caret"></i></a></a></div></div><?php } ?><input type="text" style="width:80%" name="title" value="<?php echo $this->article_info['title']; ?>" class="form-control" placeholder="Тақырыбы" /></div<div class="sep20"></div><div class="aw-mod aw-editor-box">

<div class="mod-head"> <div class="wmd-panel"> <div id="wmd-button-bar"> <div id="editor">

<script id="wmd-input" type="text/plain"name="message"><?php echo $this->article_info['message']; ?></script> </div>

</div></div><div class="mod-body"><p class="text-color-999"><span class="pull-right" id="question_detail_message">&nbsp;</span></p><?php if (get_setting('upload_enable') == 'Y' AND get_setting('advanced_editor_enable' == 'Y')) { <div class="aw-upload-box"<a class="btn btn-default"><?php _e(' '); ?></a><span class="text-color-999 aw-upload-tips hidden-xs"><?php _e(' '); ?>: <?php echo get_setting('allowed_upload_types'); ?></span> <?php if ($this->article_info['id'] AND ($this->user_info['permission']['is_administortar'] OR $this->user_info['permission']['is_moderator'])) { ?>

<label class="pull-right"><input type="checkbox" value="1" name="do_delete" /><?php _e(''); ?></la<?php } ?><div class="upload-container"></div></div

<?php } ?> </div></div><div class="aw-topic-bar" data-type="publis<div class="tag-bar clearfix"><?php if ($_GET['topic_title']) { ?><span class="topic-tag"><a class="text"><?php echo urldecode($_GET['topic_title']); ?></a><a class="close" onclick="$(this).parents('.topic-tag').remove();"><i class="icon icon-delete"></i</a>

<button class="close aw-close" onclick="">×</button></span><input type="hidden" value="<?php echo urldecode($_GET['topic_title']); ?>" name="topics[]" />

</span<?php } ?><?php if ($_POST['topics']) { ?>

<?php foreach ($_POST['topics'] AS $key => $val) { ?><span class="topic-tag">

<a class="text"><?php echo $val; ?></a>

<input type="hidden" value="<?php echo $val; ?>" name="topics[]" />

</span><?php } ?><?php } else if ($this->article_topics) { ?><?php foreach ($this->article_topics AS $key => $val) { ?><span class="topic-tag"><a class="text"><?php echo $val['topic_title']; ?></a>

<input type="hidden" value="<?php echo $val['topic_title']; ?>" name="topics[]" /></span>

<?php } ?><?php } ?><span class="aw-edit-topic icon-inverse btn btn-primery btn-info"><i class="icon icon-edit"></i> <?php _e(' '); ?></span><div class="sep20"></div></div></div>


<?php if ($this->human_valid) { ?>

<div class="aw-auth-img clearfix">

<em class="auth-img pull-right"><img src="" onclick="this.src = G_BASE_URL + '/account/captcha/' + Math.floor(Math.random() * 10000);" id="captcha" /></em>

<input class="pull-right form-control" type="text" name="seccode_verify" placeholder="<?php _e(' LOGIN '); ?>" />

</div>

<?php } ?>

</div>

<div class="mod-footer clearfix">

<?php if (get_setting('integral_system_enabled') == 'Y') { ?><a href="integral/rule/" target="_blank">[<?php _e(' '); ?>]</a><?php } ?>

<div class="checkbox">

<a class="btn btn-large btn-success btn-publish-submit pull-right" id="publish_submit" onclick="AWS.ajax_post($('#question_form')); return false;"><?php _e('Жәриялау'); ?></a></div>

</div>

</div>

</form>

</div>

</div>

</div>

</div>

</div>

<script type="text/javascript" src="<?php echo G_STATIC_URL; ?>/js/ueditor/ueditor.config.js"></script>

<script type="text/javascript" src="<?php echo G_STATIC_URL; ?>/js/ueditor/ueditor.all.js"></script>

<script type="text/javascript">

var ue = UE.getEditor('wmd-input');

</script>

<script type="text/javascript">

var ATTACH_ACCESS_KEY = '<?php echo $this->attach_access_key; ?>';

var CATEGORY_ID = <?php echo intval($_POST['category_id']); ?>;

var PUBLISH_TYPE = 'article';

</script>

<div class="sep20"></div>

<?php TPL::output('global/footer.tpl.htm'); ?>

<div class="bs-component navbar-collapse collapse" id="navbar-left">

<ul class="nav nav-pills nav-stacked" >

<li class="active"><a href="#">Балабақша туралы</a></li>

<li><a href="article/14">Артықшылықтарымыз</a></li>

<li><a href="article/15">жетістіктеріміз</a></li>

</ul>

</div>

<div class="sep20"></div>

<div class="bs-component">

<div class="panel panel-primary brn">

<div class="panel-heading brn">

75


Материалды Word форматында жүктеп аласыз
Тарифке кіреді
5 ұстаз жүктеп алған
28 сәуір
1037
Бұл материалды қолданушы жариялаған. UstazTilegi материалдың мазмұны мен авторлық құқықтарына жауап бермейді. Авторлық құқық бұзылған жағдайда шағым қалдыра аласыз
"Ұстаз" платформасында тіркелген пәндік олимпиадалар
Аттестацияға жарамды екенін көру үшін "Ұстаз" платформасында "Жарыстар, олимпиадалар тізімінен "Ustaz tilegi" деп іздесеңіз шығады
Қазақстандағы ең үлкен материалдар базасынан іздеу
Сіз үшін 400 000 ұстаздардың еңбегі мен тәжірибесін біріктіріп, ең үлкен материалдар базасын жасадық. Төменде керек материалды іздеп, жүктеп алып сабағыңызға қолдана аласыз
Осы тақырыпта
көрнекілік керек па?
10 000 астам көрнекіліктерді жинап қойдық.
Көрнекілік бөліміне өтіп тақырыбын жазып жүктеп алыңыз!
Министірлікпен келісілген Аттестацияға жарамды курстар тізімі