Годината, в която се появи езикът за програмиране php. PHP език за манекени: история на появата, ключови характеристики

Последна актуализация: 20.10.2017

Днес PHP е най-разпространеният език за уеб програмиране. По-голямата част от сайтовете и уеб услугите в Интернет са написани с помощта на PHP. Според някои оценки PHP се използва в повече от 80% от уебсайтовете, включително услуги като facebook.com, vk.com, baidu.com и други. И такава популярност не е изненадваща. Опростеността на езика ви позволява бързо и лесно да създавате уебсайтове и портали с различна сложност.

PHP е създаден през 1994 г. от датския програмист Rasmus Lerdorf и първоначално е набор от скриптове на друг език, Perl. По-късно този набор от скриптове беше пренаписан в интерпретатор на езика C. И от създаването си PHP (съкращение от PHP: Hypertext Preprocessor) е удобен набор от инструменти за опростяване на създаването на уебсайтове и уеб приложения.

Какви предимства предлага PHP?

    Всички най-разпространени операционни системи (Windows, MacOS, Linux) имат свои собствени версии на PHP пакети за разработка, което означава, че можете да създавате уебсайтове на всяка от тези операционни системи.

    PHP може да работи заедно с различни уеб сървъри: Apache, Nginx, IIS

    Простота и лекота на учене. Като правило, вече имайки малък опит в програмирането на PHP, можете да създавате прости уебсайтове

    PHP е подобен на езика C, така че познаването на C или един от езиците със синтаксис, подобен на C, ще улесни овладяването на PHP

    PHP поддържа много системи за бази данни (MySQL, MSSQL, Oracle, Postgre, MongoDB и други)

    Разпространението на хостинг услугите и тяхната ниска цена. Тъй като по правило хостинг компаниите хостват PHP уебсайтове на уеб сървъри Apache или Nginx, които работят на една от операционните системи Linux. Както уеб сървърите, така и базираните на Linux операционни системи са безплатни, което намалява общите разходи за използване на хостинг

    Постоянно развитие. PHP продължава да се развива, излизат нови версии, които носят нови функции, адаптирайки езика за програмиране към нови предизвикателства. И като правило преминаването към нова версия не е трудно.

    Към момента (октомври 2017 г.) текущата стабилна версия на PHP е PHP 7.1.

Сега нека създадем нашия първи малък уебсайт на PHP. Но преди да го създадем, трябва да изтеглим и инсталираме всички необходими инструменти за разработка на уебсайт.

© Андрей Кухарчик
Компютърен вестник

Въведение

Интернет отдавна е твърдо установен в живота ни. Това смело твърдение може да бъде доказано или опровергано много пъти, но по един или друг начин всичко се променя и никой няма да спори с това.

Отминаха дните, когато много потребители на персонални компютри, за да спестят място на диска, премахнаха програмата Internet Explorer от нашата любима операционна система, защото просто не им трябваше. Сега дори тези, които нямат достъп до мрежата, се опитват да не докосват тази програма, тъй като интернет форматите отдавна са се преместили в други области на нашия компютърен живот. И ако модемът се е установил в компютъра, просто е невъзможно да се избегне присъствието на браузър, тъй като наистина искате да видите поне с едно око какво има там, отвъд телефонната линия? И след като запознанството се случи, вече не е толкова лесно да се откажете от предимствата на мрежата. След известно време започвате да осъзнавате, че трябва по някакъв начин да инвестирате себе си и идеите си и да се проявите в необятните пространства на Глобалната мрежа. Дори стана престижно да създадете своя собствена страница и дори ако в нея има малко полезно и броячът отчита само редките ви посещения, това, което правите, може да се превърне в началото на сериозен проект и да промени целия ви живот.

Пътувайки из необятните простори на глобалния интернет, вие, разбира се, често сте обръщали внимание на хипервръзките, които понякога достигат външно много големи размери и просто водят до объркване от наличието на странни символи. И разбира се, всички обърнаха внимание на формулярите, които трябваше да попълнят и да получат нещо в замяна. Но малко хора се замислят как работи всичко това и какво означава всичко това.

Каня ви да се потопите в света на програмирането. Този свят в много отношения не прилича на нищо друго, но има свои собствени неписани закони и правила, своите плюсове и минуси. Светът, който се отваря пред нас, е видим само за още една стъпка, но тази стъпка трябва да бъде усвоена и тогава ще бъде много по-лесно да отидем по-нататък.

История на RNR

Винаги трябва да започвате с най-простото, а сега ще се опитам да ви запозная с програмирането на PHP скриптовия език. RHP (произнася се PHP) е роден през есента на 1994 г. и неговият създател, Расмус Лердорф, използва езика за свои собствени цели, за да има представа за хората, които посещават неговия сайт и се запознават с неговия продължи.

Според автора PNR е написан буквално за един ден между бизнес срещите. Първоначално това беше просто невзрачна CGI обвивка, написана на Perl, и служеше изключително за конкретни цели. За справка - CGI (Common Gateway Interface) - общ интерфейс на шлюза, е стандарт, който е предназначен за създаване на HTTP сървърни приложения.

Това приложение, наречено шлюз или CGI програма, се изпълнява от сървъра в реално време. Сървърът предава заявките на потребителя към CGI програма, която ги обработва и връща резултата от работата си на екрана на потребителя.

