Web-технологияныњ ±ѓымдары


Үй беті     CSS демонстрациясы         Үй беті



жүктеу 1,07 Mb.
бет2/2
Дата25.11.2017
өлшемі1,07 Mb.
#1368
түріКонспект
1   2

Үй беті

   
CSS демонстрациясы

 

 



   

Үй беті

   
CSS демонстрациясы

 

Құжаттың мазмұны



тегіне орналастыру керек:

 

 

Ескерту Оқиғаны өндеуші – бұл оқиға суреттелетін және пайда болу нәтижесінде кейбір әрекет орындалатын, мысалы, орындалуға JavaScript функциясы енгізілетін,  код фрагменті.

Егер сіз файлды сақтап, браузер ішінде ашсаңыз, онда сіздің функцияңыз тышқанмен беттің кез-келген жерінде шерткеннен кейін орындалатынын көресіз.

 

HTML-бетте кодтың орналысуы. JavaScript-тің URL-схемасы. Ауыспалар. SCRIPT контейнері. Қасиеттері. Әдістер. Оқиға. HTML-құжаттің ішінде кодты орналастыру.
Объект - бұл JavaScript-тің кілтті, маңызды мәлімет типі. Кез-келген басқа мәлімет типінде wrapper объектілі "орама" бар. Бұл  кез-келген типті айнымалысының мәніне рұқсат алар алдында айнымалының объектіге конвертациясы өтіп, одан соң ғана мән үстіне амал қолданады. Object мәлімет типі объектілерді өзі-ақ анықтайды.

Осы бөлімде біз негізгі үш мәселеде тоқтаймыз:

        объект түсінігі

        объект прототипі

        Object объектінің әдістері

Біз осы барлық мәселелерге айқынырақ тоқталмаймыз, себебі браузер жағында программалаған кезде көптеген жағдайда JavaScript-тің кірістірілген құралдарын қолданады. Ал бұл құралдардың барлығы объект болып табылғандықтан, олардың не екенін түсінуіміз керек.



Объект түсінігі

Белгілілік үшін ең алдымен ықтиярлы, объекті тұтынушымен анықталған   мысалын қарастырып, кейін оның не екенін анықтайық:

function Rectangle(a,b,c,d)
{
this.x0 = a;
this.y0 = b;
this.x1 = c;
this.y1 = d;
this.area = new Function("return Math.abs(this.x0-this.x1)*Math.abs(this.y0-this.y1)");
this.perimeter = new Function("return (Math.abs(this.x0-this.x1)+Math.abs(this.y0-this.y1))*2");
}
c = new Rectangle(0,0,100,100);
document.write(c.area());

Орындалу нәтижесі:

10000

Бұл мысал функция конструкторын қолдану иллюстрациясы үшін "Функция" бөлімінде көрсетілген. Мұнда біз бұл мысалды жалпы контекстте қарастырамыз.



Rectangle() функциясы – бұл тұтынушымен анықталатын Rectangle классының объектісінің конструкторы. Конструктор берілген класстың реалды объект құруға мүмкіндік береді. Себебі, функция –  бұлкейбір амалдардың сипаттамасынан артық емес. Бұл амалдар орындалу үшін функция меңгеруін беріп жіберу керек. Біздің мысалымызда бұл new операторы арқылы істелінеді. Ол функцияны шақыру арқылы реалды объект құрайды.

Төрт айнымалы құрылады: x0,y0,x1,y1 – бұл Rectangle объектісінің қасиетері. Оларға тек берілген класс объектісінің контектінде ғана рұқсат алуға болады. Мысалы,:

up_left_x = c.x0;
up_left_y = c.y0;

Қасиеттерден басқа біз конструктор ішінде Function() типті екі объектіні JavaScript тілінің area мен perimeter кірістірілген  конструкторларын қолданып анықтадық. Бұл берілген класс объектісінің әдістері. Бұл функцияларды Rectangle класс объектісінің контексінде ғана шақыруға болады:

sq = c.area();
length = c.perimeter();

Сонымен, объект – бұл тек қана конструктор арқылы берілген класс объектісін құрып, оның контексін қолдану арқылы рұқсат алуға болатын қасиеттер мен әдістер жиынтығы.

Іс жүзінде программистпен құрылған объектілермен жұмыс істеу кездейсоқ жағдай. Себебі, объект белгілі бетте анықталатын функция – конструктор арқылы құрылады, яғни бұл беттің ішінде құрылғанның барлығы басқа беттерге мұрагер болып қалады.

Әдетте біз JavaScript-тің құрама объектілерімен жұмыс істейміз. Яғни, курсттың басқа бөлімдерінде көрсетілгеннің барлығы – бұл құрама объектілердің  қасиеттері мен әдістеріне жүгіну. Бұл мағынада prototype атты объектілер қасиеттері өте қызық. Прототип – бұл белгілі класс объектісі конструкторының басқа атауы. Мысалы, егер біз String класс объектісіне әдіс қосқымыз келсе:

String.prototype.out = new Function("a","a.write(this)");
...
"Салем, достар".out(document);

Салем, достар

