34
түп тамыры міне осыда. PHP маңыздылығы неде?
Біріншіден, қарапайым бұл тілді құрастырушыларға веб–сараптамашы
мүмкіндігі мол және қойылған тапсырмаларды тиянақты орындайды. PHP
динамикалық веб беттерді құрастыруға көмектеседі. Perl мен C қарағанда PHP
артықшылығы неде? Жоғарыда аталған тілдерге қарағанда PHP HTML
документтерін құрастыруға PHP командасын қолданады. HTML көрсету үшін
программист PHP–ді қолданса, оған көптеген сөздерді жазуына қажет емес
скриптінің бөлшектерін HTML документіне қою.
JavaScript PHP–дің айырмашылығы кішкене ғана. JavaScript клиенттің
машинасымен PHP серверінде қолданылады. Сондықтан, PHP тілі қорғалған
тілдер қатарына жатады. JavaScript–ті біз кедергісіз көре алатын болсақ PHP
код арқылы көрсетіледі. HTML файлдарын PHP процессоры арқылы өңдеуге
болады. Қолданушылар HTML документін стандартты түрде алды ма жоқ па
екенін де біле алмайды.
Servers серверлік бағдарламалар қамтамасы
PHP–ді орнату және баптау. РНР тілін жобалағанда ең басты фактор
қолайлылық болып табылады. РНР программистке қойылған есептің тез әрі
тиімді шешімін қамтамасыз ету керек.
РНР дің әсіресе қызықтыратын сипаты ол тегін таралынады.
Дәстүрлілік. Тілдің көптеген конструкциялары С, Perl тілдерінен алынған,
жиі РНР коды қарапайым С немес Pascal программаларда кездесетін кодтардан
айыра алмайсыз. Бұл РНР үйренудің бастамасын жеңілдетеді.
Қарапайымдылық. РНР сцинариі 10 000 жолдан немесе бір жолдан тұруы
мүмкін – оның барлығы есептің спицификасына байланысты, Қажетті
кітапханаларды жүктеуге, компиляцияның арнайы параметрлерін көрсетуге
немесе осы сыйақтыларды жасауға тура келмейді. РНР механизмі қарапайым
() бірінші экрандалған тізбектен бастап код орындалып бастайды және
орындалуын жұбы (?>) экрандалған тізбегін кездестіргенге дейін
жалғастырады. Егер кодта дұрыс синтаксис болса, ол программист
көрсеткендей орындалады.
Тиімділік. Тиімділік көпқолданушылық орта үшін программалау кезінде
негізгі ерекше факторы болып табылыды, оның ішіне және WWW кіреді. РНР
4.0 ресурсты белгілеу механизмі және объектке бағытталған программалаудың
қолдауын қамтамасыз ету, сонымен қатар сеанспен басқару іске асты. Соңғы
нұсқада артық жадыны белгілеуді болғызбайтын, сілтемелерді (reference
counting) санау механизі пайда болды.
Қауіпсіздік. РНР администраторлар мен құрушыларға икемді әрі тиімді
қауіпсіздік құралдарын қолдануға ұсынды, олар екі категорияға бөлінеді:
жүйелік деңгейінің құралдары және қосымша деңгейінің құралдары.
Жүйелік деңгейдің қауіпсіздік құралдары. РНРда администраторлардың
басқаруындағы қауіпсіздік механизмі іске асырылған; РНРді қалпына кетіру
дұрыс іске асырылуы істің максималды бостандығын және қауіпсіздігін
қамтамасыз етеді. РНР қауіпсіздік деңгейі деп аталатын режимде жұмыс істей
алады. Мысалы, орындалудың максималды уақытын және жадының
35
қолданылуын (бақыланбайтын жады шығыны сервердің жылдамдығына теріс
әсер етеді) шектеуге болады. cgi–bin ұқсас администратор, каталог бойынша
шекту қоя алады, оның ішіне қолданушы РНР сценариын қарайды және
орындайды, соны мен қатар сервердегі конфиденциалды ақпаратты көру үшін
(мысалы, passwd файлын) РНР сценарилерін қолдануға болады.
Қосымшалар деңгейінің қауіпсіздік құралдары. РНР стандартты
функциялар жинағына шифрлаудың берік механизміндері кіреді. РНР сонымен
қатар көптеген тәуелсіз фирмалар қосымшаларымен үйлесімді, бұл оны
электрондық коммерцияның (e–commerce) қорғалынған технологияларымен
оңай интеграциялануына мүмкіндік береді. Басқа артықшылығы РНР
сценариінің берілген текстін браузерде көре алмайсыз, себебі сценарий
қолданушының сұрауына жіберілгенге дейін компиляцияланады. РНР дің
сервер жақта іске асырылуы қолданушымен нетривалдық сценарилердің
ұрлануын болғызбайды, оларды білу View Source командасының орындалуы
үшін жеткілікті.
Икемділік. РНР енгізілетін (embedded) тіл болғандықтан, ол құрушының
қажеттілігіне қатысты ерекше икемділікпен ерекшеленеді. Әдетте РНР–ді
HTML–мен тіркестіріп қолдану ұсынылғанмен, ол тағы да JavaScript, WML,
XML және басқа тілдермен де жақсы интегралданады. Бұдан басқа, жақсы
құрылымдалған РНР қосымшалары қажеттілігіне қарай оңай кеңейтіленеді (бұл
барлық негізгі програмалау тілдеріне қатысты).
Браузерге байланысты қиындықтар жоқ, себебі клиентке жібермес бұрын
РНР сценариі толығымен сервер жақта компиляцияланады. Негізінде, РНР
сценарилерін браузерлермен кез келген құрылғыдан жіберуге болады, оның
ішінде ұялы телефондар, электрондық жазба кітапшалары, пейдхерлер және
портативті компьютерлер, дәстүрлі РС. Қосалқы утилиттермен айналысатын
программисттер, РНРді командалық жол режимінде жіберуге болады.
РНР нақты бір web–серверге бағыттадған кодтан құралмағандықтан,
қолданушы анықталған серверлермен шектелмейді (мүмкін, олар үшін таныс
емес). РНР мына серверлерде жұмыс істейді – Apache, Microsoft IIS, Netscape
Enterprise Server, Stronghold және Zeus . Бұл серверлер әртүрлі платформаларда
жұмыс істегендіктен, РНР платформалық–тәуелсіз тәл болып табылды және
UNIX, Solaris, FreeBSD және Windows 95/98/NT сыйақты платформаларда іске
асады. Сонымен қатар, РНР құралдары программистке Enterprise Java Beans
немесе СОМ–объектілері Win32 сыйақты сыртқы компоненттермен жұмыс
істеуге мүмкіндік береді.
Осындай жаңа мүмкіндіктерінің арқасында РНР қазіргі заманғы
технологиялар арасында ерекше орын алады және жобалардың жеткілікті
шегіне дейін масштабталуын қамтамасыз етеді.
Тегін таралу. Open Source қабылдаған стратегиялары және РНР бастапқы
тексттерінің тегін таралуы қолданушылар үшін баға жетпес көмек көрсетті.
Қосымша, РНР қолданушыларының бірлестігі өзінше «коллективті қолдаушы
қызметі» болып табылады, танымал электрондық конференцияларынан ең қиын
сұрақтар. 2.2-суретте phpMyAdmin қосымшасының интерфейсі көрсетілген.