Download as pdf or txt
Download as pdf or txt
You are on page 1of 46

PHP

F.ITM202 Вэб зохиомж


Лекц №7

А.Түвшинбаяр (Доктор, Ph.D)


Server side basics

CS380
URLs and web servers
3

http://server/path/file
Та хөтөч дээрээ URL оруулахдаа ихэвчлэн:
Таны компьютер DNS ашиглан серверийн IP хаягийг хайж
байна
Таны хөтөч тэр IP хаяг руу холбогдож, өгөгдсөн файлыг
хүсэх болно
Вэб серверийн програм хангамж (жишээ нь Apache)
серверийн дотоод файлын системээс тухайн файлыг татаж
авдаг
Сервер таны агуулгыг буцааж илгээдэг

URLs and web servers (cont.)
4

Apache, Websphere
SW(Java Servlets, XML
Files)

Web/Application Server Database



URLs and web servers (cont.)
5

http://www.facebook.com/home.php
Зарим URL-ууд нь вэб серверийн ажиллах ёстой
програмуудыг зааж өгсөн бөгөөд үр дүнд нь үр
дүнгээ танд буцааж илгээдэг:
Дээрх URL нь facebook.com серверт home.php
программыг ажиллуулж, гаралтыг нь буцааж
илгээхийг хэлж байна

Server-Side web programming
6

Сервер талын хуудаснууд нь вэб програмчлалын


олон хэл/фрэймворкуудын аль нэгийг ашиглан
бичигдсэн программууд юм
жишээ: PHP, Java/JSP, Ruby on Rails, ASP.NET, Python,
Perl

Server-Side web programming (cont.)
7

Мөн сервер талын скрипт гэж нэрлэдэг:


Вэб хуудсанд аливаа контентыг динамикаар засах,
өөрчлөх, нэмэх боломжтой
Хэрэглэгчийн асуултууд эсвэл HTML маягтаас илгээсэн
өгөгдөлд хариулах
Аливаа өгөгдөл эсвэл мэдээллийн санд нэвтэрч, үр дүнг
хөтөч рүү буцаана уу
Вэб хуудсыг хэрэглэгчдэд илүү хэрэгтэй болгохын тулд
өөрчил
Таны серверийн кодыг хөтчөөс харах боломжгүй тул
аюулгүй байдлыг хангана уу

Server-Side web programming (cont.)
8

Вэб сервер:
сервер талын програмуудыг ажиллуулах боломжийг
олгодог програм хангамжийг агуулдаг
вэб хүсэлтийн хариу болгон гаралтыг нь буцааж
илгээдэг
Хэл/фрэймворкуудын бүр өөрийн давуу болон сул
талуудтай
Үүнд PHP ашигладаг

What is PHP?
9

PHP нь "PHP Hypertext Preprocessor" гэсэн үгийн товчлол юм.


Сервер талын скрипт хэл
Вэб хуудсыг динамик болгоход ашигладаг:
контекстээс хамааран өөр өөр контентоор хангах
бусад үйлчилгээтэй харилцах: өгөгдлийн сан, цахим
шуудан гэх мэт.
хэрэглэгчдийг баталгаажуулах
маягтын мэдээллийг боловсруулах
PHP кодыг XHTML кодонд суулгаж болно

Lifecycle of a PHP web request
10

Hello.php
Hello world!

User’s computer Server computer



Why PHP?
11

Үнэгүй, нээлттэй эх сурвалж


Тохиромжтой
2006 оны 11-р сарын байдлаар PHP ашигладаг 19
сая гаруй вэбсайт (домайн нэр) байсан.
Энгийн

Hello World!
12

<?php
print "Hello, world!";
?> PHP

Hello world!
output

Viewing PHP output
13

Hello world!

2 PHP Basic Syntax

CS380
PHP syntax template
15

HTML content
<?php
PHP code
?>
HTML content
<?php
PHP code
Contents of a .php file between <?php and ?> are executed as PHP code
?> All other contents are output as pure HTML
HTML content
We can switch back... and forth between HTML and PHP "modes" PHP

PHP syntax template
16

<?php and ?> хоорондох а.php файлын агуулгыг


PHP код болгон гүйцэтгэдэг.
Бусад бүх агуулгыг цэвэр HTML хэлбэрээр гаргадаг
HTML болон PHP "modes" хооронд нааш цааш шилжих
боломжтой

Console output: print
17

print "text";

print "Hello, World!\n";


print "Escape \"chars\" are the SAME as
in Java!\n";
print "You can have

Hello world! Escape “chars" нь Java хэл дээрхтэй адил юм!


Та мөрөнд мөр таслах боломжтой. Мөр нь "ганц хашилт"
ашиглаж болно.

Variables
18

$name = expression;
PHP
$user_name = “mundruid78";
$age = 16;
$drinking_age = $age + 5;
$this_class_rocks = TRUE;
PHP

Variables
19

нэрс нь том жижиг үсгээр харгалздаг


Нэрс нь мэдүүлэг болон ашиглалтын аль алинд нь
$-оор эхэлдэг
даалгавраар үргэлж далд зарласан (төрлийг
бичээгүй)
JavaScript эсвэл Python гэх мэт

Variables
20

үндсэн төрлүүд: int, float, boolean, string, array, object,


NULL
is_type функц бүхий хувьсагчийн тестийн төрөл,
жишээ нь: is_string
gettype функц нь хувьсагчийн төрлийг мөр болгон
буцаана

Variables
21

PHP олон тохиолдолд төрлүүдийн хооронд


автоматаар хөрвүүлдэг:
string → int автомат хөрвүүлэлт асаалттай + int →
хөвөгч автомат хөрвүүлэлт /
type-cast (төрөл):
$ age = (int) "21";

Arithmetic operators
22

+ - * / % . ++ --
= += -= *= /= %= .=
Олон операторууд төрлийг автоматаар хөрвүүлдэг:
5 + "7" is 12

CS380

Comments
23

# single-line comment
// single-line comment
/*
multi-line comment
*/ PHP

Java шиг, гэхдээ # бас зөвшөөрөгдсөн


Олон РНР код нь // оронд # тайлбар ашигладаг.

String Type
24

$favorite_food = "Ethiopian";
print $favorite_food[2];
$favorite_food = $favorite_food . "
cuisine";
print $favorite_food;
PHP

String Type
25

хаалт тэмдэглэгээг ашиглан тэг дээр суурилсан


индексжүүлэлт
тэмдэгтийн төрөл байхгүй; үсэг бүр нь өөрөө мөр юм
мөр холбох оператор нь +
5 + "2 яст мэлхий тагтаа" === 7
5 . "2 яст мэлхий тагтаа" === "52 яст мэлхий тагтаа"
Эсвэл “”, ‘’ -ээр тодорхойлж болно

String Functions
26

# index 0123456789012345
$name = "Stefanie Hatcher";
$length = strlen($name);
$cmp = strcmp($name, "Brian Le");
$index = strpos($name, "e");
$first = substr($name, 9, 5);
$name = strtoupper($name);
PHP

String Functions (cont.)
27

Name Java ижил


strlen урт
strpos indexOf
substr дэд мөр
strtolower, strtoupper toLowerCase, toUpperCase
trim засах
explode, implode хуваах, нэгдэх
strcmp харьцуулах

Interpreted Strings
28

$age = 16;
print "You are " . $age . " years
old.\n";
print "You are $age years old.\n"; #
You are 16 years old.
PHP

Interpreted Strings
29

“ “ доторх мөрүүдийг тайлбарладаг


тэдгээрийн дотор гарч ирэх хувьсагчид утгуудыг
мөрөнд оруулах болно
‘ ’ доторх мөрүүдийг тайлбарлахгүй:
print ' You are $age years old.\n ';
# You are $age years old. \n
PHP

Interpreted Strings (cont.)
30

print "Today is your $ageth birthday.


\n"; # $ageth not found
print "Today is your {$age}th
birthday.\n";
PHP

Тодорхой бус байдлаас зайлсхийхийн тулд


шаардлагатай бол хувьсагчийг {}-д хавсаргаж
болно.

Interpreted Strings (cont.)
31

$name = “Xenia";
$name = NULL;
if (isset($name)) {
print "This line isn't going to be
reached.\n";
} PHP