По този начин посетителят получава динамична информация, която може да се променя в резултат на влиянието на различни фактори. Самият шлюз (CGI скрипт) може да бъде написан на различни езици за програмиране - C/C++, Fortran, Perl, TCL, Unix Schell, Visual Basic, Apple Script и други подобни езици. Но в случая с PHP езикът Perl беше избран да го напише в оригиналната си версия, като най-прост и достъпен.

В резултат на по-нататъшна експлоатация се оказа, че черупката има ниска производителност и авторът беше принуден да пренапише всичко отново, но на езика C, което направи възможно увеличаването на скоростта на PHP. Потребителите на сървъра, където се намираше сайтът с първата версия на PHP, поискаха същия инструмент и въпреки че авторът не си представяше, че някой друг ще използва този език, доста бързо PHP прерасна в независим проект и в началото на 1995 г. е пусната първата известна на нас продуктова версия. Името на този първи пакет беше Personal Home Page Tools. По това време RNR имаше повече от скромни възможности. Имаше прост анализатор на код, който разбираше няколко специални команди, както и различни помощни програми за използване на началната страница, необходими за изграждане на такива полезни неща като книга за гости, брояч, чат, системи за статистика и други подобни. До средата на 1995 г. езикът беше напълно преработен, появи се обработка на формуляри, бяха добавени функции за работа с бази данни и втората версия на продукта беше пусната в тази форма.

Днес PHP е мощен междуплатформен набор от инструменти, който се намира на сървър и е предназначен да обработва специален код, вграден в HTML страница. Благодарение на това става възможно лесното създаване на динамични сайтове. Създадените по този начин файлове се съхраняват и обработват на сървъра и когато посетител поиска документ с PHP, скриптът не се обработва от браузъра на посетителя, като Java Script, а от сървъра и само резултатите от работата се прехвърлят на посетителя. CGI програма, написана на C или Perl, работи по абсолютно същия начин. Но за разлика от CGI, PHP кодът може да бъде вграден навсякъде в HTML страница, което е основното предимство пред CGI. И освен това, самият език PHP е много лесен за научаване и не изисква никакви специфични познания. Например, на мен лично ми беше достатъчен опитът, който придобих преди десет години в часовете по информатика в училище, където изучавахме езика BASIC на много модерни и скъпи Ямахи по това време. Въпреки тази розова характеристика, PHP има и недостатъци. Заслужава да се отбележи доста бавната (в сравнение с CGI програмите) работа на PHP скриптовете, както и трудността при писане на големи и сложни програми. По един или друг начин PHP остава интерпретиран език, което със сигурност води до влошаване на производителността в случай на много големи и сложни програми, но за извършване на прости манипулации на сайта PHP е най-добрият избор. Не е чудно, че до средата на 2000 г. PHP се използва в повече от 2,5 милиона сайта!

Характеристики на PHP

Както всеки език за програмиране, PHP има свой собствен синтаксис. Той е много подобен на синтаксиса на C или Perl. Програмистите, които пишат на тези езици, ще могат да овладеят PHP само за няколко дни. Но дори и никога да не сте програмирали, PHP е лесен за използване и осигурява основа за преминаване към по-напреднали езици. Всички команди са доста логични и правилата са прости. Синтаксисът включва изрази, разделени с точка и запетая. Една от основните грешки на начинаещите програмисти е липсата на точка и запетая между изразите. За щастие, грешките в PHP се показват на екрана по подразбиране (за разлика от CGI, където всички грешки се записват в лог файл) и с известно внимание и опит няма да е трудно да ги намерите. Освен това интелигентен преводач ще ви каже номера на реда, където е възникнала грешката.

За да програмирате в PHP, ще ви е необходим текстов редактор, но за удобство той трябва да осигурява подчертаване на синтаксиса и номериране на редове. Използвам CuteHTML, който е включен в най-новите версии на добрия FTP мениджър CuteFTP. Редакторът е много удобен, без излишни ненужни функции, вграден е в контекстното меню, не изисква инсталация и има всичко необходимо за програмиране. Трябва ни и комплект за работа с PHP. Обикновено се използва Apache+PHP, въпреки че това не е задължително; всеки сървър, като IIS на Microsoft, ще свърши работа. Но първата опция е безплатна и има голяма поддръжка с документация (включително на руски) и форуми, където можете да намерите всеки въпрос.

А сега да се заемем с работата - да напишем първия си скрипт. За да може сървърът да разбере кой файл съдържа PHP кода, неговото разширение (на файла) трябва да бъде направено или phtml, или php3, или php. Строго погледнато, всяко разширение може да бъде присвоено, но препоръчвам винаги да използвате phtml от съображения за съвместимост. Всяка команда в PHP обикновено започва с "" (по-нататък без кавички). Както си спомняте, няколко команди са разделени с точка и запетая. Можете да поставите коментар навсякъде в PHP скрипта, той започва с "/*" и завършва с "*/" Ако коментарът е малък и заема само един ред, можете да поставите "//" и по този начин лесно да коментирате всеки ред до края. Както обикновено, интервалите, разделите и новите редове просто се игнорират и могат да се използват за подобряване на четливостта на PHP кода.

Дисплей и променливи в PHP

PHP прави много лесно организирането на текстов изход на екрана. Нека да разгледаме примерен скрипт:

Този скрипт може да се намира навсякъде в HTML документа и сам по себе си не предоставя нищо полезно, тъй като показва само фразата „Здравей, свят!“ на екрана. Но по този начин се запознаваме с една от най-разпространените PHP команди - показване на информация на екрана на потребителя. За да дадем на нашия скрипт някаква полезна функционалност, нека да разгледаме променливите. Променливата се характеризира с име, тип и стойност. Името може да бъде каквото и да е и да включва цифри, букви от английската азбука и разрешени знаци (например долна черта или тире). По тип променливите се делят на цели, с плаваща запетая и символи. Стойността според типа може да бъде почти всяка. Например променлива a=5. Това ни казва, че името на променливата е a, типът е цяло число и стойността е 5. Ето още примери за имена и стойности:

Както можете да видите, всички променливи в PHP (но не само в него) трябва да започват със символа $, което позволява на интерпретатора да ги разграничи точно от PHP командите. Първият ред на нашия скрипт присвоява стойност 6 на променливата $name и тази променлива автоматично става цяло число. Между другото, не е необходимо да се описва предварително типа на променливата, както в Pascal или Visual Basic, но въпреки че разделянето на типове е чисто условно, всяка променлива автоматично се стреми да използва правилния тип според стойността. Вторият ред от код задава променлива $h12 на 4.89, което е стойност с плаваща запетая. Третият и четвъртият ред на кода присвояват стойности на своите променливи, които са символни низове. Всичко, затворено в кавички (включително числа), ще се интерпретира като символен низ. Ако променливите не са предварително дефинирани, но се използват, тяхната стойност се приема или нула, или празен низ в зависимост от типа.

Както във всеки език, можете да извършвате всякакви аритметични операции с променливи и това не изисква наличието на специален оператор, достатъчно е да посочите променливата за резултата, знака за равенство и да изброите променливите или стойностите с необходимите аритметични знаци в естествен ред. Пример:

Резултатът от скрипта е показването на числото 4. Поддържат се всички аритметични операции и функции, многостепенни скоби, логически операции, операции за увеличаване или намаляване с единица и много други. Освен това сравнението на ако - тогава - иначе е много просто и естествено. За да направи това, PHP използва конструкцията if () ( ) else ( ). Има различни опции за синтаксис за този оператор, но тази е основната и най-логичната от всички. (ако) ако (условие) (тогава) (това, което е в кавички, се изпълнява) (иначе) else (това, което е в кавички, се изпълнява). Не е необходимо да поставяте точка и запетая след кавичките, както обикновено между операторите. Но вътре в кавички операторите са разделени един от друг само чрез точка и запетая. Възможно е да се вложат няколко изявления за проверка едно в едно. В този случай трябва да сте много внимателни относно броя на затварящите кавички, тъй като ако дори една липсва, интерпретаторът ще изведе грешка в кода. Нека да разгледаме един прост пример:

Когато се сравнява с вярно, се използват два знака за равенство, така че интерпретаторът да може лесно да различи сравнение от присвояване. Резултатът от скрипта е 95, защото $a не е равно на $b и командата echo $b.$a; (между променливите има точка, а не знак за аритметично действие) показва посочените променливи в ред. Неравенството (невярно) се обозначава със символите !=, всички други аритметични и логически символи и оператори са валидни (например или, и, >,<= и т.д.).

PHP има средства за бърза промяна на променлива с една нагоре или надолу. За да направите това, трябва да посочите името на променливата, последвано от два плюса или минуса, съответно без знак за равенство. Например $a++; - променлива $a ще бъде увеличена с единица. Поддържа се едновременно присвояване на една стойност на няколко променливи - $a = $b = 4;. И двете променливи ще бъдат равни на четири. Ето още няколко примера за нестандартни аритметични операции в PHP:

Прикачени файлове в PHP

Всеки, който е създал поне една страница в Интернет, се е сблъсквал с проблема с промяната на определени данни в нея. Разбира се, това не е трудно, когато страниците са няколко или само една :-), но ако сте направили голям сайт, едно малко допълнение (например към меню) със стотици файлове може да се превърне в истински кошмар! PHP решава този проблем с едно движение, позволявайки ви да вложите една страница в друга. Това се постига с помощта на операторите REQUIRE и INCLUDE. Тези твърдения трябва да бъдат последвани от пътя към прикачения файл в скоби. Например INCLUDE("text.phtml"). Разликата между тези оператори е, че REQUIRE замества съдържанието на посочения файл и може да се използва само веднъж, докато INCLUDE вмъква и изпълнява съдържанието на посочения файл, което позволява той да бъде използван няколко пъти, например в цикъл. Във всеки случай, когато се изпълнява файл, PHP интерпретаторът (правилно наричан парсер) е в състояние HTML и за да го включи, кодът трябва да бъде затворен в конструкция. Прикачените файлове могат да се появяват само в пространството на сървъра, достъпно от PHP. С други думи, не можете да използвате http:// в името на файла.

Доста често има сайтове, чиито връзки включват специални знаци - &,?, %. Всичко това може да е резултат от работата на RNR. Въпросът е, че ако добавите ?name=value в края на връзката, тази стойност ще бъде достъпна под същото име във файла, към който сочи връзката. Ако трябва да се добавят няколко имена, те могат да бъдат разделени с &. Сега можем да направим уебсайт, който ще бъде достъпен само с една страница. И тази страница ще показва цялата друга информация въз основа на данните, получени чрез връзката. Появата на такава връзка ще бъде нещо подобно: http://name.ru/index.phtml?link=1. Единицата в края на връзката е нашият параметър, който ще бъде заменен във файла index.phtml. Например така:

...началото на файла......край на файла...

Моля, обърнете внимание, че кодът, който написахме, взема предвид ситуацията, когато посетител по различни причини посочи неправилен параметър. В този случай се показва подготвена страница със съобщение за грешка. Ако параметърът съответства на някой от файловете на сайта, той се вмъква в кода на файла index.phtml и се изпълнява. Така началото и краят остават същите, но се променя само средата. И всички промени вече не изглеждат толкова страшни, колкото преди. В крайна сметка те трябва да се правят само в един файл, но това ще се отрази на целия сайт.

Има и друг начин. Същността му се състои в това, че PHP има достъп до така наречените променливи на сървърната среда. Една от тези променливи е пътят, поискан от посетителя спрямо адреса на сайта. И този път става достъпен за нас за използване. В този случай нашите връзки ще изглеждат така: http://name.ru/index.phtml?patch/name.phtml. Втората част от връзката - patch/name.phtml - ще бъде достъпна за нас, ако вземем предвид параметъра $QUERY_STRING. Например така: $add = $QUERY_STRING. Сега нека променим основния файл index.phtml, така че всичко да работи автоматично. И ако исканият параметър не е посочен (правилно казано, той ще бъде равен на празен низ), за да отворим нещо, ще присвоим на променливата $add името на файла, който трябва да се отвори като главна страница. Нека това да е файлът main.phtml. Тогава кодът ще изглежда така:

...началото на файла......край на файла...

Както можете да видите, това е още по-просто. Но искам веднага да ви предупредя, че този метод, макар и по-прост от първия, отваря пътя за получаване на информация за сървъра, където се намира сайтът с такава структура. Нападател или просто любопитен човек, при определени обстоятелства и знания, ще може да разбере много за вашия сървър и това отваря директен път към хакване. Така че бъдете внимателни и не създавайте големи проблеми. Възможно е да се предпазите от подобни проблеми, но това е съвсем друга история.

Пример за брояч на посещения на PHP

Ако сте прочели всичко внимателно, лесно ще получите начален капитал от знания и това ще ви даде възможност да изучавате самостоятелно PHP езика в бъдеще. И накрая, предлагам ви да се запознаете с кода на скрипта, който ще ви позволи да организирате брояч на посещения на всяка страница от вашия сайт. Този брояч няма да бъде напълно функционален, тъй като има много недостатъци, но е доста подходящ като пример за използване на PHP. Във всяко място на вашата страница (но само там, където е необходимо), поставете следния код:

Посетители на страницата -

В същата директория като вашата страница, създайте файл counter.dat, качете го на сървъра и, като използвате вашия FTP мениджър, променете атрибутите на този файл, така че да може да се записва. Обикновено трябва да проверите всички файлови атрибути. Ако не направите това, скриптът постоянно ще извежда грешка при опит за запис във файла. Между другото, за да не се случи това, трябва да поставите символа @ пред командата за писане и отваряне на файл, той ще отмени показването на съобщение за грешка на екрана на посетителя. Когато атрибутите се променят, опреснете страницата си на сървъра и я отворете на нейния адрес в браузъра. Ще видите, че там, където сте вмъкнали PHP кода, се появява редът: „Посетители на страницата -“ и след това число, съответстващо на броя посещения. И без следа от код! Той беше обработен на сървър в Интернет и резултатът от това изпълнение просто беше предаден на браузъра.

Алгоритъмът на този скрипт е много прост. В първия ред присвояваме на избраната променлива името на файла, в който ще се съхранява броя на посещенията. Във втория отваряме връзка към този файл за четене. След това проверяваме успеха на връзката и ако файлът съществува и е четим, четем низ от 10 байта от него, което е повече от достатъчно за брояча, и затваряме връзката с файла. Увеличаваме показанието на брояча с единица и показваме новата му стойност на екрана. На следващия етап трябва да напишем нова стойност на брояча, като за целта отново отваряме връзката (дескриптора) с файла, но за запис и изчистване на съдържанието на файла. Ако е успешно, записваме там новата стойност на брояча и затваряме файловия дескриптор. Това е всичко.

С това приключи първото ни запознанство с езика PHP. Разбира се, има още много полезни и интересни неща, но, за съжаление, е невъзможно да се обхване всичко наведнъж. Но затова пък умните хора измислиха мрежата, за да направят недостъпното достъпно. В интернет има много полезни ресурси по темата за PHP и с минимални умения в търсачките можете лесно да ги намерите. И ви съветвам да се абонирате за PHP бюлетина за всички!, В който редовно се появяват нови статии, примерни скриптове веднъж седмично, има раздел за въпроси и отговори, както и много друга полезна информация. Можете да намерите формата за абонамент и да се абонирате на онлайн адреса.

Там са публикувани всички предишни броеве на бюлетина. А на адреса можете да видите как работи всичко в действие. Всичко, което виждате на този сайт, е направено от PHP. Чат, форум, частни обяви, система за статистика - това е само малка част от възможностите, които ни дава програмирането на езика PHP.

PHP език за програмиране

PHP е изобретен от Расмус Лердорф в края на 1994 г. Първата версия беше пусната през 1995 г. под името "Personal Home Page Toolkit", след което беше преработена и наречена PHP/FI версия 2 (FI - модул за обработка на формуляри). Добавена е и поддръжка за mSQL бази данни. От този момент нататък в разработката започват да участват доброволци.

Статистиката за използване на PHP е приблизителна, но според проучване, проведено от Netcraft, в началото на 2001 г., PHP е използван на повече от 5 300 000 сайта по целия свят. За сравнение: по това време броят на IIS сървърите беше приблизително същият (5 милиона). Разработването на PHP интерпретатора беше под формата на организиран екипен процес, като ядрото на интерпретатора беше разработено от Zend.com. PHP обаче се разпространява свободно: най-новата му версия може да бъде изтеглена от PHP.net. PHP модулите се доставят със сървъра Apache и в системните комплекти на Linux.

Първоначално съкращението PHP означава Preprocessor of Home Pages - препроцесор за начална страница. Това е език за скриптове, вградени в HTML страници и изпълнявани на сървъра. В по-голямата си част неговият синтаксис е заимстван от езици като C, Perl, Java, като в същото време се добавят много функции, които липсват на тези езици. Просто казано, синтаксисът на PHP е интелигентна алтернатива както на строгостта на C, така и на "безграничността" на Perl.

PHP е надарен с почти пълен набор от функционалности, за които (преди появата на PHP) един уеб програмист можеше само да мечтае. Целта му е да ви позволи да създавате динамично генерирани уеб страници възможно най-бързо. С право можем да кажем, че изучаването и използването на PHP ще бъде от полза както за начинаещи, така и за професионални програмисти.

Сравнение на езика за програмиране PHP с други езици за програмиране на уеб приложения

За да оправдае избора на инструменти за програмиране, PHP беше сравнен с други езици за програмиране на уеб приложения. Основните конкуренти на PHP са технологиите JSP (Java Server Pages и Java Scriptlets), ASP.NET (Active Server Pages), Perl и Cold Fusion Server Pages.

1. Езици за програмиране PHP и Perl

Perl е създаден от програмиста Лари Уол и означава Practical Extraction and Report Language. Това може да се преведе като „език за практическо извличане на данни и докладване“. Perl е интерпретатор и предшества уеб. С появата на Интернет Perl се оказа удобен инструмент за създаване на динамични уеб страници. Perl стана широко разпространен, защото беше достъпен на всеки уеб сървър, тъй като почти всички работеха с UNIX, и единствената му алтернатива беше по-сложният език C, който губи от PHP по елегантност, въпреки факта, че PHP предлага функционалност, подобна на Perl със значително по-малко излишък и сравнителна простота на синтаксиса. Излишъкът на езика Perl се дължи на факта, че той е разработен за голямо разнообразие от приложения, което не може да не се отрази на неговия синтаксис, докато PHP първоначално е разработен за Интернет. Според много потребители, които първоначално не са познавали PHP или Perl, изучаването на PHP е много по-лесно.

2. Езици за програмиране PHP и Java

Най-общо казано, има разлика между езика Java и технологията Java. Езикът Java е C-подобен език, който е проектиран като "подобрен C++". Java технологията включва клиентска и сървърна част, както и достъп до бази данни, така че е най-правилно да сравним Java технологията с комбинацията Apache/PHP/MySQL. Технологията Java е разработена като крос-платформена технология, която ви позволява да създавате уеб приложения от корпоративно ниво. Основните предимства на тази технология са междуплатформената преносимост и обектно-ориентиран език, който ви позволява да създавате сложни и обемисти приложения. Недостатъците включват бавно изпълнение, висока консумация на памет (цена за преносимост на различни платформи) и сложността на разработването на уеб приложения в сравнение с PHP. Междувременно PHP е почти толкова добър, колкото Java по отношение на гъвкавостта и скалируемостта на създадените приложения. Освен това използването на Java за разработване на сравнително прости приложения едва ли е оправдано, а когато работите върху сериозни проблеми, Java е по-скъпа.

3. Езици за програмиране PHP и ASP.NET

ASP (Active Server Pages) е скриптов език от Microsoft. Ако езикът ASP беше значително по-нисък от PHP в много отношения, предимно по отношение на времето за изпълнение на скрипта, тогава с появата на технологията ASP.NET ситуацията се промени. Основното предимство на ASP.NET е възможността да се използва пълната мощност на интерфейса на Windows за разработване на уеб приложения. Това ви позволява да разработвате страници със сложни интерфейси, без да се притеснявате за съхраняване, криптиране и предаване на променливи, използвани в динамични страници. ASP.NET е тясно интегриран в новата NET технология на Microsoft. Основната характеристика на разработването на уеб приложения с помощта на ASP.NET е възможността да се използва всеки език за програмиране на NET. Това може да бъде или модифицирана версия на Visual Basic - Visual Basic.NET, или нов език C# или клонинг на Java - J#. Освен това в едно уеб приложение могат да се използват няколко езика за програмиране. Всичко това ни позволява да обединим програмисти, които говорят различни езици за програмиране в рамките на един проект. Кодът на уеб приложението на ASP.NET се компилира в Microsoft Intermediate Language (MSIL), понякога просто наричан IL. Независимият от хардуера IL код се кешира в уеб сървъра за подобряване на производителността, подобно на байт кода на Java. Но за разлика от технологията Java, която осигурява независимост от платформата, NET осигурява независимост от езика за разработка. Изпълнението на ASP.NET уеб приложения на различни от Windows сървъри е почти невъзможно. Освен това, ако уеб приложението използва интензивно NET компоненти, преглеждането на динамичната страница ще бъде възможно само под Windows и само с помощта на браузъра Internet Explorer. Следователно, по отношение на преносимостта, PHP със сигурност се различава от ASP.NET за по-добро. Друг изключително важен аргумент в полза на PHP е бързото коригиране на открити грешки. Теоретично можете да ги поправите сами, ако имате достатъчно квалификация. Можете също да напишете писмо до разработчиците и с голяма степен на вероятност грешката ще бъде коригирана в следващата версия. И PHP версиите се пускат много често. Друго предимство на PHP, особено важно за начинаещи, е, че е по-лесен за използване за изграждане на уеб приложения. Следователно, когато избирате между ASP.NET и PHP, трябва да изхождате от поставената задача. Ако в интранета на голяма корпорация повечето сървъри и клиентски машини работят с Windows, използвайте ASP. NET е повече от оправдано. В същото време, за разработване на уеб сайт, хостван в Интернет, е по-подходящо да се използва PHP.

4. Езици за програмиране PHP и ColdFusion

Пакетът ColdFusion е разработен от Allaire и е предназначен за бързо разработване както на интерактивни, така и на динамични уеб документи чрез обработка на информация, получена от база данни. Недостатъкът на ColdFusion е доста ниската му преносимост. PHP работи на почти всички платформи, но ColdFusion работи само на четири: Win32, Solaris, HP/UX и Linux. Освен това ColdFusion, подобно на ASP, е комерсиална разработка. ColdFusion е доста рядък. В сравнение с PHP, той е по-взискателен към ресурсите. Предимството на ColdFusion е добра интегрирана среда за разработка и в резултат на това по-прости езикови конструкции отколкото в PHP и по-бързо писане на код. Вярно е, че поради такъв език на високо ниво някои проблеми са по-трудни за решаване в него.

5. Езици за програмиране PHP 4.0 и PHP 5.0

Основните разлики са в реализацията на обектно-ориентирания модел. PHP 4.0 работи на Zend Engine 1.0. До пускането на PHP 5.0 Zend напълно пренаписа двигателя и пусна Zend Engine 2.0, който според създателите имплементира „нов обектен модел“. В сравнение с PHP 4.0, петата версия на езика има следните функции:

1. Въведени са частни (private) и публични (protected) членове и методи на класове, както и абстрактни класове и методи.

2. Въвеждат се интерфейси и един клас може да реализира произволен списък от интерфейси.

3. PHP 5 също така съдържа разширени възможности за клониране на обекти. Конструкторът за копиране, предназначен за тази цел, ви позволява не само да клонирате идентично обекти, но и да промените някои от техните свойства.

4. Въведени са постоянни членове и методи на класа.

5. Едно от най-важните нововъведения е наличието на деструктори.

6. Добрата новина е въвеждането на членове на статични класове в PHP 5.0. В PHP 4.0, ако имаше нужда от използване на статични членове, беше необходимо да се използва изкуствена техника, която се състои в комбиниране на глобални променливи със статични методи. Това доведе до класове, които действаха по същия начин като статичните. Тази техника, меко казано, не е много добра, тъй като създава проблеми, свързани с използването на глобални променливи. В PHP 5.0 статичните методи вече могат да бъдат декларирани изрично с помощта на ключовата дума static.

7. PHP 5.0 въведе механизъм за обработка на изключения, който липсваше в PHP 4.0. По този начин, в резултат на такива иновации в обектния модел, PHP 5.0 се превърна в напълно професионален език за програмиране, което позволява да се използва за решаване на проблеми с всякаква степен на сложност.

Езикът PHP уверено се озовава в челните позиции на най-популярните езици за програмиране, но всичко си има край. Има ли опасност PHP да изпадне в забрава, какво може да го замени и какъв език бихте избрали, за да създадете сайт като Facebook? На тези въпроси отговориха потребители на уебсайта Quora.

Джордж Мауер, преподава JS

PHP умира, Java умира, C# умира, SQL умира, JavaScript умира, C умира. И въпреки това има значително повече проекти на тези езици, отколкото проекти на всички неизброени езици за програмиране взети заедно. Да, понякога новите тенденции могат да изместят нещо установено, но този процес се случва изключително бавно. Това не означава, че най-старото е лошо.

Не мога да се съглася, че PHP беше най-добрият вариант за създаване на Facebook. Създателите на тази социална мрежа всъщност само частично използват PHP. В наши дни може да се каже, че вместо този език те имат свой собствен диалект, наречен Hack. PHP беше просто езикът, на който Зукърбърг и други разработчици започнаха да работят по този проект.

Това не означава, че PHP беше толкова лош избор. И все пак това е език, който отговаря на изискванията за бързо разработване на приложения. А това от своя страна е един от ключовите фактори за един стартъп – в случая с Facebook този фактор изигра решаваща роля. Първоначално PHP беше нещо като колекция от скриптове. И това улеснява преминаването към по-ниско ниво на абстракция и създаването на C код, когато действително има нужда от оптимизация. Всичко това е внимателно проучено и успешно внедрено в повечето съвременни езици.

Моля, избийте от главата си идеята, че една социална мрежа изисква нещо специфично от език за програмиране. По-голямата част от генерирането на код ще бъде напълно стандартно и познато. Да, има някои проблемни области като намирането на предполагаеми и потенциални приятели, но подобни проблеми най-често се решават с помощта на специализиран софтуер. Например графично ориентирани бази данни. Ще трябва да сте изключително внимателни и внимателни при изграждането на вашата система, а също така да имате добро разбиране на DevOps, но същото ще трябва да се направи и с други езици. Вместо да имате перфектен език за разработка, това, което е по-важно за вас, са опитни и знаещи разработчици.

И това всъщност ме довежда до същината на въпроса. PHP е изключително привлекателен, дори само защото огромен брой специалисти в момента го познават добре. Но вероятно не искате някой от тези специалисти да работи върху вашия стартъп. Вие ще искате да наемете хора, които говорят няколко езика, хора, които имат добре оформен и информиран мироглед. И повечето от тези хора наистина не харесват PHP.

Представете си: седя в чисто нов офис, нает за разработката на моя току-що регистриран стартъп, гледам бюрото си с куп пари, получени за разработката на проекта, и си блъскам главата кой език за програмиране да избера. Разбирам, че това е проблем някъде около 250 в списъка с неща, които ще определят успеха или провала на бъдещото ми начинание. И започвам да осъзнавам, че това решение трябва да се вземе заедно с екип за разработка, какъвто все още нямам. Следователно аз самият започвам да търся езикови опции, които биха били сравнително широко разпространени, лесно биха позволили на разработчиците да преминат към по-ниско ниво на абстракция и, най-важното, в които ще имам познати разработчици, които са най-добрите в своя бизнес.

В момента такъв език е Elixir. Базиран е на виртуалната машина Beam и е доста близък роднина на езика Erlang, който се е доказал в редица проекти в продължение на няколко десетилетия. В допълнение, този език показва просто невъобразими резултати от ефективността.

Друг чудесен избор е Go. Това е основно език на ниско ниво, но може да прави всичко, което може да се направи на езици на високо ниво. Въпреки че не харесвам някои от решенията по отношение на структурата му, той все пак заслужава внимание по един или друг начин.

Друг вариант би бил Clojure. Има вероятност да не е лесно да се намерят разработчици за този език, но като се има предвид, че този език е пряк наследник на LISP, мога честно да кажа, че е невероятно мощен и дава много възможности за развитие.

Няколко важни бележки:

  • погледнете F# в .Net framework или дори вездесъщия C#. Ако все пак изберете последната опция, бъдете готови да имате много повече автобиографии за преглед и пресяване, за да изградите страхотен екип;
  • Можете да направите някои впечатляващи неща със Scala;
  • Node.js. Просто трябва да спомена Node.js. Лично аз смятам, че Javascript е на върха на веригата в момента, но Node също е в списъка с доста широко използвани езици от дълго време. Освен това има голям брой висококвалифицирани специалисти.

PHP (Препроцесор за хипертекст) е един от най-популярните инструменти за уеб програмиране от страна на сървъра. Работата на PHP в най-простата му форма се свежда до обработка на http заявката на клиента. Обработката на заявката от своя страна се състои в програмно генериране на хипертекст в съответствие с параметрите на заявката, след което получената маркировка се връща на клиента. Когато клиент (интернет браузър) поиска обикновена статична интернет страница (най-често с html разширение), сървърът връща съдържанието на тази страница като отговор без промени „както е“. Ако се поиска PHP страница, тогава по време на обработката на заявката съдържанието на посочената страница първо се обработва от PHP интерпретатора и едва след това резултатът от тази обработка се изпраща на клиента.

С други думи, PHP е препроцесор за хипертекст, както е отразено в името му. Предпроцесор, тъй като хипертекстът претърпява окончателна обработка от страна на клиента, резултатът от която виждаме в прозореца на браузъра (самият браузър е хипертекст процесор). Можем да кажем, че PHP е генератор на хипертекст, тъй като в повечето случаи неговата работа е програмно генериране от съдържанието на база данни или от друга структурирана информация, хоствана на сървъра. Съкращението изглежда като PHP, а не като, например, HPP или друго, тъй като първоначално означаваше Инструменти за лична начална страница– инструменти за създаване на лични интернет страници. По този начин първата версия на декриптирането на PHP отразява неговата цел, а настоящата отразява принципа на работа.