String класс объектілеріне жаңа әдіс жариялау үшін біз Function конструкторын қолдандық. Аз ғана өзгешелік бар: жаңа әдістер мен қасиеттерге объект прототипы өзгертілгеннен кейін ғана пайда болған объектілер ғана ие бола алады. Барлық құрама объектілер JavaScript программа меңгеру алғанға дейін құрылады, бұл prototype қасиеттерінің қолдануын айтарлықтай шектейді.  

Сонда да құрама JavaScript класс объектісіне қалайша әдіс қосуға болатынын көрсетейік. Мысал ретінде кірістірілген аталған Image бола алады. Мәселе URL суреттерін Link класс объектісінің URL сияқты талдау:

function prot()
{
a = this.src.split(':');
protocol = a[0]+":";
return protocol;
}
function host()
{
a = this.src.split(':');
path = a[1].split('/');
return path[2];
}
function pathname()
{
a = this.src.split(':');
path = a[1].split('/');
b = new Array();
for(i=3;i c = b.join('/');
return "/"+c;
}
Image.prototype.protocol = prot;
Image.prototype.host = host;
Image.prototype.pathname = pathname;
...
document.write("
");
document.write(document.i1.src+"
");
document.write(document.i1.protocol()+"
");
document.write(document.i1.host()+"
");
document.write(document.i1.pathname()+"
");

Мұндағы негізгі идея – конструкторды қолданудан бұрын қайтадан анықтау. HTML-parser JavaScript-интерпретаторын асқындырар алдында HTML-ді башайлап, кірістірілген объектілерді ертерек құрайды. Бұдан беттегі объектіні  JavaScript-код арқылы тудыру керек екендігі көруге болады. Бұл жағдайда  ең алдымен Image объектісінің қайтадан анықталуы, ал кейін бұл класстың кірістірілген объектісі құрылады. Explorer –мен жұмыс істегенде бәрі нашарлау. Егер жол объектісінде prototype қасиетіне ол ұрыспаса, Image үшін мұндай қасиет анықталмаған.

 

Программалау объектілері ретіндегі HTML-контейнерлері



 

JavaScript-тің негізгі идеясы тұтынушымен HTML– контейнерлері атрибуттарының мәндері мен HTML–бетін көру процессінде орта көрсетілуінің қасиеттерін өзгерту мүмкіндігі. Бұл жағдайда қайтадан тиеу орындалады.

Іс жүзінде бұл, мысалы, бет фонының түсін өзгерту, жаңа терезе ашу немесе ескертуді шығару.

Объектілер

Бұл идеяны іске асыру үшін құжаттың объектілі моделі ұсынылды. Модель мәні - әрбір HTML-контейнер - бұл үштікпен сипатталатын объект:

        қасиеттер

        әдістер

        оқиғалар

Қасиеттер, әдістер мен оқиғалар бірдей жиынтықты объектілер біртипті объектілер класына бірігеді. Кластар –  бұл мүмкін болатын объектілер сипаттамасы. Объектлердің өздері құжаттың браузермен енгізілуінен кейін немесе программа жұмысының нәтижесі ретінде пайда болады. Бұл туралы жоқ объектіге ықылас білдірмеу үшін білу керек.

Қасиеттер

Көптеген HTML– контейнерлерде атрибуттар бар. Мысалы якорь контейнерінде оны гипермәтінді сілтемеге айналдыратын href атрибуты бар:

kuku


егер ... якорь контейнерін объект ретінде қарастырсақ, href атрибуты якорь объектісінің қасиетін береді. Программист атрибут мәнін, сәйкесінше объект қасиетін өзгерте алады:

document.links[0].href="kuku1.htm";

Барлық атрибуттардың мәндерін өзгертуге болмайды. Мысалы, графикалық суреттің ені мен биіктігі бет тиелу кезінде бірінші тиелген сурет бойынша анықталады. Қалған суреттердің барлығы, оның алдында масштабталады. Microsoft Internet Explorer-де сурет өлшемін өзгерте алады.

Суреттің жалпылығы үшін JavaScript –тегі объектілердің HTML– белгісінде аналогы жоқ қасиеттері бар. Мысалы, navigator объектісі немесе браузер терезесі деп аталатын және JavaScript-тің ең үлкен объектісі саналатын орындалу ортасы.

Әдістер

JavaScript терминологиясында объект әдісі функция қасиеттерінің өзгеруін анықтайды. Мысалы, құжат объектісімен open(), write(), close() қасиеттері байланысты. Бұл әдістер құжат мазмұнын өзгертуге және генерациялауға мүмкіндік береді:

function hello()
{ id=window.open("","example","width=400,height=150");
id.focus(); id.document.open();
id.document.write("

Hello JavaScript

");
id.document.write("
");
id.document.write(""); id.document.close();
}

Бұл мысалда open() әдісі құжатқа жазу ағынын ашады , write() әдісі бұл жазуды жүзеге асырады, close() әдісі құжатқа жазу ағынын жабады. Барлығы, қарапайым файлға жазғандай болады. Егер терезеде статус өрісі (әдетте онда құжат енгізілу пайызы көрсетіледі) болса, онда  құжатқа жазудың жабылмаған ағынында құжат енгізген кездегідей жазуды жалғастыру тікбұрышы "секірмейді".  

Оқиғалар

Әдістер мен қасиеттерден басқа объектіде олармен бола алатын оқиғалар бар. JavaScript-тегі программалау мәні - бұл оқиғаларды өндеушілерді жазу.  Мысалы, button (button - "батырма" типті INPUT контейнері) типті объектімен "Click" оқиғасы бола алады, яғни батырманы басуға болады. Ол үшін INPUT контейнерінің атрибуттары оқиғаны өндеу атрибуты Click –  onClick-пен  кеңейтілген. Бұл атрибуттың мәні ретінде оқиғаны өндеу программасы көрсетіледі. Мұны JavaScript тілінде HTML– құжатының авторы жазу керек:



Оқиға өндеушілері бұл оқиғаға байланысты контейнерлерде көрсетіледі. Мысалы, BODY контейнері бүкіл құжаттың қасиетін анықтайды, сондықтан бұл контейнерде onLoad атрибуты барлық құжаттың енгізу аяқталуын оқиға өндеуші  көрсетіледі.

Object объектісінің әдістері

Object - бұл объект, сәйкесінше, онда амалдар болуы мүмкін. Сондай амалдардың үшеуін қарастырайық: toString(), valueOf() и assign().

toString() әдісі объектінің символ жолына ауыстырылуын жүзеге асырады. Ол JavaScript программаларының барлығында айқын емес қолданылады. Мысалы, сан немесе жол объектілерін шығару кезінде. Мына функцияларға toString() қолданылуы:

document.write(prot.toString()+"


");

Орындалу нәтижесі:


function prot() { a = this.src.split(':'); protocol = a[0]+":"; return protocol; }

Мұнда біз прототип мысалындағы prot() функциясын қолданыламыз. Егер Image объектісін осылайша басып шығарсақ, онда келесі нәтижені аламыз:

сурет:[object]

Осылайша, toString() әдісі объект мазмұнының жол эквивалентін барлық жағдайларда қайтармайды. Ол тек қана оның типін қайтарады. Бұл жағдайда Ехplorer "Object" –ті, ал Navigator - "object Image"-ді жай ғана қайтарады.

Сәйкесінше, valueOf() әдісі . Бұл әдіс объектінің мәнін алуға мүмкіндік береді. Көптеген жағдайларда toString() әдісіне сәйкес жұмыс істейді. Әсіресе, егер мәнді бетке шығару керек болса:

document.write(prot.valueOf()+"


");

Орындалу нәтижесі:


function prot() { a = this.src.split(':'); protocol = a[0]+":"; return protocol; }

Көретініміздей нәтиже toString() әдісіндегідей.

 

Алдындағы екі әдістерден гөрі assign() әдісі объектінің қасиеттері мен әдістерін оқуға ғана емес, қайта тағайындауға мүмкіндік береді. Бұл әдіс объектіге белгілі мәнді беруде қолданылады:



object = value; <=> object.assign(value);

Мысалды қарастырайық:



c = new Image();
c.src = "../images/jsi/rept1s.gif";
b =new Image();
b.src = "../images/jsi/rept1g.gif";
Image.prototype.assign = new Function("a","this.src = a.src;");
...
Суретті бояу



        Суретті бояу  

        Суретті түссіздендіру



 

Бұл мысалда біз assign() әдісін JavaScript-кодының ішінде емес,  қарапайым HTML –белгісінде қолданамыз. Әдісті қолданар алдында біз оны өз функциямыз етіп қайта анықтадық. Explorer  қолданушысын бұл жерде біз оларды сәл алдағанымызды хабарландыруымыз керек, өйткені бұл жағдайда біз Image прототипін Explorer-ға қайта тағайындауымыз мүмкін емес.


Тақырып 3.5 PHP технологиясы

PHP технологиясы. Сілтемелер. Өрнектер. PHP операциялары. PHP функцииялары.


PHP. 3.0 версияның PHP – HTML-ге кірістірілген, серверде орындалатын сценарийлерді жазу тілі. PHP3.0-дің ең маңызды мүмкіндіктердің бірі – мәліметтер қорымен интеграция деңгейі. PHP-ді 1994 ж. аяғында Расмус Ледорф (Rasmus Lerdorf) ойлап шығарды. 1997 ж. таман тілдің синтаксикалық анализаторы Зев Сураски (Zeev Suraski) мен Анди Гутманс(Andi Gutmans)-пен қайтадан жазылды, және ол 3.0 версияның PHP тілінң негізі болды. Қазір осы тіл көптеген сайттарда қолданылады және коммерциялық өнімдер ретінде таратылады.

Тегтер:


1.
2.

Это синоним для ""

3.
4. <% echo ("Вы можете по выбору использовать теги в стиле ASP"); %>

<%= $variable; # Это синоним для "<% echo . . ." %>
PHP операциялары. PHP функцииялары.
Технология CGI позволяет создавать серверные приложения любой сложности, без ограничения возможностей программ CGI. Однако данная технология обладает рядом недостатков.


  1. При получении данных от клиента приложению приходится производить сложный разбор строки параметров запроса. Задача усложняется, если в запросе присутствуют строки в национальной кодировке.

  2. Содержимое документа HTML формируется приложением CGI. При изменении дизайна приходится осуществлять перекомпиляцию приложения.

  3. Приложения CGI, использующие интерфейс прикладных программ (API) локальной операционной системы сервера, плохо переносимы.

Одним из вариантов решения приведенных проблем является использование технологии PHP для динамического формирования документов HTML на стороне сервера. Технология PHP является технологией стороны сервера. Аббревиатура PHP раскрывается рекурсивно: "PHP: Hypertext Preprocessor". Основными сферами применения данной технологии являются создание серверных приложений и интерфейсов к базам данных.

Приложения PHP встраиваются в документы HTML в качестве сценариев, подобно сценариям JavaScript, однако, в отличие от JavaScript, сценарии PHP выполняются не пользовательским агентом, а специальной программой – проигрывателем сценариев PHP, которая является приложением CGI и запускается сервером. Пользовательский агент получает результат выполнения запрошенного им сценария и не видит кода самого сценария. Документ HTML, содержащий сценарий PHP, как правило, имеет специальное расширение, например, php3 или phtml. При получении запроса такого документа сервер выполняет следующие действия:



  1. Запрашивает локальную операционную систему о типе файла php3 или phtml.

  2. Получив ответ, что данный файл является сценарием и путь к программе, выполняющей подобные сценарии, запускает проигрыватель сценариев, указав запрошенное пользователем имя файла в качестве параметра запуска.

  3. П
    роигрыватель сценариев PHP анализирует содержимое документа, выполняя инструкции PHP и передавая остальное содержимое клиенту без изменений.

На рис. 3 приведено взаимодействие различных компонентов при запросе клиентом сценариев PHP.

Инструкции PHP внутри документа html располагаются внутри специальных скобок, состоящих из последовательностей символов "" или "". Можно также для включения сценариев PHP использовать элемент SCRIPT с атрибутом language, имеющим значение "php". Текст, находящийся вне специальных скобок, и называемый статической частью документа, проигрывателем сценариев PHP не анализируется и передается клиенту без изменений. Фактически, статическая часть является шаблоном документа HTML.

Синтаксис языка сценариев PHP похож на синтаксис языков программирования C, C++, Java. Сценарий PHP представляет собой оператор PHP или последовательность операторов PHP, разделенных символами ";".

Основными объектами языка сценариев PHP являются переменные, выражения, операторы и функции.

Переменные в PHP не имеют типа. Тип переменной определяется хранимым в данной переменной значением. Тип переменной динамически изменяется в зависимости от контекста. В PHP различаются следующие типы:

целый - integer;

действительный - double;

строковый - string;

массив - array;

объект - object.

Преобразование типов осуществляется неявно, например, при подстановке переменных в качестве параметров функций, или явно, при указании типа, к которому нужно преобразовать значение переменной, перед именем.

Переменные различаются по именам. Имя переменной в PHP начинается с символа "$". Для определения переменной нужно присвоить ей значение при помощи операции присваивания. Способы создания нового значения переменной отличаются для различных типов.

Переменной скалярного типа (integer, double, string) можно присвоить в качестве значения соответствующую константу.

Массивы в PHP являются не набором переменных, а переменными некоторого определенного типа array. В языке сценариев PHP массивы ассоциативны. Это означает, что индексом массива может являться не только число, но и строка. Индекс ассоциативного массива называется ключом. Новый массив может быть создан либо при создании элемента массива, либо при помощи вызова array. Для создания нового элемента массива нужно при присваивании значения переменной после имени указать ключ в квадратных скобках. При этом имя переменной будет именем созданного массива, а значение в квадратных скобках – ключом для получения доступа к значению созданного элемента массива. В PHP массивы являются динамическими. При присваивании значения элементу массива проверяется, существует ли уже в массиве элемент с заданным ключом. Если существует, то его значение заменяется на новое. В противном случае создается новый элемент массива. Все элементы массива объединены в двусвязный список. В массиве имеется внутренний указатель текущего элемента. Имеется возможность просмотреть текущее значение указателя, а также переместить указатель на предыдущий или последующий элемент в списке, а также на начальный или конечный элементы списка. Таким образом, можно осуществить последовательный доступ к каждому элементу массива. Для элементов массива с целочисленными ключами ведется счетчик индексов. Значением счетчика является увеличенное на единицу максимальное в массиве значение целочисленного ключа (индекса). Если массив не содержит элементов с целочисленными ключами, то счетчик индексов имеет нулевое значение. Если при присваивании значения элементу массива не указывать ключа в квадратных скобках, то ключом для нового элемента будет значение счетчика индексов, который после создания нового элемента увеличится на единицу. Данная возможность позволяет добавлять в конец массива элементы с последовательными индексами.

Для создания массива с несколькими начальными элементами используется ключевое слово array, после которого в круглых скобках перечисляются присваиваемые элементам массива значения. В качестве ключей элементов используется счетчик индексов. Такое назначение ключей по умолчанию можно изменить при помощи операции "=>". Данная операция применяется в следующем виде:

ключ => значение

Если в списке значений array встречается подобная операция, то очередному элементу массива будет присвоен указанный ключ. Данная возможность используется для создания массивов со строковыми ключами, а также для пропуска значений целочисленных ключей (индексов).

Объекты в PHP служат для поддержки объектного программирования. Для создания нового объекта используется вызов new.

Переменным любого типа можно присваивать в качестве значения другие переменные, а также значения, возвращаемые функциями и методами объектов.

В PHP можно создавать ссылки на переменные. Ссылка – это имя переменной, отличное от заданного при определении. Для создания ссылки нужно определить переменную, значением которой будет имя ссылки. Если теперь присвоить значение переменной, в которой хранится имя ссылки, указав перед именем переменной двойной символ "$$", то будет создана ссылка, к которой можно обращаться по имени как к обычной переменной. При одновременной работе со ссылками и массивами возникает неопределенность, связанная с приоритетами символов "$" и квадратных скобок. Для разрешения данной неопределенности можно использовать фигурные скобки как символы явного определения приоритетов.

При выполнении сценария PHP интерпретатор определяет ряд переменных, связанных с параметрами сервера, протокола HTTP, самого интерпретатора, а также полученным запросом. Каждый орган управления формы, содержащийся в документе HTML, имеет атрибуты name и value. При разборе полученного от клиента запроса интерпретатор PHP создает переменные, именами которых являются значения атрибутов name, а значениями – значения атрибутов value соответствующих органов управления. Это упрощает разбор форм в сценариях PHP.

Важным понятием языка интерпретатора PHP является понятие выражения. Выражение – это константа, переменная или составленная из них при помощи операций конструкция. Выражение может быть составной частью более сложного выражения. Каждое выражение имеет значение, которое называется значением выражения. Значением операции является ее результат. Тип значения выражения зависит от типов входящих в выражение переменных и констант, а также от операций.



Помимо типов, которые могут иметь переменные, значения выражений могут быть булевого типа. Выражения булевого типа могут принимать только значения FALSE или TRUE. Значения булевого типа не могут быть присвоены переменным, но иногда подставляются в функции и операторы. При подстановке переменных вместо булевых выражений происходит преобразование типа переменной к булевому. Для целых чисел значение FALSE имеет только 0, для строк – строки "" и "0". Операции языка интерпретатора PHP приведены в табл. 10.

Операции PHP

Знак

Операция

Арифметические

+

Сложение



Вычитание

*

Умножение

/

Деление

%

Остаток от деления

Строковые

.

Конкатенация строк

Присваивание

=

Обычное присваивание

+=

Присваивание со сложением

–=

Присваивание с вычитанием

*=

Присваивание с умножением

/=

Присваивание с делением

%=

Присваивание с получением остатка

.=

Присваивание с конкатенацией

Побитовые

&

Побитовое умножение (И)

|

Побитовое сложение (ИЛИ)

~

Побитовое отрицание (НЕ)

Окончание табл. 10

Знак

Операция

Логические

and

Логическое И

or

Логическое ИЛИ

xor

Логическое исключающее ИЛИ

!

Логическое отрицание

&&

Логическое И

||

Логическое ИЛИ

Сравнение

==

Равно

!=

Не равно

<

Меньше

>

Больше

<=

Меньше или равно (не больше)

>=

Больше или равно (не меньше)




PHP Операторлар

Синтаксис

Оператор

if (cond1) {...}

elseif (cond2) {...}

...


else {...}

Ветвление

while (cond) {...}

Цикл с предусловием (цикл ПОКА)

do {...} while (cond)

Цикл с постусловием (цикл ДО)

for (init; cond; expr) {...}

Цикл с предусловием

break

Безусловный переход на конец операторов while, do while, for и switch

continue

Безусловный переход на следующий цикл

switch (var) {

case val1: ...

case val2: ...

...


default: ...

}


Выбор

function name(parameters)

{...}


Определение функции

return val

Возврат значения

Функция - это именованный набор выражений, выполняющих определённую задачу. Чаще всего функции используются для многократного выполнения одной и той же последовательность действий, но над разными исходными данными и в разных местах скрипта.


Функции бывают пользовательские и системные. Пользовательские функции (как следует из названия) программист пишет самостоятельно. Системные функции всегда доступны из любого места скрипта и объявлять их не надо.
Пользоваться функциями очень просто. Объявляется функция следующим образом:

function mySampleFunction($parameter1, $parameter2)

{

// набор выражений (тело функции)



// return возвращаемое_значение

}

?>


Любая функция имеет имя, список параметров, тело функции и возвращаемые данные. Правила именования функций аналогичны правилам дя переменных. Параметры записываются в скобках через запятую, а если функции не требуются параметры - должны ставится пустные скобки "()". Любая функция должна возвращать какое-либо значение. Если в коде функции не встречается выражение return, то считается, что функция возвращает пустое значение. Немаловажный факт - в PHP тип возвращаемых данных заранее не определён. Поэтому одна функция может возвращать значения с различными типами данных в зависимости от входных параметров.

// Функция выводит сообщение пользователя с

// соответствующим описанием в зависимости от

// важности ($severity).

// Возвращает пустое значение

function showError($severity, $error)

{

switch($severity)



{

case 0:


echo 'Сообщение: ';

break;


case 1:

echo 'Предупреждение: ';

break;

case 2:


echo 'Ошибка: ';

break;


case 3:

echo 'Критическая ошибка: ';

break;

default:


echo 'Неизвестно: ';

break;


}

echo $error . "


\n";

}

?>


Теперь в любом месте скрипта можно написать

showError(0, 'Функция работает');

?>
и в браузер будет выведено

Сообщение: Функция работает


Рассмотрим более интересный вариант применения - функцию преобразования данных. Например, у нас есть список, содержащий полные имена, фамилии и отчества сотрудников. Нам для составления отчёта надо преобразовать полное ФИО к формату фамилии с инициалами, т.е. преобразовать "Иванов Александр Владимирович" в "Иванов А.В.".
Функция для преобразования будет выглядеть так:

/*

$f - фамилия

$i - имя

$o - отчество

*/

function convertFIO($f, $i, $o)



{

if(!isset($f) || !isset($i) || !isset($o))

return false;

// Присваиваем результату фамилию

$result = $f;

// добавляем первый символ имени и точку

$result .= substr($i, 0, 1) . '.';

// добавляем первый символ отчества и точку

$result .= substr($o, 0, 1) . '.';

// Позвращаем результат

return $result;

}
?>


а код для вызова функции будет выглядеть так:

// считываем данные из файла

$fulls = file('fullnames.txt');

$shorts = array();
// обрабатываем каждую строку исходного файла

foreach ($fulls as $value)

{

// разделяем строку на фамили, имя, отчество



list($f, $i, $o) = split(' ', $value);
// получаем сокращённую форму

$fio = convertFIO($f, $i, $o) . "\n";

// если функция не вернула false

// добавляем результат в выходной массив

if($fio)

$shorts []= $fio;

}
// сохраняем полученные данные в файл

file_put_contents('shortnames.txt', implode('', $sorts));


?>
При использовании функций необходимо помнить следующее:

В теле функции используются копии параметров, поэтому все изменения переменных будут потеряны привыходе из функции. Мы уже рассматривали такой пример при изучении областей видимости переменных.

Если параметр должен быть изменён в функции - необходимо передавать его по ссылке, т.е. в описании функции надо перед именем параметра добавить "&": function func($p1, &$p2) { }

В старых версиях PHP функция должна была быть объявлена до первого использования, но в PHP версии 4.3 и выше порядок объявления и использования функции может быть любым.


Как видите, использование функций позволяет существенно сократить код и повысить его читаемость. Кроме того, использование функций значительно облегчает отладку и совершенствование кода, т.к. все нужные выражения находятся в одном месте и не надо лопатить весь скрипт в поисках нужных участков. Кроме того, умение пользоваться функциями очень пригодится при изучении работы с классами в одном из следующих уроков.
Тақырып 3.6 Web-қосымшалардағы графика. Flash технологиясы

Macromedia flash бағдарламаның мүмкіндіктері. Flash-тың жұмыс ортасы. Кадр. Кілтті кадр. Графикамен және дыбыспен жұмыс. Қабаттармен жұмыс. Анимацияны жасау. Action script тілді қолдану. Action script құралдары арқылы қарапайым сценарийлерді құру. Flash-технологияны қолданып web-сайттардың элементтерін жасау. Flash-ті қолданып web-беттерді жасаудың негізгі бағыттары. Атаулар және бейнелер. Кірістегі бет басы. Санаушылар. Қонақ кітаптарі. Мәзір. Html-кодқа flash -элементтерді кірістіру.



Мультимедиялық Web-бет термині аудио мен видеоклиптерді пайдалануды білдіреді.

Аудиоклиптер- бұл дыбыс файлдары. Олар адамдарға ақпаратты тек көріп қана қоймай, оны естуге мүмкіндік береді. Аудиоклиптер сіз бетті қарағанша жеке ашылып ойнатылады.

Дыбыс файлдарының әр түрлі жазба әдістерін ұсынатын әр түрлі форматтары бар. Мысалы, WAV, MIDI,  MP3.

Internet-те аудиофайлдың кез келген түрін табуға болады.

        http:// sunsite. unc. edu / pub / multimedia / sun – sounds / movies / - мұнда фильдердегі клиптер мен музыка бар.

        http:// Web. msu. edu/ vincent/ index. html – Мұнда танымал адамдардың сөздері бар.

 

Аудиоклипті web- бетіне енгізу.



 

Ең қарапайым және танымал әдіс – бұл сілтеме тегін пайдалану.

Осы шартта дыбыс файлын ойнататын мультимедиялық ойнатқыш қосылады. Мысалы.

  Музыка тыңдайық

Басқа әдіс – < EMBED > тегін қолдану.

Мысалы. < EMBED SRC = “ LION. WAV “>.

Клиптің басқару панелінің биіктігі мен енін беруге болады. Тұрақты Height = 60, Widht = 140.

Егер AUTOSTART = TRUE параметрін орнатса, онда аудиоклип автоматты түрде қосылғаннан кейін бірден ойнай бастайды. Егер  AUTOSTART = False  тұтынушы басқару панеліндегі Play батырмасын басуы керек.

Мысалы.

Егер LOOP = TRUE параметрін орнатса, онда клип көп рет ойнатылады.

Егер LOOP = FALSE, онда клип бір рет ойнатылады.

Егер LOOP = 3, онда  клип үш рет ойнатылады.

Егер HIDDEN = TRUE параметрін орнатса, онда панель көрсетілмейді.

Дыбыс файлын тегімен енгізуге болады. Бұл жағдайда ойнатқыш экранда көрсетілмейді.

Мысалы. .

Ойнау санын LOOP параметрімен беруге болады.

Мысалы, LOOP = 5.

midi- файлдарын ойнату үшін

 

Егер LOOP = -1, онда файл бет ашық тұрғанша дейін ойнай береді.

 

Видеоклиптерді енгізу.



 

Видеоклип – бұл қозғалатын суреттер пен дыбыстар үндестігі. Видеоклиптер олардың Web-беттерінде қолданылуын қиындататын өте үлкен ауқымды.

2 мегабайтты файлды 28,8 бод жылдамдықта іске қосуға 10 – 20 минут кетеді.

Видеоның негізгі үш форматы бар:AVI, QT, MPEG.

Видеоклиптерді Web – бетіне енгізу үшін тегін пайдалануға болады. Мысалы:

< A HREF = “welcome. avi”> welcome to my home page .

AVI- файлдарын ойнату үшін тегін қолдануға болады.

Мысалы

AutoStart = yes параметрін клиптің автоқосылуы үшін береді.

Егер LOOP =True, онда көп рет ойнатылады. Егер LOOP =False, онда бір рет ойнатылады. HIDDEN = TRUE параметрі ойнатқышты көрсетпейді.

Видеоклипті DynSRC атрибуты бар тегі арқылы енгізуге болады.

Мысалы:

Алдымен Internet Explorer andy.gif графикалық файлын қосады.

Одан кейін andy.avi видеофайлын қосып ойнатады.

 Видео и аудио файлдары әр түрлі форматтарды қолдана алады: әдеттегі мен ағындық. Әдеттегі форматтар файлдың ойнатылуы мүмкін болғанша дейін оның толық іске қосуын талап етеді. Ағындық форматтар дыбыс пен видеоны деректердің енгізілуі кезінде нақты уақытта ойнатуға рұқсат етеді. Мысалы, "Серебряный дождь" (www.silver.ru) радиостанциясы осы форматта жұмыс істейді.

 

Анимациялық сурет жасау


 

Анимациялық суреттер Web-беттерін ажарлы етеді. Анимациядағы керемет нәтижелерге Macromedia Flash 5 программасымен жетуге болады. Бірақ ондай программаны зерттеп білуге жеке бос уақыт қажет. Көптеген дайын анимациялық суреттерді Интернеттен табуға болады.

Бір дискетке сыйып, үйренуге көп уақыт керек етпейтін Animagic GIF программасын қарастырайық.

Алдымен нәтиже файлы тұратын сурет-кадрларын жасау керек. Суреттерді кез келген графикалық редакторында жасап GIF кеңейтілуімен сақтау қажет. Animagic программа менюсының негізгі пункттерін қарастырайық.


Одним из основных отличий Macromedia Flash от всех остальных существующих ныне web-технологий является то, что это единственный стандарт, позволяющий работать не только с растровой графикой, но и с векторной. Помимо этого текст импортируется в среду Flash не как растровое изображение, а именно как текст, в котором один символ кодируется одним байтом информации, что является серьезным оружием в борьбе с излишним объемом результирующих файлов. Немаловажно, что во Flash имеется возможность воспроизведения музыки и звуков в формате МРЗ.

В среду Flash интегрирован специальный язык программирования, немного похожий на Java, но более простой в изучении. Написанные с его помощью программные модули импортируются в документ как апплеты и вставляются в нужный кадр анимации, где должно произойти динамическое изменение изображения. С помощью специального редактора можно написать небольшую программку, управляющую проигрыванием клипа, создать элементы, поддающиеся индивидуальным настройкам посетителями сайта, генерировать заставку с несколькими вариантами продолжения. Способов реализации этой возможности существует множество, но все-таки, чтобы использовать всю мощь встроенного языка, необходимо иметь определенный опыт в программировании. Механизм технологии Macromedia Flash достаточно прост: в общем случае подготовленные разработчиком интерактивные элементы и анимация превращаются в интерпретируемый код, который импортируется в страницу HTML. Для того чтобы клиентский браузер мог распознать объекты Flash, необходимо проинсталлировать на компьютере пользователя специальную надстройку к браузеру (plug-in), которая носит название Macromedia Flash Player. Эта про- грамма распространяется бесплатно фирмой-разработчиком данной технологии. Пользовательский браузер, сталкиваясь с документом в формате Flash, как правило, сам связывается с соответствующим узлом, после чего начинает загрузку и установку Flash Player в автоматическом режиме. Проигрыватель Flash уже интегрирован в броузеры Microsoft Internet Explorer 4.0-5.0 иNetscape Navigator версии 4.01 и выше. Другие браузеры, к сожалению, не умеют распознавать данный стандарт, в чем и заключается его основной недостаток.

Существует своего рода типовая физическая структура, которой более или менее строго придерживаются все Web-дизайнеры. Она представлена в следующем листинге. Имена папок отличаются от имен файлов тем, что первые не имеют расширения. В квадратных скобках дается необязательный текст.

Корневая папка вашего сайта>

default.htm{домашняя страница}

download[s]

programl.exe

program2.zip

somefile.rar

html[s]


pagel.htm

page2. html

media

filml.avi



film2.swf

backgroundsound.mid

pic[s]

picturel.gif



picture2.jpg

Вот такая структура. Как видите, файлы, в основном, организованы по типу: Web-страницы — в одной папке, графические файлы — в другой, муль­тимедийные — в третьей и т. д.



Корневой называется папка, в которой помещается ваш сайт. В папке download[s] находятся файлы, не являющиеся ни Web-страницами, ни изображениями, ни мультимедийными данными. Это могут быть программы, файлы данных, архивные файлы и пр. Когда пользователь щелкает на гиперссылке, указывающей на такой файл, Web-обозреватель предлагает открыть его или сохранить на диске для последующего открытия. В любом случае, сам Web-обозреватель такие файлы не обрабатывает. В папке html[s] помещаются сами Web-страницы. В папке media находятся все мультимедийные файлы, используемые на страницах. Это фильмы в форматах AVI, Macromedia Flash и др., фоновая музыка в формате WAV, MIDI и т. п. В папке pic[s] располагаются все графические изображения.
Қолданылатын әдебиеттер

  1. Бидайбеков Е.Ы., Біләлов Ш., Григорьев С.Г. Ақпараттану атаулары: ағылшынша-орысша-қазақша атаулар. – Алматы: Білім, 1998 –224 б.

  2. Ж.К. Нұрбекова, А.З. Даутова, Т.К. Койбагарова. Орысша-қазақша түсіндірме сөздік. Павлодар, 2002, -44 б.

  3. Шиндер Д.Л. Основы компьютерных сетей.:Пер. с англ. – М.:Вильямс, 2003 – 651с.

  4. Крейнак Д., Хебрейкен Д. Интернет. Энциклопедия. – СПб.: Питер, 2000. – 555с.

  5. Максимов Н.В. Попов И.И. Компьютерные сети: Учеб.пособие. – М.: Форум: Инфра – М,2003. – 336с.

  6. Матросов А.В. и др. HTML 4.0/Матросов А.В., Сергеев А.О., Чаунин М.П. – СПб.:БХВ – Санкт-Петербург, 2000 – 272с.:ил.

  7. Кассем Н. Разработка бизнес-приложений с помощью Java 2/Николас Кассем. – М.:Лори, 2003. – 284с.

  8. Вейтман В. Программирование для Web: Уч.Пособие – М.:Вильямс, 2000. – 368с.

  9. Шварц Р., Кристиансен Т. Изучаем Perl/Пер с англ.С.М.Тимачева. – Киев: BHV, 1999. – 319с.

  10. Маршал Б. XML в действии – М.:Триумф, 2002. – 365с.

  11. Библиотека программиста Java: Попурри:CD Прил. к кн.К.Джамса. Библиотека программиста Java.

  12. Защита и хранение данных: Лучшие продукты для Java: CD.Прил. к журналу «КомпьютерПресс» - 2000, №7.

  13. Программирование в среде Java: CD – M.: Delta-MM Corp, 2003.

  14. Программирование на Perl: CD. - M.: Delta – MM Corp, 2001.

  15. XML в действии: CD. Прил. к кн.Маршала Б. XML в действии.

  16. Программирование на VCL: CD. M.: Delta – MM Corp, 2002.

  17. Интернет и WWW: Более 250 программ. CD – 2000. Прил. к журналу «КомпьютерПресс» - 2000, №2

  18. Интернет-технологии:CD -2000. Прил. к журналу «КомпьютерПресс», - 2001, №6.

  19. Мир Интернет: CD.Прил. к журналу «КомпьютерПресс», - 2004, №2.

  20. Web-дизайн и программирование: CD. Прил. к журналу «КомпьютерПресс», 1999, №5.

Қосымша деректер:

  1. CD-диск “Интерентте программалау” пәнінің электрондық қамтамасыздандырылуы/Электронное сопровождение дисциплины “Программирование в Интернет”

  2. М.Mельников. JavaScript и объектная модель/cherry-design@mail.ruАлексей Моховой. Visual Basic Script. Основы программирования// www.midi.ru

  3. Джон Остераут. Сценарии: высокоуровневое программирование для XXI века/ouster@scriptics.com

  4. Сергей Верязов. Обзор технологии Active Server Pages (ASP) /http://www.ci.ru "Компьютер-Информ"17.09.2001

  5. Информация о CSS на сайте http://www.w3c.org/style/.  

  6. Таблицы совместимости элементов CSS с различными браузерами по адресу http://style.webreview.com

  7. Конференция по CGI RU.CGI.PERL

жүктеу 1,07 Mb.

Достарыңызбен бөлісу:
1   2




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау