PHP тілі туралы
КІРІСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..3
1.1. РНР тіліне кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 4 . 6
1.2. РНР тілінің негізгі құрылысы(синтаксисі) ... ... ... ... ... ... ... ... ... ... ... ... ...6 . 9
1.3. Айнымалылар, константалар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...9 . 10
2.1. Операторлар. Мәліметтер типтері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .10 . 13
2.2. Басқару конструкциялары. Шартты операторлармен жұмыс ... ... ... ... .13 . 19
2.3. Шартты операторлармен циклдармен жұмыс ... ... ... ... ... ... ... ... ... ... ..19 . 21
3.1. Циклдармен жұмыс ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .21 . 22
3.2. Циклдармен жұмыс include, require функцияларын қолдану ... ... ... ... .22 . 23
3.3. РНР . де функциялар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..23 . 26
4.1. РНР . де стандартты функциялармен жұмыс ... ... ... ... ... ... ... ... ... ... ..26 . 29
4.2. РНР . де файл өңдеу функцияларын пайдалану ... ... ... ... ... ... ... ... ... ..29 . 32
4.3. РНР . де функциялармен жұмыс жасау ... ... ... ... ... ... ... ... ... ... ... ... ... 32 . 33
5.1. РНР . де массивтермен жұмыс ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..33 . 36
5.2. Массивтермен жұмыс ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .36 . 37
5.3. Массивтерді өңдеуге арналған функцияларды пайдаланып программа құру ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..37 . 41
6. Кластар мен объектілер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .41 . 45
ҚОРЫТЫНДЫ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...46
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 47
1.1. РНР тіліне кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 4 . 6
1.2. РНР тілінің негізгі құрылысы(синтаксисі) ... ... ... ... ... ... ... ... ... ... ... ... ...6 . 9
1.3. Айнымалылар, константалар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...9 . 10
2.1. Операторлар. Мәліметтер типтері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .10 . 13
2.2. Басқару конструкциялары. Шартты операторлармен жұмыс ... ... ... ... .13 . 19
2.3. Шартты операторлармен циклдармен жұмыс ... ... ... ... ... ... ... ... ... ... ..19 . 21
3.1. Циклдармен жұмыс ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .21 . 22
3.2. Циклдармен жұмыс include, require функцияларын қолдану ... ... ... ... .22 . 23
3.3. РНР . де функциялар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..23 . 26
4.1. РНР . де стандартты функциялармен жұмыс ... ... ... ... ... ... ... ... ... ... ..26 . 29
4.2. РНР . де файл өңдеу функцияларын пайдалану ... ... ... ... ... ... ... ... ... ..29 . 32
4.3. РНР . де функциялармен жұмыс жасау ... ... ... ... ... ... ... ... ... ... ... ... ... 32 . 33
5.1. РНР . де массивтермен жұмыс ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..33 . 36
5.2. Массивтермен жұмыс ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .36 . 37
5.3. Массивтерді өңдеуге арналған функцияларды пайдаланып программа құру ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..37 . 41
6. Кластар мен объектілер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .41 . 45
ҚОРЫТЫНДЫ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...46
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 47
PHP (ағылш. PHP: Hypertext Preprocessor — «PHP: еренмәтінді алдын-ала үдірістегіш») — Веб-серверде HTML беттерін құру және дерекқормен жұмыс істеуге арналған скрипті программалау тілі. Қазіргі күндерде хостинг қызметін ұсынатындардың көпшілігімен қолданады. LAMP веб-торап жасауға арналған стандартты жинақталымына енеді. Тілдің оңайлығы, орындалу жылдамдығы, функциялық байлығы және PHP негізіндеге әуелгі кодтардың кеңге таралуының арқасында PHP тілі Торда программалау саласында ең белгілі тілдердің бірі боп есептелінеді (JSP мен ASP-де қолданылатын тілдермен қатар). Бұл тілдің айрықшылығы ядро мен соған қосылатын модульдарында. Соңғылары дерекқор, сокет, динамикалық графика, криптографиялық кітапханалар, PDF форматты құжаттармен және т.б. жұмыс істеуге арналған. Бұндай модульды қалаған адам дамытып қоса алады. Модульдардың саны бір неше жүз болғанымен, стандарттық жабдықтауға тек жақсы нәтиже көрсеткен бір неше оны ғана кіреді. PHP интерпретаторы веб-серверге не арнайы сол сервер үшін жасалған модуль арқылы (мысалы, Apache әлде IIS), не CGI-қосымшасы ретінде қосылады.
Бұған қоса, UNIX, Linux, Windows және Max OS X амалдық жүйелерінде әкімшілік тапсырыстарын атқаруға пайдаланылуы мүмкін. Бірақ PHP тілі бұл салада кең өріс алмаған, бұған қарағанда Perl, Python және VBScript тілдері айтарлықтай нәтиже көрсетіп отыр.
Тілдің синтаксисі Си тәріздес. Ассоциаттивтік массивтар мен foreach циклі секілді кейбір элементтері Perl тілінен алынған.
Қазіргі заманда PHP жүздеген мың дамытушылармен пайдалануда. Интернет желісі сайттарының 5-тен бірі осы тілде жазылған.
PHP дамытушылар тобы тідің ядросы, қосымшаларымен жұмыс істейтін, соған қатар PEAR не тілдің құжаттамасы сияқты байланысты жобалармен айналысатын көптеген адамдардан тұрады.
Алғашқы қазіргі заманғы есептеу машиналары болмаған кезде адамдар барлық есептеу, іс-жұмыстары қолмен істеген. Кейін технологияның қарқынды дамуына байланысты көптеген қажетті ақпарат құралдары пайда бола бастады. Осы пайда болған құралдар ішінде әрине өзімізге аса тиімді ақпарат құралы компьютер де бар. Компьютер арқылы ақпаратты сақтауға, өңдеуге, тасымалдауға және де қабылдауға болады.Оның осы тиімді жақтарын пайдалана отырып, бізге тиісті жұмыстарымызды атқаруға мүмкіндік береді. Дами келе көптеген программалау тілдері пайда бола бастады.
Бұған қоса, UNIX, Linux, Windows және Max OS X амалдық жүйелерінде әкімшілік тапсырыстарын атқаруға пайдаланылуы мүмкін. Бірақ PHP тілі бұл салада кең өріс алмаған, бұған қарағанда Perl, Python және VBScript тілдері айтарлықтай нәтиже көрсетіп отыр.
Тілдің синтаксисі Си тәріздес. Ассоциаттивтік массивтар мен foreach циклі секілді кейбір элементтері Perl тілінен алынған.
Қазіргі заманда PHP жүздеген мың дамытушылармен пайдалануда. Интернет желісі сайттарының 5-тен бірі осы тілде жазылған.
PHP дамытушылар тобы тідің ядросы, қосымшаларымен жұмыс істейтін, соған қатар PEAR не тілдің құжаттамасы сияқты байланысты жобалармен айналысатын көптеген адамдардан тұрады.
Алғашқы қазіргі заманғы есептеу машиналары болмаған кезде адамдар барлық есептеу, іс-жұмыстары қолмен істеген. Кейін технологияның қарқынды дамуына байланысты көптеген қажетті ақпарат құралдары пайда бола бастады. Осы пайда болған құралдар ішінде әрине өзімізге аса тиімді ақпарат құралы компьютер де бар. Компьютер арқылы ақпаратты сақтауға, өңдеуге, тасымалдауға және де қабылдауға болады.Оның осы тиімді жақтарын пайдалана отырып, бізге тиісті жұмыстарымызды атқаруға мүмкіндік береді. Дами келе көптеген программалау тілдері пайда бола бастады.
1. Балафанов Е.К., Буребаев Р.М. Операционная система Windows ХР. Лабораторный практикум. Учебное пособие. – Алматы: ИНТ, 2005.
2. Бекишева А.И. Руководство по лабораторным работам Windows. Word. Учебное пособие. – Алматы, Бiлiм, 2000.
3. Глушаков С.В., Ломотько Д.В., Мельников И.В. Работа в сети Internet. – Харьков: Фолио, М.: ООО «Издательство «АСТ», 2000.
4. Дж.Борман. Компьютерная энциклопедия для школьников и их родителей. Пер. с англ. – СПб: Питер, 1996.
5. Валединский В.Д. Информатика. Словарь компьютерных терминов. М.: Аквариум, 1997.
6. Грошев С.В., Коцюбинский А.О., Комягин В.Б. Современный самоучитель профессиональной работы на компьютере: Практ. пособ. – М.: Триумф, 1998.
7. Дьяконов В.П. Компьютер в быту. – Смоленск: Русич, 1997.
8. Евсеев Г.А., Пацюк С.Н., Симонович С.В. Вы купили компьютер: Полное руководство для начинающих в вопросах и ответах. – М.: АСТ-ПРЕСС: Инфорком-Пресс, 1999.
9. Ермеков Н., Стифутина Н. Информатика: Учебник для 7 класса общеобразовательной школы. – Алматы: Атамура, 2003.
10. Ермеков Н. И др. Информатика. Учебник для 8 класса. – Алматы: Жазушы, 2001.
2. Бекишева А.И. Руководство по лабораторным работам Windows. Word. Учебное пособие. – Алматы, Бiлiм, 2000.
3. Глушаков С.В., Ломотько Д.В., Мельников И.В. Работа в сети Internet. – Харьков: Фолио, М.: ООО «Издательство «АСТ», 2000.
4. Дж.Борман. Компьютерная энциклопедия для школьников и их родителей. Пер. с англ. – СПб: Питер, 1996.
5. Валединский В.Д. Информатика. Словарь компьютерных терминов. М.: Аквариум, 1997.
6. Грошев С.В., Коцюбинский А.О., Комягин В.Б. Современный самоучитель профессиональной работы на компьютере: Практ. пособ. – М.: Триумф, 1998.
7. Дьяконов В.П. Компьютер в быту. – Смоленск: Русич, 1997.
8. Евсеев Г.А., Пацюк С.Н., Симонович С.В. Вы купили компьютер: Полное руководство для начинающих в вопросах и ответах. – М.: АСТ-ПРЕСС: Инфорком-Пресс, 1999.
9. Ермеков Н., Стифутина Н. Информатика: Учебник для 7 класса общеобразовательной школы. – Алматы: Атамура, 2003.
10. Ермеков Н. И др. Информатика. Учебник для 8 класса. – Алматы: Жазушы, 2001.
Пән: Информатика, Программалау, Мәліметтер қоры
Жұмыс түрі: Дипломдық жұмыс
Тегін: Антиплагиат
Көлемі: 41 бет
Таңдаулыға:
Жұмыс түрі: Дипломдық жұмыс
Тегін: Антиплагиат
Көлемі: 41 бет
Таңдаулыға:
МАЗМҰНЫ
КІРІСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... ... ..3
1.1. РНР тіліне
кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ...4 - 6
1.2. РНР тілінің негізгі
құрылысы(синтаксисі) ... ... ... ... ... ... ... ... ... ... ... ... ... .6 -
9
1.3. Айнымалылар,
константалар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ...9 - 10
2.1. Операторлар. Мәліметтер
типтері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .10 - 13
2.2. Басқару конструкциялары. Шартты операторлармен
жұмыс ... ... ... ... .13 - 19
2.3. Шартты операторлармен циклдармен
жұмыс ... ... ... ... ... ... ... .. ... ... ... 19 - 21
3.1. Циклдармен
жұмыс ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ..21 - 22
3.2. Циклдармен жұмыс include, require функцияларын
қолдану ... ... ... ... .22 - 23
3.3. РНР – де
функциялар ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... 23 - 26
4.1. РНР – де стандартты функциялармен
жұмыс ... ... ... ... ... ... ... .. ... ... ... 26 - 29
4.2. РНР – де файл өңдеу функцияларын
пайдалану ... ... ... ... ... ... .. ... ... ... 29 - 32
4.3. РНР – де функциялармен жұмыс
жасау ... ... ... ... ... ... ... ... ... .. ... ... ... ..32 - 33
5.1. РНР – де массивтермен
жұмыс ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..33 -
36
5.2. Массивтермен
жұмыс ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ..36 - 37
5.3. Массивтерді өңдеуге арналған функцияларды пайдаланып программа
құру ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... ...37 - 41
6. Кластар мен
объектілер ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ...41 - 45
ҚОРЫТЫНДЫ ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... .46
ҚОЛДАНЫЛҒАН
ӘДЕБИЕТТЕР ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ..47
КІРІСПЕ
PHP (ағылш. PHP: Hypertext Preprocessor — PHP: еренмәтінді алдын-ала
үдірістегіш) — Веб-серверде HTML беттерін құру және дерекқормен жұмыс
істеуге арналған скрипті программалау тілі. Қазіргі күндерде хостинг
қызметін ұсынатындардың көпшілігімен қолданады. LAMP веб-торап жасауға
арналған стандартты жинақталымына енеді. Тілдің оңайлығы, орындалу
жылдамдығы, функциялық байлығы және PHP негізіндеге әуелгі кодтардың кеңге
таралуының арқасында PHP тілі Торда программалау саласында ең белгілі
тілдердің бірі боп есептелінеді (JSP мен ASP-де қолданылатын тілдермен
қатар). Бұл тілдің айрықшылығы ядро мен соған қосылатын модульдарында.
Соңғылары дерекқор, сокет, динамикалық графика, криптографиялық
кітапханалар, PDF форматты құжаттармен және т.б. жұмыс істеуге арналған.
Бұндай модульды қалаған адам дамытып қоса алады. Модульдардың саны бір неше
жүз болғанымен, стандарттық жабдықтауға тек жақсы нәтиже көрсеткен бір неше
оны ғана кіреді. PHP интерпретаторы веб-серверге не арнайы сол сервер үшін
жасалған модуль арқылы (мысалы, Apache әлде IIS), не CGI-қосымшасы ретінде
қосылады.
Бұған қоса, UNIX, Linux, Windows және Max OS X амалдық жүйелерінде
әкімшілік тапсырыстарын атқаруға пайдаланылуы мүмкін. Бірақ PHP тілі бұл
салада кең өріс алмаған, бұған қарағанда Perl, Python және VBScript тілдері
айтарлықтай нәтиже көрсетіп отыр.
Тілдің синтаксисі Си тәріздес. Ассоциаттивтік массивтар мен foreach
циклі секілді кейбір элементтері Perl тілінен алынған.
Қазіргі заманда PHP жүздеген мың дамытушылармен пайдалануда. Интернет
желісі сайттарының 5-тен бірі осы тілде жазылған.
PHP дамытушылар тобы тідің ядросы, қосымшаларымен жұмыс істейтін,
соған қатар PEAR не тілдің құжаттамасы сияқты байланысты жобалармен
айналысатын көптеген адамдардан тұрады.
Алғашқы қазіргі заманғы есептеу машиналары болмаған кезде адамдар
барлық есептеу, іс-жұмыстары қолмен істеген. Кейін технологияның қарқынды
дамуына байланысты көптеген қажетті ақпарат құралдары пайда бола бастады.
Осы пайда болған құралдар ішінде әрине өзімізге аса тиімді ақпарат құралы
компьютер де бар. Компьютер арқылы ақпаратты сақтауға, өңдеуге,
тасымалдауға және де қабылдауға болады.Оның осы тиімді жақтарын пайдалана
отырып, бізге тиісті жұмыстарымызды атқаруға мүмкіндік береді. Дами келе
көптеген программалау тілдері пайда бола бастады.
1.1. РНР тіліне кіріспе
PHP (Hypertext Preprocessor – гипермәтінді препроцессор) тілі серверде
орындалатын сценарий жазуға арналған тіл. Браузер URL-адресте (Uniform
Resource Locator – ықшамдалған ресурстар көрсеткіші) көрсетілген РНР
тілінде жазылған Web-құжатты орындау үшін Web-серверге сұраныс жасайды. Web-
сервер РНР-процессорын жүктеп, РНР-кодты орындайды ды, нәтижені Web-
серверге қайтарады. Ал Web-сервер өз кезегінде нәтижені браузерге терезеде
бейнелеу үшін жібереді [5].
Әдетте РНР тілі Web-сервер мен пайдаланушы арасында деректер алмасуда,
яғни Web-құжатта форум, қонақ кітабы, тіркелу анкетасы, хабарландыру
тақтасы, чат құруда қолданылады.
РНР тілінің қарапайым элементтері: түсініктеме, тұрақты, айнымалы және
функциялар. Операторлар. Еcho (5 + 5) конструкциясы қарапайым (болмаса бір
қатарлы) оператор деп аталды. PHP-де әр оператор нүктелі үтірмен
аяқталады. Осы себепті әр жазудан кейінгі келетін нүктелі үтір символы
бөлек оператор ретінде қабылданады.
Қарапайым оператор ауыспалы бірнеше қатарды өз ішіне алады. Мысалы.
?
echo (5 + 5);
echo (5 - 2);
echo (“Hello, world!”);
?
Қарапайым оператордан басқа тағы құрама оператор да бар, олармен
операторлар тізбегін анықтауға да болады. Кейде құрама операторларды көп
қатарлы деп те атайды. Құрама оператордың қарапайым оператордан
айырмашылығы, ол нүктелі үтірмен аяқталмайды, оның аяқталғанын фигуралық
жақша білдіреді.
Түсініктемелер. PHP тілі бізге түсініктеме қоюдың бірнеше түрін береді.
Екі қисық сызықтан ( ) кейін түсініктеме жазу ең қарапайымы болып
есептеледі. Осы екі сызықтан кейін PHP машинасы қатар соңына дейін
орналасқандардың бәрін өңдемейді. Түсініктемені дәл осылай нөмір (#)
символының көмегімен де істеуге болады (UNIX тілінің скрипт
түсініктемелері). Сонымен қатар, С++ тілі стиліндегі (*..*)
түсініктемелерді де қолдануға болады. Түсініктеме берудің түрлі жолдары
төмендегі мысалда келтірілген.
?
echo (“Hello”); бұл түсініктеме
echo (“Hello”); # бұл да түсініктеме
* ал бұл көп мерзімді түсініктеме *
?
Айнымалылар. PHP – де айнымалылар ақша бірлігі ($) белгісінен
басталады. Белгіден кейін шексіз әріптік–сандық және белгілеу символдары
жазылуы мүмкін. Бірақта ($) кейінгі символ сан, не болмаса белгі болмауы
керек. Сол сияқты айнымалыларды мына түрде беруге болады. $n, $n1,
$user_Func_5 және т.с.с. Кілттік сөздерге қарағанда айнымалылардың аты PHP-
де регистрге сезімтал болады. Мысалға: $user_func, $User_func және
$USER_FUNC бұлардың жазылуы бір болғанымен регистрінде айырмашылық бар.
PHP–де айнымалыны пайдаланудан алдын оның типін көрсету шарт емес.
Сонымен бірге, айнымалы программа жұмысы барысында түрлі типтер қабылдау
мүмкін.
Сыртқы айнымалылар деп басқа скрипттерден кіретін барлық айнымалылырды
айтады (браузер және сервермен беріледі). Клиенттің сұрауы WEB–сервер мен
PHP-препрцессорына берілгеннен соң, соңғысы сұранысқа байланысты және
әрдайым орындауға ыңғайлы анықтамалар қатарын анықтайды. Егер PHP
айнымалының айналасын және register_glibals құрастырушысы қосылған болса,
PHP айналасындағы сондай аты және мәндері бар айнымалыны құрады. Бұл
айнымалылар $HTTP_ENV_VARS массивіне және $_ENV суперглобальді массивіне
орналасады.
Тұрақтылар. Тұрақтылар PHP тілінде define (): функция көмегімен
жазылады.
define (CONSTANT, value)
Бұл функцияның бірінші параметрі – тұрақтының аты, ал екіншісі - оның
мәні. Пайдалану алдында тұрақтының атына жібереді:
?
define (CONSTANT1, 15);
define (CONSTANT2, “\x20”); бос орынның коды
define (CONSTANT3, “Hello);
echo (CONSTANT1);
echo (CONSTANT2);
echo (CONSTANT3);
?
Дәстүрге сай тұрақты аттарын үлкен регистр әріптерімен жазады. Бұл тек
қана стиль болса да, оны қолданған жөн.
Айнымалылардың типтері және амалдар приоритеті. PHP айнымалы типінің
анықтылығына қарамауға рұқсат береді. Бір ғана айнымалымен, программаның
жұмысы барысында қатарды да, санды да өңдеуге болады. Бірақ PHP–де
сұрыпталған негізгі тип берілгендері бар, олар айнымалымен жұмыс барысында
әсер етуі анық. Айнымалылардың негізгі типтері төменде көрсетілген:
• Integer
• String
• Float (double, real)
• Array
• Boolean
• Object
1.2. РНР тілінің негізгі құрылысы(синтаксисі)
РНР-бұл Web –серверге жіберілетін скриптердің көмегімен Web-беттерінің
динамикалық генерациясына қажетті бағдарламалау тілі. Сіз бетті РНР және
HTML-дің көмегімен ашасыз. Сайтты пайдаланушы бетті ашқанда, сервер html-
код қосылған РНР операторларын орындайды және нәтижені пайдаланушының
браузеріне жібереді. Бұл әрекет дәл осылай ASP және Cold Fusion-ның
көмегімен жасалады. Дегенмен ASP және Cold Fusionға қарағанда, РНР ашық
бастапқы кодты өнім болып табылады және платформалы тәуелсіз. РНР Windows
NT және Unix-тің көптеген версияларында жұмыс жасайды. Ол Аpache –дегі
модуль ретінде жіберіле береді. Егер жіберілу Apache модулі түрінде болса
РНР оңай және жылдам жұмыс жасайды. Бұл кезде процессті жасауға байланысты
туындайтын қосымша шығындар болмайды. Сондықтан нәтижесі тез шығады және
сервердегі сақтаудағы шығынды азайтатын mod _perl-ді орнатудың қажеттілігі
болмайды.
Сіздің құжат бетіңіздегі әртүрлі операциялардан басқа сіз РНР
көмегімен НТТР-тақырыптарды қалыптастырып HTTP орната аласыз. Сонымен қатар
аутенфификацияны басқарып пайдаланушыны басқа бетке бағыттай аласыз. РНР
берілгендер қорына енуге үлкен мүмкіндіктер ашады. Бұл сізге PDF құжаттарды
инерациялаудан, ХМL-дегі грамматикалық талдауды жасауға мүмкіндік береді.
РНР операторлары сіздің бетіңізге Web-беттерді қойып береді, сондықтан
арнайы ортада жүзеге асырудың қажеттілігі туындамайды. Сіз РНР-кодының
блогын тегімен аяқтайсыз. Бұл тегтердің арасындағылардың барлығы РНР код
ретінде интерпритацияланады. РНР тілінің синтаксисі Си және Рerl
синтаксисіне ұқсас келеді сіз ауспалыларды оларды пайдаланудан бұрын
жарияламауыңыз керек. Массивтермен Хэмтер оңай жүзеге асырылады. Дегенмен
РНР Apache құрылған жағдайда бәрінен жылдам жұмыс жасайды. РНР Web –
сайтында оны Microsoft ІІS және Netscape Enterprise Server орналастырудың
реті бар. Егер сізде РНР ді орнатуға бағдарламалық қамтамасыз етудің
көшірмесі жоқ болса, оны сізге ресми Web –сайттан ала аласыз. Ол жерден сіз
РНР дің барлық ерекшелігі мен қызмет бейнеленген түсіндірілген жетекшілікті
таба аласыз.
Соңғы он бес жылдары интернеттiң қиял-ғажайып дамуы және адамдардың
арасындағы қарым-қатынастың жаңа әдiстерiн белгiледi. Бұл құбылыстың
алдыңғы өлкелерiне (WWW ) World Wide Webде болады.
Рнр тарихы 1995 жылдан тәуелсiз бағдарламашы (Rasmus Lerdorf ) Расмус
Лердорф сайтта оның онлайндық резюмесін оқып шыққан келушiлердің саның
есептеуге арналған PerlCGI нiң сценариын жазудан басталады. Оның сценариы
екi есептi шештi : келушiнiң деректерінің тiркелуі және келушiлердiң санын
— web бетке шығару. WWW дамыту әлi тек қана басталды, бұл есептердi шешуге
арналған ешқандай да арнайы құралдар болмады, сондықтан авторға көп
сұрақтар лап берді. Лердорф (Рнр ) Personal Home Page немесе (гипермәтiн
процессоры ) Hypertext Processor аталған өз құрал-сайманын тарата бастады.
Лердорфаның Рнр құрал-сайманының шулы жетiстiгi Рнрдың кеңейтулерiн өңдеуге
әкеп соқты. Кеңейтулердің бірі HTML формада енгiзiлген мәлiметтердi
символдық айнымалыларға түрлендiрдi, осыдан оларды басқа жүйелерге шығаруға
мүмкiндiк берген. Қойылған мақсатқа қол жеткiзу үшiн Лердорф өңдеулерді
жасауды ендiгәрi Perl ден С-ге өтуге шештi. Сол кездегі Рнрдың құрал-
сайманының кеңейтуi 2.0-шi Рнр пайда болуына, немесе (Personal Home Page
Form Interpretator ) PHP-FIнi келтiрдi. Дүние жүзiнен бағдарламашылар 2.0
версияны жетiлдiруге қатысты.
Жаңа РНР версиясы ерекше мәлiмдiлiкпен пайдаланды, және өңдеушiлердiң
негiзгi командасы жақында іріктелді. Олар HTML-ға программалық кодтың
енгiзуiнің бастапқы тұжырымдамасын тiкелей сақтады және Рнр-дiң 3.0-шi
версиясының пайда болуына келтiрген лексикалық талдаудың механизмін
қайтадан жазды. РНР 4 бұл қозғалыста жұмыс жасаушы ретінде 2000 жылы
жарыққа шықты. Өндірісті жоғарылатуда қосымша ретінде РНР 4 тің
мүмкіндіктері зор еді. РНР 4-тің шығуымен ол интернет доменінің 20 пайыздан
көбінде қолданыла бастады. 2000-2004 жылдар арасында 4 версияны жұмсарту
үшін белсенді жұмыстар жалғасты. Шамамен сол кезден бастап ақ РНР Group
жаңа версияның мүмкіндігін ойластыруға кірісті. Бірінші кезекте тілдің
объектілік мүмкіндіктерін күшейту шешілді. Бұл оның жүзеге асыру үшін ірі
жобаларды пайдалануға мүмкіндік берді. 5-ші версияны жарыққа шығару үшін
қосымша уақыт бөлінді. Оған көптеген мамандар қатысты олардың ішінен
Стерлинг Хьюза және Маркус Бергерді атап өткен жөн болар.
Ақыры 2004 жылдың шілдесінде РНР 5 ресми түрде жарыққа шығады. Бірінші
кезекте жоспарланғандай өңдеуде объектілермен жұмысты барлық механизм
жұмылдырылды. Егер алдыңғы версияларда РНР –дегі объектілік-жобалаушылық
бағдарламалау минимальды деңгейде мүмкін болатын болса, ал РНР 5 объектілік
бағдарламалауды жүзеге асыруда көптеген потенциалдарға ие. Онымен қоса РНР
ХМL мен жұмыс жасауда бағалы кеңейтулермен, берілгендердің әртүрлі қайнар
көзіне байыды.
РНР 4-дегі ХМL мен жұмыс жасауға арналған барлық негізгі кітапқаналар
күрделі өңдеуге ұшырады. Мынадай танымал кеңйтілер SAX, DOM, және XSLT
қазір libxml2-нің құрал-сайманын пайдаланады. Сонымен қатар тағы да жаңа
екі кеңейтулер қосылды-SimpleXML және SOAP.
Somple XML XML- берілгендермен жұмысты айтарлықтай оңайлатады. Бұдан алдын
РНР-да ХМL мен жұмыс бұншалықты қарапайым болмаған еді.
SOAP -тың кеңеюі РНР да ХМL –хабарламаның көмегімен басқа қосымшалармен
ақпарат ауысатын сценарий құруға мүмкіндік береді. Мысалы НТТР. РНР
қосымшалы қазіргі таңдағы танымал веб-сервистермен интеграциялауға
мүмкіндік туындайды.
РНР 5 My SQL (My SQL Improved) жаңа кеңeйтулер Му SQL – сервер
версиясымен 4.1.2 және жоғарылармен жұмыс жасауға арналған. Му SQL — ға тек
қана процедуралық емес сонымен қатар объекті жобалаушылық интерфейс жүзеге
асады. Бұл модульдің қосымша мүмкіндіктері SSL-ді, транзакцияны бақылауды
қосады. SQLite–тің кеңейтілуі мәліметтерді кәдімгі файлдарда сақтайтын
қоcымшаны құрастыруға мүмкіндік береді. Ол SQL интерфейсін пайдалануға
мүмкінік тудырады. SQLite – нің маңызды ыңғайлылығы – пайдаланылу
қарапайымдылығы. SQLite процедуралықпен қатар мәлiметтермен жұмыс жаcау
үшін мықты объектілік — жобалаушылық мүмкіндіктері бар. SQLite-нің басқа
ерекшеліктері –жоғары жылдамдық, басқарудағы күрделі механизмдердің жоқ
болуы және оңай тізгіштік. Көптеген эксперттер РНР -нің бұл кеңейюінің
үлкен танымалдылыққа ие болатындығын жоспарлап отыр.
РНР 5-тің басқа кеңейтілуі өзіне төмендегілерді қосады:
• Tidy –HTML-құжаттарды сараптау және түзету үшін.
• Perl — Perl сценарийлерді пайдалану.
• SPL – кластармен интерфейстердің стандарты жиынтығын анықтайтын ZE2 –нің
кеңеюі.
• -РDО -PHP-нің мәліметтеріне әмбебап интерфейс ұсынады.
• -PІMP-GD модульінің орнына келген, графикамен жұмыс жасауға арналған жаңа
кітапхана.
• Бұдан басқа РНР 5-те есте сақтаудың әлдеқайда жылдам диспетчері
пайдаланылады.
• РНР 5 REAR құрылымын нақты жүзеге асыруға керекті қасиеттермен
толықтырылған.
1.3. Айнымалылар, константалар
Айнымалылар. PHP – де айнымалылар ақша бірлігі ($) белгісінен
басталады. Белгіден кейін шексіз әріптік–сандық және белгілеу символдары
жазылуы мүмкін. Бірақта ($) кейінгі символ сан, не болмаса белгі болмауы
керек. Сол сияқты айнымалыларды мына түрде беруге болады. $n, $n1,
$user_Func_5 және т.с.с. Кілттік сөздерге қарағанда айнымалылардың аты PHP-
де регистрге сезімтал болады. Мысалға: $user_func, $User_func және
$USER_FUNC бұлардың жазылуы бір болғанымен регистрінде айырмашылық бар.
PHP–де айнымалыны пайдаланудан алдын оның типін көрсету шарт емес.
Сонымен бірге, айнымалы программа жұмысы барысында түрлі типтер қабылдау
мүмкін.
Сыртқы айнымалылар деп басқа скрипттерден кіретін барлық
айнымалылырды айтады (браузер және сервермен беріледі). Клиенттің сұрауы
WEB–сервер мен PHP-препрцессорына берілгеннен соң, соңғысы сұранысқа
байланысты және әрдайым орындауға ыңғайлы анықтамалар қатарын анықтайды.
Егер PHP айнымалының айналасын және register_glibals құрастырушысы қосылған
болса, PHP айналасындағы сондай аты және мәндері бар айнымалыны құрады. Бұл
айнымалылар $HTTP_ENV_VARS массивіне және $_ENV суперглобальді массивіне
орналасады.
Script орындау барысында тұрақты шамаларды, яғни мәні өзгермейтін
шамаларды сақтау үшін константалар немесе тұрақтылар пайдаланылады.
Константаларға математикалық тұрақтылар, құпия сөздер (парольдар), файл
адрестері және т.б. жатады. Тұрақтының айнымалыдан негізгі айырмашылығы –
оған мән бір-ақ рет беріледі және оның жарияланған мәнін өзгертілмейді.
Бұған қоса тұрақтылар аты алдына доллар таңбасы жазылмайды және оларға
мәнді қарапайым меншіктеу арқылы беруге болмайды. Тұрақтыларды анықтау үшін
define() арнайы функциясы қолданылады. Оның синтаксисі мынадай:
Define(“Тұрақты_аты”,“Тұрақты_мәні” ,[“Регистрден_тәуелсіздігі”])
Келісім бойынша тұрақтылар аттары регистрге тәуелді, бірақ әрбір тұрақты
үшін қосымша аргумент ретінде Регистрден_тәуелсіздігі мәнін True мәніне
өзгертіп, бұл қасиетті жоюға болады. Келісім бойынша әрқашанда тұрақты аты
жоғарғы регистрде (бас әріптермен) жазылады.
Тұрақтының мәні оның $ таңбасысыз жазылатын атын көрсету арқылы
пайдаланылады. Бұған қоса тұрақты мәнін алу үшін аргументі тұрақты атына
сәйкес constant() функциясын пайдалануға болады.
2.1. Операторлар. Мәліметтер типтері
РНР тілінің қарапайым элементтері: түсініктеме, тұрақты, айнымалы және
функциялар. Операторлар. Еcho (5 + 5) конструкциясы қарапайым (болмаса бір
қатарлы) оператор деп аталды. PHP-де әр оператор нүктелі үтірмен
аяқталады. Осы себепті әр жазудан кейінгі келетін нүктелі үтір символы
бөлек оператор ретінде қабылданады.
Қарапайым оператор ауыспалы бірнеше қатарды өз ішіне алады. Мысалы.
?
echo (5 + 5);
echo (5 - 2);
echo (“Hello, world!”);
?
Қарапайым оператордан басқа тағы құрама оператор да бар, олармен
операторлар тізбегін анықтауға да болады. Кейде құрама операторларды көп
қатарлы деп те атайды. Құрама оператордың қарапайым оператордан
айырмашылығы, ол нүктелі үтірмен аяқталмайды, оның аяқталғанын фигуралық
жақша білдіреді.
Цикл операторлары. Цикл операторлары бір амалдың бірнеше рет
қайталануына алып келеді. РНР-да цикл операторының төрт түрі бар:
• while
• do...while
• for
• forreach
Алдыңғы үш цикл операторлары С++ тілінен алынған болса, ал соңғы
оператор Реrl тілінен алынған. Бұл бөлімде тек алдыңғы үш цикл операторын
қарастырамыз.
While операторында бірінші логикалық шарт тексеріліп, содан кейін барып
амалдар орындалады. While операторының жалпы жазылу үлгісі төмендегідей:
While (шарт)
{
оператор;
}
Циклды орындалу тәртібі мынадай, алдымен шарт тексеріледі. Егер шарт
қанағаттандырылса, онда цикл орындалады. Цикл операторы шарт
қанағаттанғанынша орындала береді. Циклға шарт беруден алдын оның бір кезде
орындалатынына көз жеткізу керек, әйтпесе шексіз циклға түсіп қалуы мүмкін.
Оператор деп белгілі бір мәні қайтаратын функция немесе басқа да
консрукцияларды айтуға болады. Мысалға алатын болсақ, мәтінді айнымалыға
тіркеген мәніні қайтарған print() және echo() функцияларын айтуға болады.
Арифметикалық операторлар
Төмендегі кестеде b=4 болады:
Оператор Анықтама Мысал Нәтиже
+ Қосу a=b+1
a=5
- Алу а=b-2
а=2
* Көбейту a=b*3
a=12
Бөлу a=b2
a=2
% Қалдық a=b%3 а=1
++ Арттыру a=++b
a=5
-- Кемейту a=--b
а=3
Тіркеу операторлар
Төмендегі кестеде x=6, y=4 болады
Оператор Мысалы Екінші түрі Нәтиже
+= x+=y x=x+y
x=18
-= x-=y x=x-y
x=6
*= x*=y тx=x*y
x=72
= x=y x=xy x=2
%= x%=y x=x%y x=0
.= x.=y x=x.y x=126
Салыстыру операторлар
Оператор Анықтама
Нәтиже
== Теңдік 8==10 жалған
қайтарады (false)
!= Теңсіздік 8!=10 шын
қайтарады (true)
Теңсіздік 810 шын
қайтарады (true)
Үлкен ...тен 810 жалған қайтарады
(false)
Кіші ...тен 810 шын қайтарады
(true)
= Үлкен немесе тең 8=10 жалған
қайтарады (false)
= Кіші немесе тең 8=10 шын
қайтарады (true)
Логикалық операторлар
Төмендегі кестеде x=3, y=1 болады
Оператор Анықтама Нәтиже
&& және (and) (x 5 && y 2) жалған
қайтарады (false)
немесе (or) (x==3 y==1) шын
қайтарады (true)
! емес (not) !(x==y) шын
қайтарады (true)
Цикл операторлары. Цикл операторлары бір амалдың бірнеше рет
қайталануына алып келеді. РНР-да цикл операторының төрт түрі бар:
while
do...while
for
forreach
Алдыңғы үш цикл операторлары С++ тілінен алынған болса, ал соңғы
оператор Реrl тілінен алынған. Бұл бөлімде тек алдыңғы үш цикл операторын
қарастырамыз.
While операторында бірінші логикалық шарт тексеріліп, содан кейін
барып амалдар орындалады. While операторының жалпы жазылу үлгісі
төмендегідей:
While (шарт)
{
оператор;
}
2.2. Басқару конструкциялары. Шартты операторлармен жұмыс
Салыстыру қарапайым түрде ұйымдастырылады: "егер-онда-болмаса". Бұл
үшін PHP-де келесі конструкция қолданылады:
if ( ) { } else { }
бұл оператордың түрлі синтаксисі бар, бірақ жоғарыда келтірілген
синтаксис ең тиімді әрі дұрысм болып есептеледі. Мысал:
?php
$a = 5;
$b = 9;
if ($a == $b) {echo $b - $a;} else {echo $b.$a;}
?
Бағдарлама нәтижесі 95 - ті көрсетеді, себебі $a -ға $b тең емес, ал
echo $b.$a; командасы айнымалыларды рет-рнетімен шығарады. Мұндағы нүкте
айнымалыларды бір-бірімен жабыстыру үшін қолданылады.
Циклдер
Бағдарламалаудағы циклдер дегеніміз - бір операцияның бірнеше рет
қайталануы. PHP-де циклдерді ұйымдастыру үшін келесі операторлар
қолданылады: while, do...while, for және foreach. Циклге мысал ретінде
бірнеше файлдарды көшіру қызметін көрсетуге болады. Оның алгоритмі
төмендегідей болады:
❖ файлдар санын беру
❖ көшірілген файлдар есептегішінің мәнін нөлге қою
❖ файлды көшіру
❖ есептігіштің мәнін берілген файлдар санына теңдігін тексеру
❖ егер тең болмаса, онда көшірілген файлдар есептегішінің мәнін арттыру
және цикл басына
❖ қайта келу
❖ егер тең болса, онда циклды аяқтау
Циклдық әр қайталануы итерация деп аталады.
Енді PHP-де циклдерді ұйымдастыру мысалын қарастырайық:
?php
$i = 0;
$n = 10;
while ($i =$n):
echo $i. “
\n” ;
$i++;
endwhile;
?
скрипттің мағынасы өте қарапайым. $i айнымалысына циклдың басындағы
мәнді тағайындаймыз да, $n айнымалысына циклдың соңындағы мәнді
тағайындаймыз. Ары қарай циклды while() операторы арқылы ашып, жақшаның
ішіне берілетін шартты жазамыз. Ол шарт $i =$n болғанша орындалады. Бұл
цикл шарты бұлған заматта цикл аяқталады. еndwhile операторы циклдың
аяқталғанын білдіреді. Скрипт, браузер экранына баған бойынша бірден онға
дейінгі сандарды шығарады. Себебі echo операторының $i айнымалысынан кейін
қатарды ауыстыратын
HTML-тегін қойдық.
Жоғарыдағы есепке тағы да басқа бір вариантын көрсетейік:
?php
$i = 0;
while ($i=10)
{
echo $i++. “
\n”;
}
?
Бұл екі бағдарламаның нәтижесі бірдей болады.
Енді PHP-де do...while операторының құрылысын қарастырайық. Бұл да цикл
болып саналады, оның while операторынан ерекшелігі “дейін” емес “кейін”,
яғни цикл жұмысы оператордан кейін аяқталады. do...while циклі үшін тек
бірақ синтаксис бар:
?php
$i = 0;
do
{
echo $i. "
\n";
$i++;
}
while ($i = 10);
?
Енді for циклына мысал келтірейік, оның синтаксисі:
for (expr1; expr2; expr3) (операторлар тіізбегі)
(expr1) - өрнегі шартсыз болып есептелінеді және циклдың басында
орындалады. Әр итерацияның басында (expr2) өрнегі орындалады. Егер ол
ақиқат болса, онда цикл жалғасады да ішкі операторлар орындалады. Егер ол
жалған болса, онда цикл аяқталады да әр итерацияның соңында (expr3) өрнегі
орындалады. Бұл өрнектердің әрқайсысы бос болуы мүмкін. Егер (expr2) өрнегі
бос болса, онда цикл шексіз орындалады. Шексіз орындалуды break операторы
арқылы тоқтатуға болады. Мысалы:
?php
$a = 0;
while ($a 5)
{
if ($arr[$a] == "atop" )
{
break;
}
$a++;
}
?
Егер continue операторы кездесетін болса, онда басқару келесі жақын
циклге беріледі. Мысалы
while (list($key,$value)=each($arr))
{
if ($key 2)
{
continue;
}
}
Енді сандарды for операторы арқылы экранға шығару есебінің мүмкін
жолдарын қарастырайық:
Мысал1:
for ($i = 1; $i = 10; $i++)
{ print $i ; }
Мысал2:
for ($i = 1;; $i++)
{ if ($i 10)
{ break; }
print $i;
}
Мысал3:
$i = 1;
for (;;)
{ if ($i 10) { break; }
print $i; $i++;
}
Уақыт пен мерзім
PHP-де уақыт форматымен жұмыс істеу үшін көбінесе date функциясы
қолданылады. Оның синтаксисі $date = date("параметр"); Параметрлер бірнеше
болуы мүмкін және олар бір-бірінен үтір арқылы ажыратылады. Онда төмендегі
параметрлерді қолдануға болады:
а - "am" немесе "pm" мәндерін қабылдайды;
А - "AM" немесе "PM";
d - ай күні, сандық, екі сан (бірінші орынға нөл қою керек), яғни 01-
ден 31-ге дейін;
D - апта күні, мәтіндік, үш әріп, мысалы: "Fri";
F - ай, сандық, мысалы: "February";
h - сағат, сандық, екі сан, 12 сағаттық формат;
H- сағат, сандық, екі сан, 24 сағаттық формат;
i - минут, сандық, екі сан, яғни 00-ден 59-ға дейін;
j - ай күні, сандық, бастапқы нөлсіз;
l - апта күні, мәтіндік, мысалы: "Wednesday";
L-төрт жылда қайталанатын жылды көрсетеді, яғни "0" немесе "1";
m-ай, сандық, яғни "01"-ден "12"-ге дейін;
M-ай, мәтіндік, үш әріп, мысалы: "Feb";
n -ай, сандық, бір сан, яғни "1"-ден "12"-ге дейін;
О-Гринвич уақыты бойынша сағат аралығы, мысалы: "+0200";
s - секунд, сандық, екі сан, яғни 00-ден 59-ға дейін;
S- ағылшынша реттік жалғау, мәтіндік, екі символ, мысалы: "nd" және
"th"
t - ағымдық айдағы күндер саны, яғни "28"-ден "31"-ге дейін;
U-Unix ғасырынан басталатын секунд, яғни 1970 жылдың 1 қаңтары;
Y-жыл, сандық, төрт сан;
w-апта күні, сандық, мысалы "0" саны жексенбіні білдіреді;
y -жыл, сандық, екі сан, мысалы: "99";
z -жыл күні, сандық, мысалы: "299";
Осы параметрлерді қолдану арқылы біз өзіміздің сайтымызда ағымдық
уақытты пайдалана аламыз. Оның ішінде ең көп қолданылатыны ағымдық уақыт
пен мерзімді шығару. Аптаны, айды, күнді шығару сайтта өте пайдалы болып
есептеледі. Мысалы, сайтымызға кірушілерді тәулікке байланысты уақытпен
қарсы алатын болсақ, онда бағдарлама коды төмендегідей болады:
?php
$h = date("H")
if ($h = 5 && $h = 11) echo "Қайырлы таң !";
if ($h = 12 && $h = 18) echo "Саламатсызба !";
if ($h = 19 && $h = 24) echo "Қайырлы кеш !";
if ($h = 1 && $h = 4) echo "Қайырлы түн !";
?
Бұл скриптте серверден date(“H”) функциясы арқылы ағымдық сағат
уақытының мәнін аламызда, оған талдау жүргземз. Алынған мән қай аралықта
орналасқанына байланысты сәйкес сөздерді экранға шығарамыз. Егер бағдарлама
кодына назар аударатын болсақ, онда сағат белдеуінсіз және сәйкес уақыт
аралығынсыз тек сервер уақыты ғана алынып тұрғанын көремз. Сондықтан уақыт
аралығын бағдарламаға алдын-ала енгзуімізқажет. Оған мысал ретнде келес код
бола алады:
$time = date(“H:i”);
$time1 = date(“H”);
$time2 = date(“i”);
$time_s = 7;
$time1 = $time1+ $time_s;
if ($time1 = 24) { $time1 = $time1 – 24; }
$time = “$time1: $time2”;
Бірінші қатарда ағымдық уақытты алу сервердің сағат белдеуі бойынша
іске асырылады. Ары қарай түрлі дұрыс уақыт белдеуі бойынша бағдарлама өзі
есептейді. $time_s айнымалысындаөз уақыт аралығы сақталады.
Массивтер
Массив дегеніміз – сандар немесе белгілерқатары және олардың басқа
айнымалылар секілді өз аты мен мәндері болады. Бірақ одан да басқа олардың
индекстері болады. PHP-де массив былайша өрнектеледі: $массив_аты[индекс].
Мысалы:
?php
$a[0] = 1;
$a[1] = 12244;
$a[2]=0 “example”;
?
Бұл мысалдың нәтижеснде $a массиві құрылып, оның 0,1 және 2
ұяшықтарына 1, 12244 және example мәндері тағайындалады. Енді echo $a[2]
командасын берсек онда экранға example сөзі шығады.
Біз қарастырған массив бірөлшемді, одан басқа көп өлшемді массивтерде
бар. Мысалы: $деканат[кафедра информатика] [кафедра автоматика];
Массив ұяшықтарымен кез-келген операциялар жасауға болады:
арифметикалық, логикалық амалдар қолдану, салыстыру операциялары, арттыру,
азайту және т.б.
PHP-дің басқа бағдарламалау тілдерінен ерекшелігі мұнда бүтіндей файлды
массив ретінде алуға болады және бұл мүмкіншілік көптеген қызықты амалдар
қолдануға жол ашады. Оның форматы:
?php
$a = file(“файл_аты”);
?
Бұл команданың нәтижесінде $a массивінде файл мазмұны болады.
Әр массивтің ағымдық элементі анықтайтын ішкі көрсеткіштері болады.
Массивпен жұмыс басының кезінде ішкі массив көрсеткіші бірінші элементте
орналасады. end(), next(), prev(), және reset() функциялары массивтің ішкі
көрсеткішінің орнын ауыстырады.
end() функциясы массив ішкі көрсеткішін соңғы элементке орнатады.
next() функциясы массив ішкі көрсеткішін бір элемент алға жылжытады. prev()
функциясы массив ішкі көрсеткішін бір элемент артқа жылжытады. reset()
функциясы массив ішкі көрсеткішін бірінші элементке орнатады. current()
функциясы массив ішкі көрсеткіші тұрған массив элементін шығарады. sort()
функциясы массивті өсу реті бойынша сұрыптайды. rsort() функциясы массивті
кему реті бойынша сұрыптайды. Мұнан басқа PHP-де массивтермен жұмыс істеу
үшін көптеген арнайы функция түрлері бар.
2.3. Шартты операторлармен циклдармен жұмыс
Циклдік құрылымды алгоритмді программалауда қайталанушы процесс бір
айнымалының мәніне тәуелді болса, For операторын қолданамыз. Айнымалы тек
бір қадамға ғана өзгере отырып циклді басқарыды. Бұл айнымалы циклдің
параметрлі қайталану операторы деп аталынады. Санағышы бар параметрлі цикл
операторы цикл қайталануын бақылайтын санағыштың алғашқы және соңғы мәндері
алдын ала белгілі болған кезде ғана қолданылады. For операторы алгоритмдік
тілдегі параметрлі қайталану командасына сәйкес келеді.
і үшін m1 бастап m2 дейін h қадам
Цб
Серия
Цс
For операторы екі түрлі жазылады:
А) for I:=A to B do
Begin
...
End;
Орындалу ережесі: Begin және End сөздерінің арасында жазылған операторлар
I:=A, I:=A+1, I:=A+2,...,I:=B үшін орындалады. Мұндағы І цикл параметрі, А
–параметрдің бастапқы мәні, В-параметрдің соңғы мәні.
For Х:=М1 to M2 do S1;
Мұндағы, қызметші сөздер: For(үшін), to(дейін) циклдің қадамы +1-ге өсіп
отыратынын көрсетеді, do(орында);
Х- скалярлық типтегі айнымалы циклдің параметрі;
М1-цикл параметрінің бастапқы мәні;
М2-цикл параметрінің соңғы мәні;
S1-параметріне тәуелді қайталанып орындалатын оператор. Сондықтан, S1-цикл
денесі деп аталады.
Б) For I:=A DOWN TO B DO
Begin
...
End;
Орындау ережесі: Begin және End сөздерінің арасында жазылған операторлар
I:=A, I:=A-1, I:=A-2,..., I:=B үшін орындалады.
For X:=M1 down to M2 do S1;
1-нұсқадан өзгешелігі to сөзінің орнына down to (төменге дейін) қызметші
сөзі жазылады. down to циклдің өзгеру қадамы –1 тең екендігін көрсетеді.
Мұндағы Х –тің мәні М1- ден М2-ге дейін –1 қадаммен кему үшін М1M2 шарты
орындалуы керек. Егер бұл шарт орындалмаса цикл денесі бірде бір рет
орындалмайды.
Егер, цикл денесі бірнеше оператордан тұрса, Begin және End операторлар
жақшасынпайдаланамыз.
Параметрдің мәніне тәуелді циклді блок схемасында төмендегідей сипаттайды.
Параметрлі қайталану операторының жазылуына және орындалуына мысал
келтірейік:
Оператордың жазылуы Нәтижесі
For k:=-1 To 6 do Write (x,’,’) -1,0,1,2,3,4,5,6
For k:=3 To 3 do Write (x,’,’)_ 3
For k:=1 To 9 do Write (x,’,’) 1,2,3,4,5,6,7,8,9
For k:=-1 To -6 do Write(x,’,’) Цикл орындалмайды
For k:=10 down to 6 do Write(x,’,’) 10,9,8,7,6
For k:=0 down to –1 do Write(x,’,’) 0,-1
For k:=1 down to 16 do Write(x,’,’) Цикл орындалмайды
Қайталану санын келесі тәсілдермен анықтауға болады. Соңғы мән – алғашқы
мән +1 – бірінші жағдай үшін;
Алғашқы мән – соңғы мән +1 екінші жағдай үшін. Мысалы:Р=1*2*,...*10
сандарының көбейтіндісін есептеу.
Program pr3;
Var i,P :integer;
Begin
P:=1;
For i:=1 to 10 do
P:=P*1;
Writeln (‘P=’,P);
Readln
End.
3.1. Циклдармен жұмыс
Цикл дегеніміз – белгілі бір көп рет қайталанатын іс-әрекет. Қанша рет
қайталануы біздің шартта енгізген санымызға байланысты.
While циклі қандай да бір шарт орындалмағанша код орындала береді.
?php
$d = 2;
while ($d = 5)
{
echo "Пәтер #" . $d . "br ";
$d++;
}
?
Шарт орындалып жатқанда, оператор echo қатарларды шығарып тұрады. Ал цикл
әр қадамда өскен сайын айнымалының мәнісі де өзгеріп тұрады.
Мысалы:
?php
$d = 1;
do
{
$d = $d + 2;
echo "Пәтер №" . $d . "br ";
}
while ($d = 7);
?
do...while циклінің ерекшелігі бірінші код жасалады, тек кейін шарт
орындалады. Жоғарыдағы мысалда айнымалының мәнісі 1 санына тең. Кейін $d
айнымалысына 2 саны қосылады да айнымалы саны қосылады да, бірінші
қадамнан, бірінші айналымнан соң, айнымалы 3-ке тең болады. Цикл қайталана
береді, ең соңында мәнісі 9-ға тең болады. Себебі while операторы
бағдарламаның соңында келеді.
For цикл
Мысалы:
?php
for ($d = 1; $d = 4; $d++)
{
echo "Пәтер №" . $d . "br ";
}
?
3.2. Циклдармен жұмыс include, require функцияларын қолдану
Интернет желісіне бір сайт істеген адам әйтеуір бір уақытта ішіндегі
ақпаратты өзгертуі қажет болады. Әрине, егер сайт бірнеше беттен тұрса оны
жасау қиын емес, егер сайт өте үлкен болса, онда кішкене өзгертуді жүздеген
бетке жасау қиын тірлік болады. Бірақта ешқандай қорқудың қажеті жоқ,
себебі PHP бұл мәселенің шешілу жолын қарастырып қойған, бір бетті
екіншісіне салып қою мүмкіндігі. Бұл операция include() және require()
операторлары арқылы жүзеге асырылады. Бұл операторлардан кейін жақшаның
ішінде салынатын файлдың жолы тұру керек. Мысалы: include(“text.phtml”).
Көрсетілген екі оператордың бір-бірінен ерекшелігі require() операторы
көрсетілген файлдың мазмұнымен алмастырылып тек бір-ақ рет қолданылады, ал
include() операторы көрсетілген файлдың мазмұнымен алмастырылып, мысалы
циклдің ішінде бірнеше рет қолданылуы мүмкін.
Сілтеме келесі түрде болады:
http:атыindex.php?razdel=1
сілтеменің соңындағы бірлік index.phtml файлындағы бізідің параметр болып
табылады. Мысалы: менің құрып жатқан WEB сайт бетінде мұндай файл
Center.php ішінде кездеседі.
html
...файлдың басы ...
?php
$CurSec=empty($_GET['razdel'])?null :$_GET['razdel'];
if(empty($CurSec))
include(".razdeltt.html");
elseif(file_exists(".razdel".base name($CurSec).".inc.php"))
include(".razdel".basename($CurSe c).".inc.php");
else
include(".razdelerror.inc.php");
?
...файлдың соңы ...
html
3.3. РНР – де функциялар
PHP тілінде қанша функция бар екенін санағансың ба? PHP-дің арнайы
бетінен мен 5025 данасын санап шықтым. Мен бұл функциялардың барлығын саған
көрсетіп бере алмаймын әрине. Бірақ, сен PHP-ге жаңа келген болсаң, мен
саған қолданыстағы 7 функциясын көрсетіп бергелі отырмын.
1-Функция array_rand
Қарапaйым біреуінен бастайық. Егер белгілі бір массивтің кесдейсоқ кілтін
табу керек болса, кездейсоқ санды шығару үшін rand немесе
mt_randфункцияларын қолданатын шығарсың. Бірақ бұған array_rand функциясы
арқылы одан да оңай жолмен қол жеткізуге болады. Мысалмен көрсетейік:
?php
$input = array("first","second","third","fou rth");
$k = array_rand($input);
echo $input[$k];
?
Егер массивтің кездейсоқ бір ғана кілтін емес, бірнеше кілтін алу керек
болса, ол былай болады:
?php
$input = array("first","second","third","fou rth");
$keys = array_rand($input,2); кездейсоқ екі элементін аламыз
echo $input[$k[0]].' '.$input[$k[1]];
?
2-Функция strip_tags
Мәтіннің html тегтерін "қырқып" тастауға тура келетін кездер болады.
Мысалы, пікір жазатын ұяшыққа қолданушы
scriptalert('Hello')script
деп жазып жіберсе, біз бұл мәтінді мәліметтер қорына сақтамай тұрып,
сыртындағы html тегтерін тазалауымыз керек қой. Осындай мәселеде бізге
strip_tags функциясы көмекші болады. Бұл функция былай қолданылады:
?php
$message = "script alert('Hello') script";
echo strip_tags($message); Нәтиже alert('Hello') болып шығады
?
Әрине, кейде html тегтердің барлығын қырқа бермей, кейбіреулерін өткізуге
тура келеді.
Мысалы,
strong,em
сияқты тегтерді қырқпай, қалған тегтерді қырқып көрейік:
?php
$message = "divБұл пікірді strongқалың әріппенstrong жазамынdiv";
echo strip_tags($message, "strongem");
Нәтиже "Бұл пікірді strongқалың әріппенstrong жазамын" болып шығады
?
3- функция strftime
Кез келген веб приложенияда уақыт үлкен рөл атқарады. Бұл мәселеде, уақытты
форматтау үшін бізге strftime функциясы көмекші болады. Мысал:
?php
strftime("%B %d, %Y", time()); July 28, 2012
?
Форматтау туралы қосымша мәліметті мына жерден алуға болады strfti.me
4- функция basename
Егер бізде бір файлдың жолы (path) болса, егер ол файл туралы мәліметті
қолданушыға көрсеткіміз келсе, файлдың жолын емес тек атын ғана көрсетеміз
ғой. Осындай кезде basename функциясын қолдануға болады. Мысал:
?
$path = "D:wwwsitesfilesexamp.txt";
$filename1 = basename($path); Нәтижесі examp.txt
$filename2 = basename($path, ".txt"); Нәтижесі examp, яғни txt
кеңейтуінсіз
?
5- функция list
Егер бізде массив болып, сол массивтың элементтерін жіктеу керек болса,
list функиясы көмекші болады.
Мысалы:
?php
$array = array('first','second','third','fou rth','fifth');
list($first,$second) = $array;
echo $first.' '.$second;
?
6- функция range
Егер біздің белгілі бір элементтердің диапазонынан массив жасағымыз келсе,
range функциясы көмекші болады.
Мысал:
?php
$array = range(0,10);$array = array(0,1,2,3,4,5,6,7,8,9,10), қадамы 1
болады
print_r($array);
?
Егер қадамын 1-ден бөлек қылу керек ... жалғасы
КІРІСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... ... ..3
1.1. РНР тіліне
кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ...4 - 6
1.2. РНР тілінің негізгі
құрылысы(синтаксисі) ... ... ... ... ... ... ... ... ... ... ... ... ... .6 -
9
1.3. Айнымалылар,
константалар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ...9 - 10
2.1. Операторлар. Мәліметтер
типтері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .10 - 13
2.2. Басқару конструкциялары. Шартты операторлармен
жұмыс ... ... ... ... .13 - 19
2.3. Шартты операторлармен циклдармен
жұмыс ... ... ... ... ... ... ... .. ... ... ... 19 - 21
3.1. Циклдармен
жұмыс ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ..21 - 22
3.2. Циклдармен жұмыс include, require функцияларын
қолдану ... ... ... ... .22 - 23
3.3. РНР – де
функциялар ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... 23 - 26
4.1. РНР – де стандартты функциялармен
жұмыс ... ... ... ... ... ... ... .. ... ... ... 26 - 29
4.2. РНР – де файл өңдеу функцияларын
пайдалану ... ... ... ... ... ... .. ... ... ... 29 - 32
4.3. РНР – де функциялармен жұмыс
жасау ... ... ... ... ... ... ... ... ... .. ... ... ... ..32 - 33
5.1. РНР – де массивтермен
жұмыс ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..33 -
36
5.2. Массивтермен
жұмыс ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ..36 - 37
5.3. Массивтерді өңдеуге арналған функцияларды пайдаланып программа
құру ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... ...37 - 41
6. Кластар мен
объектілер ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ...41 - 45
ҚОРЫТЫНДЫ ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... .46
ҚОЛДАНЫЛҒАН
ӘДЕБИЕТТЕР ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ..47
КІРІСПЕ
PHP (ағылш. PHP: Hypertext Preprocessor — PHP: еренмәтінді алдын-ала
үдірістегіш) — Веб-серверде HTML беттерін құру және дерекқормен жұмыс
істеуге арналған скрипті программалау тілі. Қазіргі күндерде хостинг
қызметін ұсынатындардың көпшілігімен қолданады. LAMP веб-торап жасауға
арналған стандартты жинақталымына енеді. Тілдің оңайлығы, орындалу
жылдамдығы, функциялық байлығы және PHP негізіндеге әуелгі кодтардың кеңге
таралуының арқасында PHP тілі Торда программалау саласында ең белгілі
тілдердің бірі боп есептелінеді (JSP мен ASP-де қолданылатын тілдермен
қатар). Бұл тілдің айрықшылығы ядро мен соған қосылатын модульдарында.
Соңғылары дерекқор, сокет, динамикалық графика, криптографиялық
кітапханалар, PDF форматты құжаттармен және т.б. жұмыс істеуге арналған.
Бұндай модульды қалаған адам дамытып қоса алады. Модульдардың саны бір неше
жүз болғанымен, стандарттық жабдықтауға тек жақсы нәтиже көрсеткен бір неше
оны ғана кіреді. PHP интерпретаторы веб-серверге не арнайы сол сервер үшін
жасалған модуль арқылы (мысалы, Apache әлде IIS), не CGI-қосымшасы ретінде
қосылады.
Бұған қоса, UNIX, Linux, Windows және Max OS X амалдық жүйелерінде
әкімшілік тапсырыстарын атқаруға пайдаланылуы мүмкін. Бірақ PHP тілі бұл
салада кең өріс алмаған, бұған қарағанда Perl, Python және VBScript тілдері
айтарлықтай нәтиже көрсетіп отыр.
Тілдің синтаксисі Си тәріздес. Ассоциаттивтік массивтар мен foreach
циклі секілді кейбір элементтері Perl тілінен алынған.
Қазіргі заманда PHP жүздеген мың дамытушылармен пайдалануда. Интернет
желісі сайттарының 5-тен бірі осы тілде жазылған.
PHP дамытушылар тобы тідің ядросы, қосымшаларымен жұмыс істейтін,
соған қатар PEAR не тілдің құжаттамасы сияқты байланысты жобалармен
айналысатын көптеген адамдардан тұрады.
Алғашқы қазіргі заманғы есептеу машиналары болмаған кезде адамдар
барлық есептеу, іс-жұмыстары қолмен істеген. Кейін технологияның қарқынды
дамуына байланысты көптеген қажетті ақпарат құралдары пайда бола бастады.
Осы пайда болған құралдар ішінде әрине өзімізге аса тиімді ақпарат құралы
компьютер де бар. Компьютер арқылы ақпаратты сақтауға, өңдеуге,
тасымалдауға және де қабылдауға болады.Оның осы тиімді жақтарын пайдалана
отырып, бізге тиісті жұмыстарымызды атқаруға мүмкіндік береді. Дами келе
көптеген программалау тілдері пайда бола бастады.
1.1. РНР тіліне кіріспе
PHP (Hypertext Preprocessor – гипермәтінді препроцессор) тілі серверде
орындалатын сценарий жазуға арналған тіл. Браузер URL-адресте (Uniform
Resource Locator – ықшамдалған ресурстар көрсеткіші) көрсетілген РНР
тілінде жазылған Web-құжатты орындау үшін Web-серверге сұраныс жасайды. Web-
сервер РНР-процессорын жүктеп, РНР-кодты орындайды ды, нәтижені Web-
серверге қайтарады. Ал Web-сервер өз кезегінде нәтижені браузерге терезеде
бейнелеу үшін жібереді [5].
Әдетте РНР тілі Web-сервер мен пайдаланушы арасында деректер алмасуда,
яғни Web-құжатта форум, қонақ кітабы, тіркелу анкетасы, хабарландыру
тақтасы, чат құруда қолданылады.
РНР тілінің қарапайым элементтері: түсініктеме, тұрақты, айнымалы және
функциялар. Операторлар. Еcho (5 + 5) конструкциясы қарапайым (болмаса бір
қатарлы) оператор деп аталды. PHP-де әр оператор нүктелі үтірмен
аяқталады. Осы себепті әр жазудан кейінгі келетін нүктелі үтір символы
бөлек оператор ретінде қабылданады.
Қарапайым оператор ауыспалы бірнеше қатарды өз ішіне алады. Мысалы.
?
echo (5 + 5);
echo (5 - 2);
echo (“Hello, world!”);
?
Қарапайым оператордан басқа тағы құрама оператор да бар, олармен
операторлар тізбегін анықтауға да болады. Кейде құрама операторларды көп
қатарлы деп те атайды. Құрама оператордың қарапайым оператордан
айырмашылығы, ол нүктелі үтірмен аяқталмайды, оның аяқталғанын фигуралық
жақша білдіреді.
Түсініктемелер. PHP тілі бізге түсініктеме қоюдың бірнеше түрін береді.
Екі қисық сызықтан ( ) кейін түсініктеме жазу ең қарапайымы болып
есептеледі. Осы екі сызықтан кейін PHP машинасы қатар соңына дейін
орналасқандардың бәрін өңдемейді. Түсініктемені дәл осылай нөмір (#)
символының көмегімен де істеуге болады (UNIX тілінің скрипт
түсініктемелері). Сонымен қатар, С++ тілі стиліндегі (*..*)
түсініктемелерді де қолдануға болады. Түсініктеме берудің түрлі жолдары
төмендегі мысалда келтірілген.
?
echo (“Hello”); бұл түсініктеме
echo (“Hello”); # бұл да түсініктеме
* ал бұл көп мерзімді түсініктеме *
?
Айнымалылар. PHP – де айнымалылар ақша бірлігі ($) белгісінен
басталады. Белгіден кейін шексіз әріптік–сандық және белгілеу символдары
жазылуы мүмкін. Бірақта ($) кейінгі символ сан, не болмаса белгі болмауы
керек. Сол сияқты айнымалыларды мына түрде беруге болады. $n, $n1,
$user_Func_5 және т.с.с. Кілттік сөздерге қарағанда айнымалылардың аты PHP-
де регистрге сезімтал болады. Мысалға: $user_func, $User_func және
$USER_FUNC бұлардың жазылуы бір болғанымен регистрінде айырмашылық бар.
PHP–де айнымалыны пайдаланудан алдын оның типін көрсету шарт емес.
Сонымен бірге, айнымалы программа жұмысы барысында түрлі типтер қабылдау
мүмкін.
Сыртқы айнымалылар деп басқа скрипттерден кіретін барлық айнымалылырды
айтады (браузер және сервермен беріледі). Клиенттің сұрауы WEB–сервер мен
PHP-препрцессорына берілгеннен соң, соңғысы сұранысқа байланысты және
әрдайым орындауға ыңғайлы анықтамалар қатарын анықтайды. Егер PHP
айнымалының айналасын және register_glibals құрастырушысы қосылған болса,
PHP айналасындағы сондай аты және мәндері бар айнымалыны құрады. Бұл
айнымалылар $HTTP_ENV_VARS массивіне және $_ENV суперглобальді массивіне
орналасады.
Тұрақтылар. Тұрақтылар PHP тілінде define (): функция көмегімен
жазылады.
define (CONSTANT, value)
Бұл функцияның бірінші параметрі – тұрақтының аты, ал екіншісі - оның
мәні. Пайдалану алдында тұрақтының атына жібереді:
?
define (CONSTANT1, 15);
define (CONSTANT2, “\x20”); бос орынның коды
define (CONSTANT3, “Hello);
echo (CONSTANT1);
echo (CONSTANT2);
echo (CONSTANT3);
?
Дәстүрге сай тұрақты аттарын үлкен регистр әріптерімен жазады. Бұл тек
қана стиль болса да, оны қолданған жөн.
Айнымалылардың типтері және амалдар приоритеті. PHP айнымалы типінің
анықтылығына қарамауға рұқсат береді. Бір ғана айнымалымен, программаның
жұмысы барысында қатарды да, санды да өңдеуге болады. Бірақ PHP–де
сұрыпталған негізгі тип берілгендері бар, олар айнымалымен жұмыс барысында
әсер етуі анық. Айнымалылардың негізгі типтері төменде көрсетілген:
• Integer
• String
• Float (double, real)
• Array
• Boolean
• Object
1.2. РНР тілінің негізгі құрылысы(синтаксисі)
РНР-бұл Web –серверге жіберілетін скриптердің көмегімен Web-беттерінің
динамикалық генерациясына қажетті бағдарламалау тілі. Сіз бетті РНР және
HTML-дің көмегімен ашасыз. Сайтты пайдаланушы бетті ашқанда, сервер html-
код қосылған РНР операторларын орындайды және нәтижені пайдаланушының
браузеріне жібереді. Бұл әрекет дәл осылай ASP және Cold Fusion-ның
көмегімен жасалады. Дегенмен ASP және Cold Fusionға қарағанда, РНР ашық
бастапқы кодты өнім болып табылады және платформалы тәуелсіз. РНР Windows
NT және Unix-тің көптеген версияларында жұмыс жасайды. Ол Аpache –дегі
модуль ретінде жіберіле береді. Егер жіберілу Apache модулі түрінде болса
РНР оңай және жылдам жұмыс жасайды. Бұл кезде процессті жасауға байланысты
туындайтын қосымша шығындар болмайды. Сондықтан нәтижесі тез шығады және
сервердегі сақтаудағы шығынды азайтатын mod _perl-ді орнатудың қажеттілігі
болмайды.
Сіздің құжат бетіңіздегі әртүрлі операциялардан басқа сіз РНР
көмегімен НТТР-тақырыптарды қалыптастырып HTTP орната аласыз. Сонымен қатар
аутенфификацияны басқарып пайдаланушыны басқа бетке бағыттай аласыз. РНР
берілгендер қорына енуге үлкен мүмкіндіктер ашады. Бұл сізге PDF құжаттарды
инерациялаудан, ХМL-дегі грамматикалық талдауды жасауға мүмкіндік береді.
РНР операторлары сіздің бетіңізге Web-беттерді қойып береді, сондықтан
арнайы ортада жүзеге асырудың қажеттілігі туындамайды. Сіз РНР-кодының
блогын тегімен аяқтайсыз. Бұл тегтердің арасындағылардың барлығы РНР код
ретінде интерпритацияланады. РНР тілінің синтаксисі Си және Рerl
синтаксисіне ұқсас келеді сіз ауспалыларды оларды пайдаланудан бұрын
жарияламауыңыз керек. Массивтермен Хэмтер оңай жүзеге асырылады. Дегенмен
РНР Apache құрылған жағдайда бәрінен жылдам жұмыс жасайды. РНР Web –
сайтында оны Microsoft ІІS және Netscape Enterprise Server орналастырудың
реті бар. Егер сізде РНР ді орнатуға бағдарламалық қамтамасыз етудің
көшірмесі жоқ болса, оны сізге ресми Web –сайттан ала аласыз. Ол жерден сіз
РНР дің барлық ерекшелігі мен қызмет бейнеленген түсіндірілген жетекшілікті
таба аласыз.
Соңғы он бес жылдары интернеттiң қиял-ғажайып дамуы және адамдардың
арасындағы қарым-қатынастың жаңа әдiстерiн белгiледi. Бұл құбылыстың
алдыңғы өлкелерiне (WWW ) World Wide Webде болады.
Рнр тарихы 1995 жылдан тәуелсiз бағдарламашы (Rasmus Lerdorf ) Расмус
Лердорф сайтта оның онлайндық резюмесін оқып шыққан келушiлердің саның
есептеуге арналған PerlCGI нiң сценариын жазудан басталады. Оның сценариы
екi есептi шештi : келушiнiң деректерінің тiркелуі және келушiлердiң санын
— web бетке шығару. WWW дамыту әлi тек қана басталды, бұл есептердi шешуге
арналған ешқандай да арнайы құралдар болмады, сондықтан авторға көп
сұрақтар лап берді. Лердорф (Рнр ) Personal Home Page немесе (гипермәтiн
процессоры ) Hypertext Processor аталған өз құрал-сайманын тарата бастады.
Лердорфаның Рнр құрал-сайманының шулы жетiстiгi Рнрдың кеңейтулерiн өңдеуге
әкеп соқты. Кеңейтулердің бірі HTML формада енгiзiлген мәлiметтердi
символдық айнымалыларға түрлендiрдi, осыдан оларды басқа жүйелерге шығаруға
мүмкiндiк берген. Қойылған мақсатқа қол жеткiзу үшiн Лердорф өңдеулерді
жасауды ендiгәрi Perl ден С-ге өтуге шештi. Сол кездегі Рнрдың құрал-
сайманының кеңейтуi 2.0-шi Рнр пайда болуына, немесе (Personal Home Page
Form Interpretator ) PHP-FIнi келтiрдi. Дүние жүзiнен бағдарламашылар 2.0
версияны жетiлдiруге қатысты.
Жаңа РНР версиясы ерекше мәлiмдiлiкпен пайдаланды, және өңдеушiлердiң
негiзгi командасы жақында іріктелді. Олар HTML-ға программалық кодтың
енгiзуiнің бастапқы тұжырымдамасын тiкелей сақтады және Рнр-дiң 3.0-шi
версиясының пайда болуына келтiрген лексикалық талдаудың механизмін
қайтадан жазды. РНР 4 бұл қозғалыста жұмыс жасаушы ретінде 2000 жылы
жарыққа шықты. Өндірісті жоғарылатуда қосымша ретінде РНР 4 тің
мүмкіндіктері зор еді. РНР 4-тің шығуымен ол интернет доменінің 20 пайыздан
көбінде қолданыла бастады. 2000-2004 жылдар арасында 4 версияны жұмсарту
үшін белсенді жұмыстар жалғасты. Шамамен сол кезден бастап ақ РНР Group
жаңа версияның мүмкіндігін ойластыруға кірісті. Бірінші кезекте тілдің
объектілік мүмкіндіктерін күшейту шешілді. Бұл оның жүзеге асыру үшін ірі
жобаларды пайдалануға мүмкіндік берді. 5-ші версияны жарыққа шығару үшін
қосымша уақыт бөлінді. Оған көптеген мамандар қатысты олардың ішінен
Стерлинг Хьюза және Маркус Бергерді атап өткен жөн болар.
Ақыры 2004 жылдың шілдесінде РНР 5 ресми түрде жарыққа шығады. Бірінші
кезекте жоспарланғандай өңдеуде объектілермен жұмысты барлық механизм
жұмылдырылды. Егер алдыңғы версияларда РНР –дегі объектілік-жобалаушылық
бағдарламалау минимальды деңгейде мүмкін болатын болса, ал РНР 5 объектілік
бағдарламалауды жүзеге асыруда көптеген потенциалдарға ие. Онымен қоса РНР
ХМL мен жұмыс жасауда бағалы кеңейтулермен, берілгендердің әртүрлі қайнар
көзіне байыды.
РНР 4-дегі ХМL мен жұмыс жасауға арналған барлық негізгі кітапқаналар
күрделі өңдеуге ұшырады. Мынадай танымал кеңйтілер SAX, DOM, және XSLT
қазір libxml2-нің құрал-сайманын пайдаланады. Сонымен қатар тағы да жаңа
екі кеңейтулер қосылды-SimpleXML және SOAP.
Somple XML XML- берілгендермен жұмысты айтарлықтай оңайлатады. Бұдан алдын
РНР-да ХМL мен жұмыс бұншалықты қарапайым болмаған еді.
SOAP -тың кеңеюі РНР да ХМL –хабарламаның көмегімен басқа қосымшалармен
ақпарат ауысатын сценарий құруға мүмкіндік береді. Мысалы НТТР. РНР
қосымшалы қазіргі таңдағы танымал веб-сервистермен интеграциялауға
мүмкіндік туындайды.
РНР 5 My SQL (My SQL Improved) жаңа кеңeйтулер Му SQL – сервер
версиясымен 4.1.2 және жоғарылармен жұмыс жасауға арналған. Му SQL — ға тек
қана процедуралық емес сонымен қатар объекті жобалаушылық интерфейс жүзеге
асады. Бұл модульдің қосымша мүмкіндіктері SSL-ді, транзакцияны бақылауды
қосады. SQLite–тің кеңейтілуі мәліметтерді кәдімгі файлдарда сақтайтын
қоcымшаны құрастыруға мүмкіндік береді. Ол SQL интерфейсін пайдалануға
мүмкінік тудырады. SQLite – нің маңызды ыңғайлылығы – пайдаланылу
қарапайымдылығы. SQLite процедуралықпен қатар мәлiметтермен жұмыс жаcау
үшін мықты объектілік — жобалаушылық мүмкіндіктері бар. SQLite-нің басқа
ерекшеліктері –жоғары жылдамдық, басқарудағы күрделі механизмдердің жоқ
болуы және оңай тізгіштік. Көптеген эксперттер РНР -нің бұл кеңейюінің
үлкен танымалдылыққа ие болатындығын жоспарлап отыр.
РНР 5-тің басқа кеңейтілуі өзіне төмендегілерді қосады:
• Tidy –HTML-құжаттарды сараптау және түзету үшін.
• Perl — Perl сценарийлерді пайдалану.
• SPL – кластармен интерфейстердің стандарты жиынтығын анықтайтын ZE2 –нің
кеңеюі.
• -РDО -PHP-нің мәліметтеріне әмбебап интерфейс ұсынады.
• -PІMP-GD модульінің орнына келген, графикамен жұмыс жасауға арналған жаңа
кітапхана.
• Бұдан басқа РНР 5-те есте сақтаудың әлдеқайда жылдам диспетчері
пайдаланылады.
• РНР 5 REAR құрылымын нақты жүзеге асыруға керекті қасиеттермен
толықтырылған.
1.3. Айнымалылар, константалар
Айнымалылар. PHP – де айнымалылар ақша бірлігі ($) белгісінен
басталады. Белгіден кейін шексіз әріптік–сандық және белгілеу символдары
жазылуы мүмкін. Бірақта ($) кейінгі символ сан, не болмаса белгі болмауы
керек. Сол сияқты айнымалыларды мына түрде беруге болады. $n, $n1,
$user_Func_5 және т.с.с. Кілттік сөздерге қарағанда айнымалылардың аты PHP-
де регистрге сезімтал болады. Мысалға: $user_func, $User_func және
$USER_FUNC бұлардың жазылуы бір болғанымен регистрінде айырмашылық бар.
PHP–де айнымалыны пайдаланудан алдын оның типін көрсету шарт емес.
Сонымен бірге, айнымалы программа жұмысы барысында түрлі типтер қабылдау
мүмкін.
Сыртқы айнымалылар деп басқа скрипттерден кіретін барлық
айнымалылырды айтады (браузер және сервермен беріледі). Клиенттің сұрауы
WEB–сервер мен PHP-препрцессорына берілгеннен соң, соңғысы сұранысқа
байланысты және әрдайым орындауға ыңғайлы анықтамалар қатарын анықтайды.
Егер PHP айнымалының айналасын және register_glibals құрастырушысы қосылған
болса, PHP айналасындағы сондай аты және мәндері бар айнымалыны құрады. Бұл
айнымалылар $HTTP_ENV_VARS массивіне және $_ENV суперглобальді массивіне
орналасады.
Script орындау барысында тұрақты шамаларды, яғни мәні өзгермейтін
шамаларды сақтау үшін константалар немесе тұрақтылар пайдаланылады.
Константаларға математикалық тұрақтылар, құпия сөздер (парольдар), файл
адрестері және т.б. жатады. Тұрақтының айнымалыдан негізгі айырмашылығы –
оған мән бір-ақ рет беріледі және оның жарияланған мәнін өзгертілмейді.
Бұған қоса тұрақтылар аты алдына доллар таңбасы жазылмайды және оларға
мәнді қарапайым меншіктеу арқылы беруге болмайды. Тұрақтыларды анықтау үшін
define() арнайы функциясы қолданылады. Оның синтаксисі мынадай:
Define(“Тұрақты_аты”,“Тұрақты_мәні” ,[“Регистрден_тәуелсіздігі”])
Келісім бойынша тұрақтылар аттары регистрге тәуелді, бірақ әрбір тұрақты
үшін қосымша аргумент ретінде Регистрден_тәуелсіздігі мәнін True мәніне
өзгертіп, бұл қасиетті жоюға болады. Келісім бойынша әрқашанда тұрақты аты
жоғарғы регистрде (бас әріптермен) жазылады.
Тұрақтының мәні оның $ таңбасысыз жазылатын атын көрсету арқылы
пайдаланылады. Бұған қоса тұрақты мәнін алу үшін аргументі тұрақты атына
сәйкес constant() функциясын пайдалануға болады.
2.1. Операторлар. Мәліметтер типтері
РНР тілінің қарапайым элементтері: түсініктеме, тұрақты, айнымалы және
функциялар. Операторлар. Еcho (5 + 5) конструкциясы қарапайым (болмаса бір
қатарлы) оператор деп аталды. PHP-де әр оператор нүктелі үтірмен
аяқталады. Осы себепті әр жазудан кейінгі келетін нүктелі үтір символы
бөлек оператор ретінде қабылданады.
Қарапайым оператор ауыспалы бірнеше қатарды өз ішіне алады. Мысалы.
?
echo (5 + 5);
echo (5 - 2);
echo (“Hello, world!”);
?
Қарапайым оператордан басқа тағы құрама оператор да бар, олармен
операторлар тізбегін анықтауға да болады. Кейде құрама операторларды көп
қатарлы деп те атайды. Құрама оператордың қарапайым оператордан
айырмашылығы, ол нүктелі үтірмен аяқталмайды, оның аяқталғанын фигуралық
жақша білдіреді.
Цикл операторлары. Цикл операторлары бір амалдың бірнеше рет
қайталануына алып келеді. РНР-да цикл операторының төрт түрі бар:
• while
• do...while
• for
• forreach
Алдыңғы үш цикл операторлары С++ тілінен алынған болса, ал соңғы
оператор Реrl тілінен алынған. Бұл бөлімде тек алдыңғы үш цикл операторын
қарастырамыз.
While операторында бірінші логикалық шарт тексеріліп, содан кейін барып
амалдар орындалады. While операторының жалпы жазылу үлгісі төмендегідей:
While (шарт)
{
оператор;
}
Циклды орындалу тәртібі мынадай, алдымен шарт тексеріледі. Егер шарт
қанағаттандырылса, онда цикл орындалады. Цикл операторы шарт
қанағаттанғанынша орындала береді. Циклға шарт беруден алдын оның бір кезде
орындалатынына көз жеткізу керек, әйтпесе шексіз циклға түсіп қалуы мүмкін.
Оператор деп белгілі бір мәні қайтаратын функция немесе басқа да
консрукцияларды айтуға болады. Мысалға алатын болсақ, мәтінді айнымалыға
тіркеген мәніні қайтарған print() және echo() функцияларын айтуға болады.
Арифметикалық операторлар
Төмендегі кестеде b=4 болады:
Оператор Анықтама Мысал Нәтиже
+ Қосу a=b+1
a=5
- Алу а=b-2
а=2
* Көбейту a=b*3
a=12
Бөлу a=b2
a=2
% Қалдық a=b%3 а=1
++ Арттыру a=++b
a=5
-- Кемейту a=--b
а=3
Тіркеу операторлар
Төмендегі кестеде x=6, y=4 болады
Оператор Мысалы Екінші түрі Нәтиже
+= x+=y x=x+y
x=18
-= x-=y x=x-y
x=6
*= x*=y тx=x*y
x=72
= x=y x=xy x=2
%= x%=y x=x%y x=0
.= x.=y x=x.y x=126
Салыстыру операторлар
Оператор Анықтама
Нәтиже
== Теңдік 8==10 жалған
қайтарады (false)
!= Теңсіздік 8!=10 шын
қайтарады (true)
Теңсіздік 810 шын
қайтарады (true)
Үлкен ...тен 810 жалған қайтарады
(false)
Кіші ...тен 810 шын қайтарады
(true)
= Үлкен немесе тең 8=10 жалған
қайтарады (false)
= Кіші немесе тең 8=10 шын
қайтарады (true)
Логикалық операторлар
Төмендегі кестеде x=3, y=1 болады
Оператор Анықтама Нәтиже
&& және (and) (x 5 && y 2) жалған
қайтарады (false)
немесе (or) (x==3 y==1) шын
қайтарады (true)
! емес (not) !(x==y) шын
қайтарады (true)
Цикл операторлары. Цикл операторлары бір амалдың бірнеше рет
қайталануына алып келеді. РНР-да цикл операторының төрт түрі бар:
while
do...while
for
forreach
Алдыңғы үш цикл операторлары С++ тілінен алынған болса, ал соңғы
оператор Реrl тілінен алынған. Бұл бөлімде тек алдыңғы үш цикл операторын
қарастырамыз.
While операторында бірінші логикалық шарт тексеріліп, содан кейін
барып амалдар орындалады. While операторының жалпы жазылу үлгісі
төмендегідей:
While (шарт)
{
оператор;
}
2.2. Басқару конструкциялары. Шартты операторлармен жұмыс
Салыстыру қарапайым түрде ұйымдастырылады: "егер-онда-болмаса". Бұл
үшін PHP-де келесі конструкция қолданылады:
if ( ) { } else { }
бұл оператордың түрлі синтаксисі бар, бірақ жоғарыда келтірілген
синтаксис ең тиімді әрі дұрысм болып есептеледі. Мысал:
?php
$a = 5;
$b = 9;
if ($a == $b) {echo $b - $a;} else {echo $b.$a;}
?
Бағдарлама нәтижесі 95 - ті көрсетеді, себебі $a -ға $b тең емес, ал
echo $b.$a; командасы айнымалыларды рет-рнетімен шығарады. Мұндағы нүкте
айнымалыларды бір-бірімен жабыстыру үшін қолданылады.
Циклдер
Бағдарламалаудағы циклдер дегеніміз - бір операцияның бірнеше рет
қайталануы. PHP-де циклдерді ұйымдастыру үшін келесі операторлар
қолданылады: while, do...while, for және foreach. Циклге мысал ретінде
бірнеше файлдарды көшіру қызметін көрсетуге болады. Оның алгоритмі
төмендегідей болады:
❖ файлдар санын беру
❖ көшірілген файлдар есептегішінің мәнін нөлге қою
❖ файлды көшіру
❖ есептігіштің мәнін берілген файлдар санына теңдігін тексеру
❖ егер тең болмаса, онда көшірілген файлдар есептегішінің мәнін арттыру
және цикл басына
❖ қайта келу
❖ егер тең болса, онда циклды аяқтау
Циклдық әр қайталануы итерация деп аталады.
Енді PHP-де циклдерді ұйымдастыру мысалын қарастырайық:
?php
$i = 0;
$n = 10;
while ($i =$n):
echo $i. “
\n” ;
$i++;
endwhile;
?
скрипттің мағынасы өте қарапайым. $i айнымалысына циклдың басындағы
мәнді тағайындаймыз да, $n айнымалысына циклдың соңындағы мәнді
тағайындаймыз. Ары қарай циклды while() операторы арқылы ашып, жақшаның
ішіне берілетін шартты жазамыз. Ол шарт $i =$n болғанша орындалады. Бұл
цикл шарты бұлған заматта цикл аяқталады. еndwhile операторы циклдың
аяқталғанын білдіреді. Скрипт, браузер экранына баған бойынша бірден онға
дейінгі сандарды шығарады. Себебі echo операторының $i айнымалысынан кейін
қатарды ауыстыратын
HTML-тегін қойдық.
Жоғарыдағы есепке тағы да басқа бір вариантын көрсетейік:
?php
$i = 0;
while ($i=10)
{
echo $i++. “
\n”;
}
?
Бұл екі бағдарламаның нәтижесі бірдей болады.
Енді PHP-де do...while операторының құрылысын қарастырайық. Бұл да цикл
болып саналады, оның while операторынан ерекшелігі “дейін” емес “кейін”,
яғни цикл жұмысы оператордан кейін аяқталады. do...while циклі үшін тек
бірақ синтаксис бар:
?php
$i = 0;
do
{
echo $i. "
\n";
$i++;
}
while ($i = 10);
?
Енді for циклына мысал келтірейік, оның синтаксисі:
for (expr1; expr2; expr3) (операторлар тіізбегі)
(expr1) - өрнегі шартсыз болып есептелінеді және циклдың басында
орындалады. Әр итерацияның басында (expr2) өрнегі орындалады. Егер ол
ақиқат болса, онда цикл жалғасады да ішкі операторлар орындалады. Егер ол
жалған болса, онда цикл аяқталады да әр итерацияның соңында (expr3) өрнегі
орындалады. Бұл өрнектердің әрқайсысы бос болуы мүмкін. Егер (expr2) өрнегі
бос болса, онда цикл шексіз орындалады. Шексіз орындалуды break операторы
арқылы тоқтатуға болады. Мысалы:
?php
$a = 0;
while ($a 5)
{
if ($arr[$a] == "atop" )
{
break;
}
$a++;
}
?
Егер continue операторы кездесетін болса, онда басқару келесі жақын
циклге беріледі. Мысалы
while (list($key,$value)=each($arr))
{
if ($key 2)
{
continue;
}
}
Енді сандарды for операторы арқылы экранға шығару есебінің мүмкін
жолдарын қарастырайық:
Мысал1:
for ($i = 1; $i = 10; $i++)
{ print $i ; }
Мысал2:
for ($i = 1;; $i++)
{ if ($i 10)
{ break; }
print $i;
}
Мысал3:
$i = 1;
for (;;)
{ if ($i 10) { break; }
print $i; $i++;
}
Уақыт пен мерзім
PHP-де уақыт форматымен жұмыс істеу үшін көбінесе date функциясы
қолданылады. Оның синтаксисі $date = date("параметр"); Параметрлер бірнеше
болуы мүмкін және олар бір-бірінен үтір арқылы ажыратылады. Онда төмендегі
параметрлерді қолдануға болады:
а - "am" немесе "pm" мәндерін қабылдайды;
А - "AM" немесе "PM";
d - ай күні, сандық, екі сан (бірінші орынға нөл қою керек), яғни 01-
ден 31-ге дейін;
D - апта күні, мәтіндік, үш әріп, мысалы: "Fri";
F - ай, сандық, мысалы: "February";
h - сағат, сандық, екі сан, 12 сағаттық формат;
H- сағат, сандық, екі сан, 24 сағаттық формат;
i - минут, сандық, екі сан, яғни 00-ден 59-ға дейін;
j - ай күні, сандық, бастапқы нөлсіз;
l - апта күні, мәтіндік, мысалы: "Wednesday";
L-төрт жылда қайталанатын жылды көрсетеді, яғни "0" немесе "1";
m-ай, сандық, яғни "01"-ден "12"-ге дейін;
M-ай, мәтіндік, үш әріп, мысалы: "Feb";
n -ай, сандық, бір сан, яғни "1"-ден "12"-ге дейін;
О-Гринвич уақыты бойынша сағат аралығы, мысалы: "+0200";
s - секунд, сандық, екі сан, яғни 00-ден 59-ға дейін;
S- ағылшынша реттік жалғау, мәтіндік, екі символ, мысалы: "nd" және
"th"
t - ағымдық айдағы күндер саны, яғни "28"-ден "31"-ге дейін;
U-Unix ғасырынан басталатын секунд, яғни 1970 жылдың 1 қаңтары;
Y-жыл, сандық, төрт сан;
w-апта күні, сандық, мысалы "0" саны жексенбіні білдіреді;
y -жыл, сандық, екі сан, мысалы: "99";
z -жыл күні, сандық, мысалы: "299";
Осы параметрлерді қолдану арқылы біз өзіміздің сайтымызда ағымдық
уақытты пайдалана аламыз. Оның ішінде ең көп қолданылатыны ағымдық уақыт
пен мерзімді шығару. Аптаны, айды, күнді шығару сайтта өте пайдалы болып
есептеледі. Мысалы, сайтымызға кірушілерді тәулікке байланысты уақытпен
қарсы алатын болсақ, онда бағдарлама коды төмендегідей болады:
?php
$h = date("H")
if ($h = 5 && $h = 11) echo "Қайырлы таң !";
if ($h = 12 && $h = 18) echo "Саламатсызба !";
if ($h = 19 && $h = 24) echo "Қайырлы кеш !";
if ($h = 1 && $h = 4) echo "Қайырлы түн !";
?
Бұл скриптте серверден date(“H”) функциясы арқылы ағымдық сағат
уақытының мәнін аламызда, оған талдау жүргземз. Алынған мән қай аралықта
орналасқанына байланысты сәйкес сөздерді экранға шығарамыз. Егер бағдарлама
кодына назар аударатын болсақ, онда сағат белдеуінсіз және сәйкес уақыт
аралығынсыз тек сервер уақыты ғана алынып тұрғанын көремз. Сондықтан уақыт
аралығын бағдарламаға алдын-ала енгзуімізқажет. Оған мысал ретнде келес код
бола алады:
$time = date(“H:i”);
$time1 = date(“H”);
$time2 = date(“i”);
$time_s = 7;
$time1 = $time1+ $time_s;
if ($time1 = 24) { $time1 = $time1 – 24; }
$time = “$time1: $time2”;
Бірінші қатарда ағымдық уақытты алу сервердің сағат белдеуі бойынша
іске асырылады. Ары қарай түрлі дұрыс уақыт белдеуі бойынша бағдарлама өзі
есептейді. $time_s айнымалысындаөз уақыт аралығы сақталады.
Массивтер
Массив дегеніміз – сандар немесе белгілерқатары және олардың басқа
айнымалылар секілді өз аты мен мәндері болады. Бірақ одан да басқа олардың
индекстері болады. PHP-де массив былайша өрнектеледі: $массив_аты[индекс].
Мысалы:
?php
$a[0] = 1;
$a[1] = 12244;
$a[2]=0 “example”;
?
Бұл мысалдың нәтижеснде $a массиві құрылып, оның 0,1 және 2
ұяшықтарына 1, 12244 және example мәндері тағайындалады. Енді echo $a[2]
командасын берсек онда экранға example сөзі шығады.
Біз қарастырған массив бірөлшемді, одан басқа көп өлшемді массивтерде
бар. Мысалы: $деканат[кафедра информатика] [кафедра автоматика];
Массив ұяшықтарымен кез-келген операциялар жасауға болады:
арифметикалық, логикалық амалдар қолдану, салыстыру операциялары, арттыру,
азайту және т.б.
PHP-дің басқа бағдарламалау тілдерінен ерекшелігі мұнда бүтіндей файлды
массив ретінде алуға болады және бұл мүмкіншілік көптеген қызықты амалдар
қолдануға жол ашады. Оның форматы:
?php
$a = file(“файл_аты”);
?
Бұл команданың нәтижесінде $a массивінде файл мазмұны болады.
Әр массивтің ағымдық элементі анықтайтын ішкі көрсеткіштері болады.
Массивпен жұмыс басының кезінде ішкі массив көрсеткіші бірінші элементте
орналасады. end(), next(), prev(), және reset() функциялары массивтің ішкі
көрсеткішінің орнын ауыстырады.
end() функциясы массив ішкі көрсеткішін соңғы элементке орнатады.
next() функциясы массив ішкі көрсеткішін бір элемент алға жылжытады. prev()
функциясы массив ішкі көрсеткішін бір элемент артқа жылжытады. reset()
функциясы массив ішкі көрсеткішін бірінші элементке орнатады. current()
функциясы массив ішкі көрсеткіші тұрған массив элементін шығарады. sort()
функциясы массивті өсу реті бойынша сұрыптайды. rsort() функциясы массивті
кему реті бойынша сұрыптайды. Мұнан басқа PHP-де массивтермен жұмыс істеу
үшін көптеген арнайы функция түрлері бар.
2.3. Шартты операторлармен циклдармен жұмыс
Циклдік құрылымды алгоритмді программалауда қайталанушы процесс бір
айнымалының мәніне тәуелді болса, For операторын қолданамыз. Айнымалы тек
бір қадамға ғана өзгере отырып циклді басқарыды. Бұл айнымалы циклдің
параметрлі қайталану операторы деп аталынады. Санағышы бар параметрлі цикл
операторы цикл қайталануын бақылайтын санағыштың алғашқы және соңғы мәндері
алдын ала белгілі болған кезде ғана қолданылады. For операторы алгоритмдік
тілдегі параметрлі қайталану командасына сәйкес келеді.
і үшін m1 бастап m2 дейін h қадам
Цб
Серия
Цс
For операторы екі түрлі жазылады:
А) for I:=A to B do
Begin
...
End;
Орындалу ережесі: Begin және End сөздерінің арасында жазылған операторлар
I:=A, I:=A+1, I:=A+2,...,I:=B үшін орындалады. Мұндағы І цикл параметрі, А
–параметрдің бастапқы мәні, В-параметрдің соңғы мәні.
For Х:=М1 to M2 do S1;
Мұндағы, қызметші сөздер: For(үшін), to(дейін) циклдің қадамы +1-ге өсіп
отыратынын көрсетеді, do(орында);
Х- скалярлық типтегі айнымалы циклдің параметрі;
М1-цикл параметрінің бастапқы мәні;
М2-цикл параметрінің соңғы мәні;
S1-параметріне тәуелді қайталанып орындалатын оператор. Сондықтан, S1-цикл
денесі деп аталады.
Б) For I:=A DOWN TO B DO
Begin
...
End;
Орындау ережесі: Begin және End сөздерінің арасында жазылған операторлар
I:=A, I:=A-1, I:=A-2,..., I:=B үшін орындалады.
For X:=M1 down to M2 do S1;
1-нұсқадан өзгешелігі to сөзінің орнына down to (төменге дейін) қызметші
сөзі жазылады. down to циклдің өзгеру қадамы –1 тең екендігін көрсетеді.
Мұндағы Х –тің мәні М1- ден М2-ге дейін –1 қадаммен кему үшін М1M2 шарты
орындалуы керек. Егер бұл шарт орындалмаса цикл денесі бірде бір рет
орындалмайды.
Егер, цикл денесі бірнеше оператордан тұрса, Begin және End операторлар
жақшасынпайдаланамыз.
Параметрдің мәніне тәуелді циклді блок схемасында төмендегідей сипаттайды.
Параметрлі қайталану операторының жазылуына және орындалуына мысал
келтірейік:
Оператордың жазылуы Нәтижесі
For k:=-1 To 6 do Write (x,’,’) -1,0,1,2,3,4,5,6
For k:=3 To 3 do Write (x,’,’)_ 3
For k:=1 To 9 do Write (x,’,’) 1,2,3,4,5,6,7,8,9
For k:=-1 To -6 do Write(x,’,’) Цикл орындалмайды
For k:=10 down to 6 do Write(x,’,’) 10,9,8,7,6
For k:=0 down to –1 do Write(x,’,’) 0,-1
For k:=1 down to 16 do Write(x,’,’) Цикл орындалмайды
Қайталану санын келесі тәсілдермен анықтауға болады. Соңғы мән – алғашқы
мән +1 – бірінші жағдай үшін;
Алғашқы мән – соңғы мән +1 екінші жағдай үшін. Мысалы:Р=1*2*,...*10
сандарының көбейтіндісін есептеу.
Program pr3;
Var i,P :integer;
Begin
P:=1;
For i:=1 to 10 do
P:=P*1;
Writeln (‘P=’,P);
Readln
End.
3.1. Циклдармен жұмыс
Цикл дегеніміз – белгілі бір көп рет қайталанатын іс-әрекет. Қанша рет
қайталануы біздің шартта енгізген санымызға байланысты.
While циклі қандай да бір шарт орындалмағанша код орындала береді.
?php
$d = 2;
while ($d = 5)
{
echo "Пәтер #" . $d . "br ";
$d++;
}
?
Шарт орындалып жатқанда, оператор echo қатарларды шығарып тұрады. Ал цикл
әр қадамда өскен сайын айнымалының мәнісі де өзгеріп тұрады.
Мысалы:
?php
$d = 1;
do
{
$d = $d + 2;
echo "Пәтер №" . $d . "br ";
}
while ($d = 7);
?
do...while циклінің ерекшелігі бірінші код жасалады, тек кейін шарт
орындалады. Жоғарыдағы мысалда айнымалының мәнісі 1 санына тең. Кейін $d
айнымалысына 2 саны қосылады да айнымалы саны қосылады да, бірінші
қадамнан, бірінші айналымнан соң, айнымалы 3-ке тең болады. Цикл қайталана
береді, ең соңында мәнісі 9-ға тең болады. Себебі while операторы
бағдарламаның соңында келеді.
For цикл
Мысалы:
?php
for ($d = 1; $d = 4; $d++)
{
echo "Пәтер №" . $d . "br ";
}
?
3.2. Циклдармен жұмыс include, require функцияларын қолдану
Интернет желісіне бір сайт істеген адам әйтеуір бір уақытта ішіндегі
ақпаратты өзгертуі қажет болады. Әрине, егер сайт бірнеше беттен тұрса оны
жасау қиын емес, егер сайт өте үлкен болса, онда кішкене өзгертуді жүздеген
бетке жасау қиын тірлік болады. Бірақта ешқандай қорқудың қажеті жоқ,
себебі PHP бұл мәселенің шешілу жолын қарастырып қойған, бір бетті
екіншісіне салып қою мүмкіндігі. Бұл операция include() және require()
операторлары арқылы жүзеге асырылады. Бұл операторлардан кейін жақшаның
ішінде салынатын файлдың жолы тұру керек. Мысалы: include(“text.phtml”).
Көрсетілген екі оператордың бір-бірінен ерекшелігі require() операторы
көрсетілген файлдың мазмұнымен алмастырылып тек бір-ақ рет қолданылады, ал
include() операторы көрсетілген файлдың мазмұнымен алмастырылып, мысалы
циклдің ішінде бірнеше рет қолданылуы мүмкін.
Сілтеме келесі түрде болады:
http:атыindex.php?razdel=1
сілтеменің соңындағы бірлік index.phtml файлындағы бізідің параметр болып
табылады. Мысалы: менің құрып жатқан WEB сайт бетінде мұндай файл
Center.php ішінде кездеседі.
html
...файлдың басы ...
?php
$CurSec=empty($_GET['razdel'])?null :$_GET['razdel'];
if(empty($CurSec))
include(".razdeltt.html");
elseif(file_exists(".razdel".base name($CurSec).".inc.php"))
include(".razdel".basename($CurSe c).".inc.php");
else
include(".razdelerror.inc.php");
?
...файлдың соңы ...
html
3.3. РНР – де функциялар
PHP тілінде қанша функция бар екенін санағансың ба? PHP-дің арнайы
бетінен мен 5025 данасын санап шықтым. Мен бұл функциялардың барлығын саған
көрсетіп бере алмаймын әрине. Бірақ, сен PHP-ге жаңа келген болсаң, мен
саған қолданыстағы 7 функциясын көрсетіп бергелі отырмын.
1-Функция array_rand
Қарапaйым біреуінен бастайық. Егер белгілі бір массивтің кесдейсоқ кілтін
табу керек болса, кездейсоқ санды шығару үшін rand немесе
mt_randфункцияларын қолданатын шығарсың. Бірақ бұған array_rand функциясы
арқылы одан да оңай жолмен қол жеткізуге болады. Мысалмен көрсетейік:
?php
$input = array("first","second","third","fou rth");
$k = array_rand($input);
echo $input[$k];
?
Егер массивтің кездейсоқ бір ғана кілтін емес, бірнеше кілтін алу керек
болса, ол былай болады:
?php
$input = array("first","second","third","fou rth");
$keys = array_rand($input,2); кездейсоқ екі элементін аламыз
echo $input[$k[0]].' '.$input[$k[1]];
?
2-Функция strip_tags
Мәтіннің html тегтерін "қырқып" тастауға тура келетін кездер болады.
Мысалы, пікір жазатын ұяшыққа қолданушы
scriptalert('Hello')script
деп жазып жіберсе, біз бұл мәтінді мәліметтер қорына сақтамай тұрып,
сыртындағы html тегтерін тазалауымыз керек қой. Осындай мәселеде бізге
strip_tags функциясы көмекші болады. Бұл функция былай қолданылады:
?php
$message = "script alert('Hello') script";
echo strip_tags($message); Нәтиже alert('Hello') болып шығады
?
Әрине, кейде html тегтердің барлығын қырқа бермей, кейбіреулерін өткізуге
тура келеді.
Мысалы,
strong,em
сияқты тегтерді қырқпай, қалған тегтерді қырқып көрейік:
?php
$message = "divБұл пікірді strongқалың әріппенstrong жазамынdiv";
echo strip_tags($message, "strongem");
Нәтиже "Бұл пікірді strongқалың әріппенstrong жазамын" болып шығады
?
3- функция strftime
Кез келген веб приложенияда уақыт үлкен рөл атқарады. Бұл мәселеде, уақытты
форматтау үшін бізге strftime функциясы көмекші болады. Мысал:
?php
strftime("%B %d, %Y", time()); July 28, 2012
?
Форматтау туралы қосымша мәліметті мына жерден алуға болады strfti.me
4- функция basename
Егер бізде бір файлдың жолы (path) болса, егер ол файл туралы мәліметті
қолданушыға көрсеткіміз келсе, файлдың жолын емес тек атын ғана көрсетеміз
ғой. Осындай кезде basename функциясын қолдануға болады. Мысал:
?
$path = "D:wwwsitesfilesexamp.txt";
$filename1 = basename($path); Нәтижесі examp.txt
$filename2 = basename($path, ".txt"); Нәтижесі examp, яғни txt
кеңейтуінсіз
?
5- функция list
Егер бізде массив болып, сол массивтың элементтерін жіктеу керек болса,
list функиясы көмекші болады.
Мысалы:
?php
$array = array('first','second','third','fou rth','fifth');
list($first,$second) = $array;
echo $first.' '.$second;
?
6- функция range
Егер біздің белгілі бір элементтердің диапазонынан массив жасағымыз келсе,
range функциясы көмекші болады.
Мысал:
?php
$array = range(0,10);$array = array(0,1,2,3,4,5,6,7,8,9,10), қадамы 1
болады
print_r($array);
?
Егер қадамын 1-ден бөлек қылу керек ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz