mirror of
https://github.com/php/doc-tr.git
synced 2026-03-24 07:12:18 +01:00
219 lines
9.9 KiB
XML
219 lines
9.9 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<!-- EN-Revision: 77f5f3b3a8bbe1ad7727201c7603d1419dd7840f Maintainer: nilgun Status: ready -->
|
||
<!-- CREDITS: tpug -->
|
||
<chapter xml:id="introduction" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||
<info>
|
||
<titleabbrev>Giriş</titleabbrev>
|
||
<title>PHP nedir ve ne yapabilir?</title>
|
||
</info>
|
||
|
||
<section xml:id="intro-whatis" annotations="chunk:false">
|
||
<title>PHP nedir?</title>
|
||
<para>
|
||
<acronym>PHP</acronym> (açılımı <emphasis>PHP: Hypertext
|
||
Preprocessor</emphasis>) geniş bir kitle tarafından kullanılan, özellikle
|
||
sanal yöreler üzerinde geliştirme için tasarlanmış HTML içine gömülebilen
|
||
bir betik dilidir.
|
||
</para>
|
||
<para>
|
||
Tamam da, bu tam olarak ne anlama gelmektedir? Bir örnek:
|
||
</para>
|
||
<para>
|
||
<example>
|
||
<title>- Başlangıç olarak bir örnek</title>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<title>Örnek</title>
|
||
</head>
|
||
<body>
|
||
|
||
<?php
|
||
echo "Merhaba, ben bir PHP betiğiyim!";
|
||
?>
|
||
|
||
</body>
|
||
</html>
|
||
]]>
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<para>
|
||
Bir PHP betiğinin Perl ya da C gibi dillerden ne kadar farklı bir yapıda
|
||
olduğuna dikkat edilmelidir. HTML kodu oluşturmak için bir sürü kod
|
||
yazmak yerine, istenen işi yapan bir PHP kodu yazılır ve HTML kodunun
|
||
içine gömülür (bu örnekte, yapılan iş ekrana yazı yazmak). PHP kodu
|
||
<link linkend="language.basic-syntax.phpmode"><code><?php</code> ve
|
||
<code>?></code> özel başlangıç ve bitiş etiketleri</link> arasına
|
||
yazılır. Bu etiketler "PHP kipine" rahatlıkla girip çıkabilmeyi
|
||
sağlar.
|
||
</para>
|
||
<para>
|
||
PHP'yi Javascript gibi kullanıcı tarafında çalışan dillerden ayıran,
|
||
sunucu tarafında çalıştırılıyor olmasıdır. Yukardaki örnekteki kodu
|
||
kendi sunucunuzda çalıştırırsanız, sitenize bağlanan kullanıcılar kodu
|
||
göremeyecekler ve müdahale edemeyecekler, yalnızca sonucu
|
||
görebileceklerdir. Dilerseniz HTTP sunucunuzu bütün HTML dosyalarınızı
|
||
PHP dosyası olarak görüp işleyecek hale bile getirebilirsiniz. Buna
|
||
rağmen kullanıcılar sizin gerçekte sunucu taraflı bir uygulama
|
||
kullandığınızı fark edemeyebilir.
|
||
</para>
|
||
<para>
|
||
PHP kullanmanın en güzel yanlarından biri, yeni kullanıcılar için
|
||
öğreniminin oldukça kolay olması ve aynı zamanda profesyonel kullanıcılar
|
||
için ileri seviyede özellikler içermesidir. PHP'nin özellikler
|
||
listesi uzun da olsa okunmalıdır. Kısa sürede PHP ile programlamaya
|
||
başlanabilir ve birkaç saat içersinde basit programlar yazmaya
|
||
başlanabilir.
|
||
</para>
|
||
<para>
|
||
PHP'nin gelişimi sunucu-taraflı programlamaya odaklanmışsa da, çok
|
||
daha fazlasının yapılmasına olanak tanıyan araçlara da sahiptir. <link
|
||
linkend="intro-whatcando">PHP neler yapabilir?</link> bölümünde bu
|
||
araçlar hakkında daha fazla bilgiye ulaşılabilir. Eğer yalnızca site
|
||
programlaması yapılacaksa, <link linkend="tutorial">Basit bir
|
||
eğitmen</link> bölümünden devam edilebilir.
|
||
</para>
|
||
</section>
|
||
|
||
<section xml:id="intro-whatcando" annotations="chunk:false">
|
||
<title>PHP neler yapabilir?</title>
|
||
<para>
|
||
Her şeyi. PHP temel olarak sunucu-taraflı programlamaya odaklanmıştır,
|
||
bu nedenle CGI uygulamalarının yaptığı her şey, örneğin formdan veri
|
||
toplama, dinamik sayfa içeriği oluşturma, ya da çerez alıp gönderme gibi
|
||
işlemler yapılabilir. Ancak PHP bunlardan çok daha fazlasını
|
||
yapabilecek yetenektedir.
|
||
</para>
|
||
<para>
|
||
PHP betiklerinin kullanıldığı başlıca iki alan vardır.
|
||
<itemizedlist>
|
||
<listitem>
|
||
<simpara>
|
||
Sunucu-taraflı programlama. Bu PHP için en geleneksel ve en temel
|
||
olan alandır. Sunucu-taraflı programlama için üç şey
|
||
gerekir: PHP çözümleyici (CGI ya da sunucu modülü), bir HTTP sunucusu
|
||
ve bir tarayıcı. PHP programlamada deneyimli olanlar tüm bunları
|
||
evindeki makinede çalıştırabilir. <link
|
||
linkend="install">Yapılandırma ve Kurulum</link> bölümünden bununla
|
||
ilgili daha fazla bilgiye ulaşılabilir.
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
Komut satırı uygulamaları. Bir PHP uygulaması komut satırından
|
||
hiçbir sunucu ya da tarayıcı uygulaması kullanmadan
|
||
çalıştırılabilir. Burada tek gereksinim PHP çözümleyicidir.
|
||
Bu tür kullanım <command>cron</command> üzerinden (Windows eşdeğeri
|
||
görev yöneticisi) düzenli çalıştırılan işlemler ya da basit metin
|
||
işleme görevleri için idealdir.
|
||
<link linkend="features.commandline">PHP'nin komut
|
||
satırında kullanımı</link> bölümünde daha ayrıntılı bilgiye
|
||
ulaşılabilir.
|
||
</simpara>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
<para>
|
||
PHP bütün büyük işletim sistemlerinde, Linux, birçok Unix türevi (HP-UX,
|
||
Solaris, OpenBSD vb.), Microsoft Windows, MacOS, RISC OS dahil olmak
|
||
üzere çok çeşitli platformlarda <link linkend="install">çalışabilir</link>.
|
||
PHP benzer biçimde bugün yaygın biçimde kullanılan HTTP sunucularının büyük
|
||
kısmını destekler. Bunlara Apache, IIS ve daha birçok sunucu örnek
|
||
gösterilebilir. Bunlara FastCGI PHP çalıştırılabilirini kullanan lighttpd
|
||
ve nginx gibi sunucular da dahildir. PHP modül olarak kullanılabildiği gibi
|
||
bir CGI işleyici olarak da çalıştırılabilir.
|
||
</para>
|
||
<para>
|
||
Sonuç olarak, PHP ile işletim sistemi ve HTTP sunucusu seçme özgürlüğü
|
||
gelir. Dahası, hangi programlama yönteminin kullanılacağına, işlevsel
|
||
yaklaşımın mı yoksa nesne yönelimli yaklaşımın mı yoksa her ikisinin birden
|
||
mi kullanılacağına bile karar verilebilir.
|
||
</para>
|
||
<para>
|
||
PHP'nin yetenekleri yalnızca HTML çıktı üretmekle sınırlı değildir.
|
||
Örneğin, görüntüler ve PDF dosyaları gibi zengin çeşitlilikte dosya
|
||
türünün çıktılanması, veri şifreleme, epostaların gönderilmesi ve daha
|
||
pek işlem PHP'nin yetenekleri arasındadır. Aynı şekilde JSON ya da XML
|
||
gibi her türden metin tabanlı dosyayı oluşturabilmek mümkündür. PHP bu
|
||
dosyaları otomatik olarak oluşturabilir ve ekrana yazdırmanın yanında
|
||
dosya sisteminde saklayabilir, böylece dinamik içerik için
|
||
sunucu-taraflı bir depo sistemini kullanıma sunabilir.
|
||
</para>
|
||
<para>
|
||
PHP'nin en güçlü ve en çok üstünde durulan özelliklerinden biri,
|
||
sahip olduğu <link linkend="refs.database">geniş ve gelişmiş
|
||
veritabanı</link> desteğidir. Veritabanlarına özgü eklentilerden birini
|
||
(örn. <link linkend="book.mysqli">mysql</link>) kullanarak veya <link
|
||
linkend="book.pdo">PDO</link> gibi bir soyutlama katmanı kullanarak PHP ile
|
||
veritabanı bağlantılı site sayfaları oluşturmak ya da <link
|
||
linkend="book.uodbc">ODBC</link> eklentisi üzerinden bu standardı
|
||
destekleyen bir bağlantı açmak son derece basittir. Diğer veritabanları için
|
||
<link linkend="book.curl">cURL</link> eklentisi veya <link
|
||
linkend="book.sockets">soketler</link> (CouchDB gibi) kullanılabilir.
|
||
</para>
|
||
<para>
|
||
PHP, farklı hizmetlerle LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM
|
||
(Windows için) ve daha sayısız protokol aracılığıyla iletişim kurabilecek
|
||
bir altyapıya da sahiptir. Hazır modüllerin haricinde ham ağ soketleri
|
||
açıp bu soketler üzerinden istediğiniz bütün protokollerle
|
||
çalışabilirsiniz. PHP, WDDX üzerinden sanal olarak sanal doku üzerinde
|
||
hangi dilde yazılmış olursa olsun tüm uygulamalarla haberleşebilir.
|
||
Ayrıca Java nesnelerinin oluşturulabilmesi ve şeffaf biçimde PHP
|
||
nesneleri olarak kullanılabilmeleri önemli bir diğer özelliktir.
|
||
</para>
|
||
<para>
|
||
PHP oldukça faydalı <link linkend="refs.basic.text">belge işleme</link>
|
||
özelliklerine sahiptir. Bu yelpaze Genişletilmiş POSIX ya da Perl düzenli
|
||
ifade komutlarından (<link linkend="book.pcre">PCRE</link>)
|
||
<link linkend="refs.xml">XML dosyalarını okumaya ve çözümlemeye</link> kadar
|
||
uzanır. PHP tüm XML uzantılarını <link linkend="book.libxml">libxml2</link>
|
||
tabanında tek bir standartta toplamış ve
|
||
<link linkend="book.simplexml">SimpleXML</link> ile
|
||
<link linkend="book.xmlreader">XMLReader</link> ve
|
||
<link linkend="book.xmlwriter">XMLWriter</link> desteğini de bünyesine
|
||
katarak sunduğu imkan yelpazesini genişletmiştir.
|
||
</para>
|
||
<para>
|
||
<link linkend="extensions">Alfabetik</link> olarak ve
|
||
<link linkend="funcref">sınıflandırılarak</link> belgelenmiş daha pek çok
|
||
ilginç eklenti vardır. Bunlara ek olarak
|
||
<link xlink:href="&url.xdebug;">XDebug</link> gibi PHP kılavuzu içinde
|
||
belgelenmiş ya da belgelenmemiş
|
||
<link linkend="install.pecl.intro">PECL</link> eklentileri de mevcuttur.
|
||
</para>
|
||
<para>
|
||
Görüldüğü üzere bu sayfa PHP'nin sunabileceği bütün
|
||
özellikleri ve faydaları anlatabilmek için yeterli değil. <link
|
||
linkend="install">Yapılandırma ve Kurulum</link> bölümünde ve <link
|
||
linkend="funcref">İşlev başvuru kılavuzu</link>nda listelenen
|
||
eklentilerin başlangıç bölümlerindeki açıklamalardan her bir eklenti için
|
||
daha fazla bilgiye ulaşılabilir.
|
||
</para>
|
||
</section>
|
||
|
||
</chapter>
|
||
|
||
<!-- Keep this comment at the end of the file
|
||
Local variables:
|
||
mode: sgml
|
||
sgml-omittag:t
|
||
sgml-shorttag:t
|
||
sgml-minimize-attributes:nil
|
||
sgml-always-quote-attributes:t
|
||
sgml-indent-step:1
|
||
sgml-indent-data:t
|
||
indent-tabs-mode:nil
|
||
sgml-parent-document:nil
|
||
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
||
sgml-exposed-tags:nil
|
||
sgml-local-catalogs:nil
|
||
sgml-local-ecat-files:nil
|
||
End:
|
||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||
vim: et tw=78 syn=sgml
|
||
vi: ts=1 sw=1
|
||
-->
|