Interpreted Strings (cont.)
32

Хэрэв хувьсагч нь NULL байна


Энэ нь ямар ч утгыг тохируулаагүй байна
(тодорхойгүй хувьсагч)
түүнд NULL тогтмолыг өгсөн
тохируулаагүй функцийг ашиглан устгасан
isset функцийг ашиглан хувьсагч NULL эсэхийг
шалгаж болно
NULL нь хоосон мөр хэлбэрээр хэвлэгддэг (гаралт
байхгүй)

for loop (same as Java)
33

for (initialization; condition;


update) {
statements;
} PHP

for ($i = 0; $i < 10; $i++) {


print "$i squared is " . $i * $i .
".\n";
} PHP

bool (Boolean) type
34

$feels_like_summer = FALSE;
$php_is_great = TRUE;
$student_count = 7;
$nonzero = (bool) $student_count; #
TRUE
PHP

CS380

bool (Boolean) type
35

дараах утгуудыг ХУДАЛ гэж үзнэ (бусад бүх утга нь


ҮНЭН):
0 ба 0.0 (гэхдээ 0.00 эсвэл 0.000 биш)
"", "0" болон NULL (тогтоогдоогүй хувьсагчдыг
оруулсан)
0 элемент бүхий массивууд
FALSE хоосон мөр хэлбэрээр хэвлэнэ (гаралт
байхгүй); TRUE нь 1 гэж хэвлэнэ

if/else statement
36

if (condition) {
statements;
} elseif (condition) {
statements;
} else {
statements;
}
PHP

while loop (same as Java)
37

while (condition) {
statements;
} PHP
do {
statements;
} while (condition);
PHP

Math operations
38

$a = 3;
$b = 4;
$c = sqrt(pow($a, 2) + pow($b, 2));
PHP
math functions
abs ceil cos floor log log10 max
min pow rand round sin sqrt tan
math constants
M_PI M_E M_LN2

Int and Float Types
$a = 7 / 2; # float: 3.5
$b = (int) $a; # int: 3
$c = round($a); # float: 4.0
$d = "123"; # string: "123"
$e = (int) $d; # int: 123
PHP
бүхэл тоон хувьд int, реалын хувьд float
хоёр int утгыг хуваах нь хөвөгчийг үүсгэж болно
XAMPP Installation
40

Windows-тэй суулгах:
XAMPP вэбсайт руу ороод XAMPP Windows-ийг
сонгоно уу. https://www.apachefriends.org/download.html
Хамгийн сүүлийн үеийн хувилбарыг сонгоод
суулгагч файл дээр дарж татаж авч эхэлнэ.
Windows-д зориулсан XAMPP нь гурван өөр
хувилбараар суулгах боломжтой

XAMPP Installation
41

Install: XAMPP-г суулгах хамгийн тохиромжтой арга


байж магадгүй.
ZIP : XAMPP нь энгийн ZIP архив юм.
7zip : XAMPP 7zip архив хэлбэрээр.

XAMPP Installation
42

Суулгагчийн хувилбарыг ашиглах нь XAMPP суулгах


хамгийн хялбар арга юм.

XAMPP Installation
43

Суулгац дууссаны дараа XAMPP хяналтын


самбарыг ашиглан бүх серверийг эхлүүлэх/
зогсоох, мөн үйлчилгээг суулгах/устгах
боломжтой.

XAMPP Installation
44

Apache, MySQL, FilaZilla & Mercury-д зориулсан XAMPP


хяналтын самбар эсвэл эдгээр серверийг
үйлчилгээ болгон суулгана уу.

Testing XAMPP:
45

Apache (болон MySQL)-ийг ажиллуулсны дараа


http://localhost/Apac he (болон MySQL)-ийг
эхлүүлсний дараа http://localhost/ эсвэл http://
127.0.0.1/ хаяг руу орж хөтчөөсөө орно. X
AMPP-ийн бүх жишээ, хэрэгслийг шалгана уу.

Анхаарал хандуулсан
та бүхэнд баярлалаа
Асуулт?
Цахим шуудан:
tuvshinbayar@must.edu.mn

You might also like