PHP е език за програмиране, който поддържа почти всичко: променливи, условни оператори, цикли, функции и т.н. PHP е обектно-ориентиран език за програмиране– поддържа , както и конвенционално наследяване на ниво клас. PHP е език за уеб програмиране, тъй като е създаден предимно за разработване на динамични интернет сайтове и следователно съдържа голям брой готови решения, използвани в тази област, като например:

  • обработка и извличане на параметри http заявки GET и POST;
  • формиране и изпращане http заглавки;
  • инфраструктура за съхранение данни за сесията;
  • софтуерни услуги за работа с бисквитки;

    бисквитки- текстови данни, записани от браузъра на компютъра на клиента, които най-често съдържат параметри за достъп (вход и парола) или лични настройки на потребителя. Бисквитките се генерират от браузъра и автоматично се изпращат до сървъра в заглавките на HTTP заявката по време на всеки отдалечен достъп.


  • работа с файлове FTP протокол;
  • работа с бази данни с помощта на ;
  • поддържа
  • поддържа HTTP авторизация;
  • изпращане на съобщения по имейл и много други.

В този раздел планирам да прегледам накратко ключовите моменти от използването на PHP за създаване на прости уеб приложения. Материалите ще бъдат организирани в няколко секции, всяка от които ще съдържа примери със своя сорс код. За независими експерименти ви е необходим всеки друг сайт, до който имате пълен достъп и на сървъра на който е инсталиран PHP.

Основи на програмирането на PHP

Добавяне на PHP код към маркиране и резултат от препроцесора на хипертекста

PHP кодът се добавя директно навсякъде в HTML маркирането. Самото HTML маркиране може изобщо да не съществува и изходният код на страницата може да бъде представен само от фрагмент от PHP програма. Във всеки случай, за да вмъкнете PHP, трябва да използвате специален таг и да поставите програмния текст вътре в него. Това се прави по следния начин:

програмен код ?>

По време на работата на секцията за интерпретатор на PHPсе заменят с маркировка, генерирана в резултат на работата на намиращия се в тях програмен код. За извеждане на резултата от препроцесора се използва операторът ехо, чиито аргументи могат да бъдат константи, променливи, функции или различни видове изрази, а резултатът е текст. Най-простият вариант може да изглежда така:

"; ?>

Ако отворите изходния код на получената страница в браузър, там вече няма да има PHP (освен ако, разбира се, на сървъра не е инсталиран PHP интерпретатор). Няма много смисъл да използвате оператора echo по този начин. Красотата на PHP е, че генерираният HTML може да зависи от параметрите на заявката, съдържанието на базата данни, политиките за сигурност и много повече. Анализът и обработката на всичко това се извършва с помощта на познати на почти всички, като цикли, условия, функции и т.н. Гледайки напред, ще дам малък пример за PHP програма, използваща цикъл и условен оператор, така че първоначалното разбиране на хипертекстовия препроцесор да стане по-пълно. Следващата програма отпечатва факторните стойности на числата от 1 до 9.

Примерна програма на PHP Тази маркировка се генерира програмно от PHP интерпретатора."; $f=1; за ($i=1; $i<10; $i++) { if ($i>1) $f=$f*$i; ехо $i,"!=",$f,"
"; } ?>


Резултатът от работата му ще изглежда така в браузъра:

1!=1 2!=2 3!=6 4!=24 5!=120 6!=720 7!=5040 8!=40320 9!=362880

Организиране на приложение от множество PHP файлове

Кратък условен или троичен оператор

По-долу е даден общ изглед на оператор за условно присвояване, използващ троичния оператор:
$резултат = условие? израз, ако е верен: израз, ако е невярно;

Пример:
$резултат = ($a>5)? $a+$b: $a-$b;

Ако a е по-голямо от 5, тогава на резултатната променлива се присвоява стойност a+b, в противен случай a-b.

Алтернатива на оператора if с повече конструкции elseif. Изпълнението на изрази започва със секцията case, чиято стойност съответства на стойността на израза, и продължава през всички следващи случаи, докато се срещне командата break - пълно изпълнение. Разделът по подразбиране е алтернатива на раздела else в условен оператор.

превключвател ( изразяване) (случай стойност 1: оператор 1; случай стойност 2: оператор 2; случай стойност 3: оператор 3; по подразбиране: оператор по подразбиране; ) направи тяло на примка; докато ( състояние);

Същият пример:

$i=2; $f=1; do ( $f=$f*$i; $i++; echo $i,"!=",$f,"
"; ) докато ($i<10);

Повече подробности за do...while цикълПрочети .

Преминаване през елементи в масив или оператора foreach

Няколко думи ще бъдат казани отделно за масивите, а по-долу е дадена конструкция за итериране на неговите елементи в цикъл:

За всеки ( масивкато $ елемент) израз, в който правим нещо с променливата $element;

$values ​​​​= array("for", "while", "do", "foreach"); echo "Цикли в php:","
"; foreach ($values ​​​​като $operator) echo $operator, "
";

Циклите и операторът за избор в PHP, както и в много други езици за програмиране, поддържат инструкции прекъсвам– ранно завършване на цикъла и продължи– ранно завършване на текущата итерация на цикъла (преход към началото на цикъла). Прочетете повече за тях.



Дял