HTTP Get ve Post Metodları

HTML’de client ve server arasında bir istek ve yanıt için yaygın olarak kullanılan iki yöntem vardır. Bunlar get ve post yöntemleridir. Get ve post yöntemleri tüm diğer yazılım dilleri ile %100 uyumlu olarak çalışabilmektedir.

Get

İstek verileri belirli bir kaynaktan gönderilir. Bir diğer deyiş ile form verilerini veya manuel olarak belirleyeceğimiz verileri adres çubuğundan veri gönderimi anlamına gelmektedir.

Örneğin;

http://www.siteadi.com?veri1=deger1&veri2=deger2

Gönderilecek olan istekler belleğe alınabilir ve istekler browser tarafından geçmişte saklanabilir, yer imlerine / sık kullanılanlara kayıt edilebilir.
Gönderilecek olan istekler için adres çubuğu kullanılacağı için uzunluk kısıtlamalarına maruz kalabilir. (maksimum 2048 karakter)
Gönderilecek olan istekler yine get metodu ile alınabilir. (kullanılacak yazılıma göre değişiklik gösterebilir)
Gönderilecek olan isteklerde Türkçe karakter kullanılırsa URL Encoding’e maruz kalabilir.
Gönderilecek olan isteklerde ileri ve geri butonları kullanılacak olur ise herhangi bir uyarı olmadan işlem yapılabilir.
Gönderilecek olan isteklerde resim, video, ses, doküman vs. çok parçalı dosya içeriği mevcut olamaz.
Gönderilecek olan isteklerde get yöntemi post yönteminden daha az güvenlidir.
Gönderilecek olan isteklerde tüm veriler herkesin görebileceği şekilde olduğu için hassas veriler içeriyorsa kullanılmamalıdır.


Post

İstek gönderdiğinde veriler belirtilen kaynaktan alınarak işlenir. Bir diğer deyiş ile form verilerini veya manuel olarak belirleyeceğimiz verileri, veri gönderim tag’ları aracılığı ile kapalı olarak gönderim anlamına gelmektedir.

Örneğin;

http://www.siteadi.com

Gönderilecek olan istekler asla belleğe alınamazlar ve istekler browser (tarayıcı) tarafından geçmişte asla saklanamazlar, yer imlerine / sık kullanılanlara asla kayıt
edilemezler.
Gönderilecek olan istekler kapalı olarak iletileceği için uzunluk kısıtlamalarına asla maruz kalmazlar.
Gönderilecek olan istekler yine post metodu ile alınabilir. (kullanılacak yazılıma göre değişiklik gösterebilir)
Gönderilecek olan isteklerde Türkçe karakter kullanılırsa kapalı veri gönderileceği için URL Encoding’e
maruz kalmazlar.
Gönderilecek olan isteklerde ileri ve geri butonları kullanılacak olur ise muhakkak bir uyarı olacaktır ve uyarı sonucuna göre işlem yapılacaktır.
Gönderilecek olan isteklerde resim, video, ses, doküman vs. çok parçalı dosya içeriği mevcut olabilir.
Gönderilecek olan isteklerde post yöntemi get yönteminden çok daha güvenlidir.
Gönderilecek olan isteklerde tüm veriler görünmeyen kapalı şekilde olduğu için hassas veriler içeriyorsa muhakkak bu metot kullanılmalıdır.

HTML ile XHTML Arasındaki Farklar

XHTML (Extensible Hypertext Markup Language) web tasarım standartlarına verilen adlardan biridir. HTML’in başında bulunan X harfi işaretleme dili olarak tanımlanan, XML’in (Extensible Markup Language) özelliklerinin HTML içerisinde kullanılabileceği anlamına gelmektedir.

Kısacası XHTML, XML uygulaması olarak tanımlanan HTML versiyonudur. XHTML HTML ye göre daha katı işaretleme kurallarına sahiptir. XHTML de aynı HTML gibi tüm web tarayıcıları tarafından desteklenmektedir.
HTML ile XHTML arasındaki fark, doctype’ın belgeye tanımlanmasından kaynaklanır. HTML’de doctype tanımlaması kısadır ve hiçbir kısıtlaması yoktur. XHTML’de birden fazla doctype tanımlaması ile farklı içerikler için kısıtlama yapılabilmesi sağlanabilir. Doctype tanımlaması XHTML’in bir parçası değildir ve asıl tanımlanma amacı belge içerisinde kullanılan elementlerin standartları için ek bir bağlantı sağlamasıdır. Özellikle XML kullanılan sayfalarda çok sık kullanılır. XHTML 3 tip belge bildirimi sunar. Bunlar strict, transitional ve frameset’dir.

Strict (katı)

Diğer 2 bildirime göre daha katı ve net bir denetleme sağlamaktadır. Genellikle CSS (Cascading Style Sheets) ile yapılan tasarımlarda strict (katı) tercih edilmektedir. Dolayısı ile browser’lar bu tercihe göre sayfadaki kodlamayı yorumlar. Kullanım şekli aşağıdaki gibidir.

<!doctype html PUBLIC "-//W3C//DTD Xhtml 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 


Transitional (geçiş)

En çok kullanılmakta olan sayfa geçerliliği denetleyicisidir. Çünkü, strict’e (katıya) göre çok daha esnektir ve sayfadaki bazı yazım hatalarını göz ardı edebilir. Kullanım şekli aşağıdaki gibidir.

<!doctype html PUBLIC "-//W3C//DTD Xhtml 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 


Frameset (çerçeve seti)

Genelde frame (çerçeve) kullanılan sitelerde sayfanın geçerliliğini denetlemede tercih edilmektedir. Kullanım şekli aşağıdaki gibidir.

<!doctype html PUBLIC "-//W3C//DTD Xhtml 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> 


HTML 5 ve daha sonrası sürümlerde yukarıdaki uzun bildirimlerin hiçbirini kullanmaya gerek yoktur. Kısaca aşağıdaki şekilde yazılabilir.

<!doctype html> 

XHTML ve HTML5 Arasındaki Temel Farklar

  • XHTML’de !DOCTYPE bu şekilde yazımı zorunludur. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"   "http://www.w3.org/TR/html4/strict.dtd">
  • HTML5’te <!DOCTYPE HTML> bu şekilde yazım yeterli olmaktadır.
  • XHTML’de XMLNS ifadesi zorunludur. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  • XHTML de öğeler her zaman kapalı olmaldır. HTML de bu esnektir.
  • XHTML de öğeler her zaman düzgün bir şekilde yerleştirilmiş olmalıdır.
  • XHTML de etiketler ve attributes (öznitelikler) her zaman küçük harf olmak zorundadır.
  • XHTML de öznitelik öğeleri her zaman tırnak içerisinde yazılmalıdır.
  • HTML5 te <script></script> ifadesi içerisinde type=”text/javascript” yazımına gerek yoktur. <script> ifadesi bu özelliği otomatik olarak temsil etmektedir.
  • HTML5 te css linklenmesi <link rel =”stylesheet” href=”style.css”> şeklinde sade bir biçimde yapılmaktadır.
  • Yeni HTML etiketleri olan <header>, <footer>, <section>, <article>, <aside>, <nav>, <figure> gibi bir çok yeni etiket HTML’in en son versiyonu olan HTML5 e eklenerek geliştirilmiştir.
  • XHTML yukarıdaki zorunlulukları ve kısıtlamaları ile HTML5’ten farklılıklar göstermektedir.

WordPress Nasıl Çalışır?

WordPress içerik yönetim sisteminin nasıl çalıştığını bilen geliştirici sayısı çok azdır. WordPress’in tamamıyla nesne yönelimli bir yapıya sahip olmaması, anlaşılabilmesini zorlaştırmaktadır.

WordPress spagetti kod düzeniyle yazılmıştır. Spagetti kod düzeni, herhangi bir MVC mimarisini kullanmadan yazılan kod öbeklerine verilen addır. Adını, içerisindeki karmaşadan alır. WordPress spagetti kod düzenine sahip olmasına rağmen stabil yapısını her zaman korumaktadır.

WordPress İçerik Yönetim Sistemi Nasıl Çalışır ?

WordPress sunucumuzdaki her işlem ilk olarak index.php dosyasının çağırılmasıyla başlar. Bu dosya, gelen tüm isteklere cevap vererek yüklenir.
Index.php dosyası, içerisinde iki ana fonksiyon barındırır.
Bunlar aşağıda belirtilen fonksiyonlardır.

define( 'WP_USE_THEMES', true );
require __DIR__ . '/wp-blog-header.php';

‘WP_USE_THEMES’ adındaki sabit ile sayfaları ve yazıları görüntülerken aktif temayı kullanması gerektiği WordPress çekirdeğine bildirilir.

require() fonksiyonu ile wp-blog-header.php dosyası index.php içerisine dahil edilir.

Wp-blog-header.php, WordPress sisteminin başlatılması boyunca 3 temel işlemden sorumludur. Bu işlemler;

  1. wp-load.php dosyasını sayfaya dahil etmek
  2. wp() fonksiyonunu çalıştırmak
  3. template-loader.php dosyasını sayfaya dahil etmek

Wp-load.php dosyasının, WordPress sisteminin başlatılmasında son derece önemli bir rolü vardır. WordPress yüklenmesinin kök dizinine “ABSPATH” adında bir sabit tanımlamaktadır.
Bu sabit yardımıyla include() ve require() fonksiyonlarında, dirname(__FILE__) yerine ABSPATH kullanılabilmektedir.
Wp-load.php dosyası wp-config.php dosyasını yükleyerek görevini tamamlamaktadır.

Wp-config.php kurulum esnasında gerekli olan veri tabanı bağlantısı için gerekli olan tanımlamaları içermektedir. Bu tanımlamalar;

  • DB_NAME
  • DB_USER
  • DB_PASSWORD
  • DB_HOST

Bu tanımlamalara ait değerler, MySQL‘de WordPress için belirlemiş olduğumuz bilgiler ile uyuşuyor ise, bağlantı gerçekleştirilir. Wp-config.php dosyası aynı zamanda sistemin dilini de belirlemektedir. Türkçe için yapılan tanımlama şu şekildedir;

define('WPLANG', 'tr_TR');

Son olarak wp-config.php dosyası wp-settings.php dosyasını sayfaya dahil ederek görevini tamamlamaktadır.

Wp-settings.php dosyası, işe “WPINC” adında bir sabit tanımlayarak başlamaktadır. Bu sabit “/wp-includes” dizinine işaret etmektedir.

define( 'WPINC', 'wp-includes' );

Sabitin tanımlanmasının ardından wp-includes dizininden üç adet dosya sayfaya dahil edilmektedir. Bunlar;

  • load.php
  • default-constants.php
  • version.php

Load.php içerisinde bulunan fonksiyonları ve neler yaptıklarını inceleyelim:

wp_unregister_GLOBALS()
Register Global, güvenlik nedeniyle deaktif edilir.

wp_fix_server_vars()
Çeşitli yüklemeler için $_SERVER değişkenini düzeltmelerden geçirir.

wp_check_php_mysql_versions()
Gerekli olan minimum PHP ve MYSQL versiyonları denetler.

wp_maintenance()
Gerekli şartlar yerine getirildiğinde, WordPress sistemini bir uyarı mesajı ile bakıma götürür.

timer_start()
PHP standartlarına göre mikro zaman yakalama başlatılır.

timer_stop()
Fonksiyona ait sorgu/cevap arasında geçen süreyi döndürür.

wp_debug_mode()
Olası PHP hatalarının görüntülenmesini sağlar. WordPress ayıklama kipini devreye sokar.

wp_set_lang_dir()
Dil dosyalarının bulunduğu dizinin konumu belirlenir.

require_wp_db()
WordPress kurulu olan veri tabanına içerik ekleme, silme, güncelleme işlemleri için kullandığımız $wpdb sınıfı burada tanımlanır.

wp_set_wpdb_vars()
Veri tabanında bulunan tablolara ait ön eklerini belirler. Ayrıca tablo kolonları için format belirteçlerini ayarlar.

wp_start_object_cache()
WordPress sisteminin nesne önbelleğini başlatır.

wp_not_installed()
WordPress sunucuda başarılı bir şekilde kurulmamış ise kurulum sayfasına yönlendirir.

wp_get_mu_plugins()
Kullanılması zorunlu olan eklentileri dizi şeklinde döndürür.

wp_set_internal_encoding()
mb_internal_encoding() fonksiyonu ile dahili kodlamayı belirler.

shutdown_action_hook()
PHP’nin yürütülmesini tamamlamadan hemen önce çalışan kancadır.

wp_clone()
Herhangi bir nesneyi kopyalamaya imkan sunar.

is_admin()
Gelen isteğin, admin paneli için olup olmadığını denetler. Modül geliştirirken kullanılır. current_user_can() fonksiyonundan da faydalanılabilir.

is_blog_admin()
Geçerli isteğin WordPress admin paneli için olup olmadığına karar verir.

is_network_admin()
Geçerli isteğin ağ yönetim paneli “wp-admin/network” için olup olmadığına karar verir.

is_user_admin()
Geçerli isteğin kullanıcı sayfası için olup olmadığına karar verir.

is_multisite()
WordPress üzerinde multi site desteğinin aktif olup olmadığına karar verir.

get_current_blog_id()
Geçerli olan blog ID değerini döndürür.

Load.php içerisinde barınan fonksiyonların bir kısmı yukarıdaki gibidir.

Default-constants.php dosyasının içeriğini inceleyelim.

Adından da anlaşılacağı üzere varsayılan sabitleri içerisinde barındıran fonksiyon dosyasıdır. İçerisinde bulunan fonksiyonlar sayesinde bazı sabitler tanımlanır. Bu Sabitler;

wp_initial_constants()
Sistemler sabitleri tanımlar.

wp_plugin_directory_constants()
Eklenti dizinini, sabitler ile tanımlar.

wp_cookie_constants()
Çerezler ile ilgili sabitleri tanımlar.

wp_ssl_constants()
Çerezlere göre ssl yönlendirmesi yapan sabitleri tanımlar.

wp_functionality_constants()
Çekirdeğe dair sabitler burada tanımlanır.

wp_templating_constants()
Themes klasörü ile ilgili sabitler burada tanımlanır.

Version.php

İçerisinde değişkenler ile sürüm bilgileri tutulur. Fonksiyon veya sabit barındırmaz. Konum olarak “wp-includes/versiyon.php” patikasında barınır. İçerisinde tutulan bilgiler şunlardır;

$wp_versiyon
WordPress versiyon bilgisi.

$wp_db_version
WordPress veri tabanı revizyonunu tutar.

$tinymce_version
TinyMCE görsel metin editörünün versiyonunu tutar.

$required_php_version
Gerekli olan minimum PHP versiyonunu tutar.

$required_mysql_version
Gerekli olan minimum MYSQL versiyonunu tutar.

WordPress dosyalarının görevleri, içerisinde barındırdıkları fonksiyon ve tanımlamalar aşağıdaki gibidir.

COMPAT.PHP
Json_encode(), json_decode(), mb_substr() gibi eski PHP sürümlerinde bulunmayan fonksiyonları içerisinde barındırır.

FUNCTİONS.PHP
is_new_day(), remove_arg() gibi fonksiyonları içerisinde bulundurur. WordPress içerik yönetim sisteminin uygulama geliştirme arayüzüdür.

MO.PHP
Konum olarak “wp-includes/pomo/” patikasında bulunur. Mo sınıfını içerisinde barındırır. Ayrıca streams.php ve translations.php dosyalarını içerisine dahil eder. Dil dosyaları için gereklidir.

CLASS-WP.PHP
WordPress sisteminin yapılandırma sınıfıdır. 2.0 sürümünden itibaren bulunmaktadır.

CLASS-WP-ERROR.PHP
WordPress hata sınıfıdır. Is_wp_error() fonksiyonunu ve wp_error sınıfını içerisinde bulundurur.

PLUGİN.PHP
Eklentilerimiz için API, bu dosya içerisinde bulunur. 1.5 sürümünden bu yana geliştirilmektedir. Eklentiler ile eylemler ve filtreler oluşturma imkanı sunar.

CLASS-WP-WALKER.PHP
Walker sınıfına ait kod öbeklerini içerisinde barındırır. 2.1 sürümünden itibaren bulunmaktadır.

CLASS-WP-AJAX-RESPONSE.PHP
AJAX isteklerine XML olarak tepki verir.

FORMATTING.PHP
Yazılar ve sayfalardaki metinlerde paragraflara ayırma işlemi, gülücük işaretleri gibi öğeleri düzenleyen dosyadır.

CAPABILITIES.PHP
WP_Roles sınıfını içerisinde barındırır. current_user_can() gibi fonksiyonlar da bu dosya içerisinde tanımlanmıştır.

QUERY.PHP
WordPress sorgularını içerisinde barındırır. Ara yüzün, veri tabanı ile iletişimini sağlar. Ayrıca is_tag(), is_author(), is_archive() gibi fonksiyonlar bu dosya içerisinde tanımlanmıştır.

THEME.PHP
Tema ve sitil dosyalarına ait fonksiyonlar burada tanımlanmıştır. temalarımıza daha dinamik bir şekilde müdahale etmemize imkan sunan fonksiyonları içerisinde barındırır.

CLASS-WP-THEME.PHP
Wp_themes
sınıfı burada tanımlanır. Ayrıca temaya ait bilgilerimizi style.css içerisinde tanımladığımızda bu sınıf sayesinde yorumlanır.

TEMPLATE.PHP
Şablonlara ulaşmamızı sağlayan fonksiyonları içerisinde barındırır. Örnek olarak; get_archive_template() ve get_author_template() fonksiyonları verilebilir.

USER.PHP
Kullanıcı kimlik doğrulamasından sorumlu olan dosyadır. Panel dışı üyelik modüllerimiz için kullanabileceğimiz wp_create_user() ve panel dışı login işlemlerinde kullanabileceğimiz wp_signon() fonksiyonları burada tanımlanmıştır.

META.PHP
Belirtilen WordPress nesnelerine metadata ekleme ve güncelleme imkanı sunan fonksiyonları içerisinde barındırır.

GENERAL-TEMPLATE.PHP
get_header(), get_sidebar(), get_footer() gibi fonksiyonlar bu dosya içerisinde tanımlanmaktadır.

LINK-TEMPLATE.PHP
Bağlantılara ait fonksiyonlar burada tanımlanır. next_posts(), previous_posts() ve the_permalink() fonksiyonları bunlara örnek olarak verilebilir.

AUTHOR-TEMPLATE.PHP
Yazarlara ait fonksiyonlar burada tanımlanır. Bu fonksiyonlar yazarlara ait bilgi edinmemize imkan sunar. get_the_author_link(), the_author() fonksiyonları örnek olabilir.

POST.PHP
Yazılara ait fonksiyonlar burada tanımlanır. Buradaki fonksiyonlar, yazı ekleme, silme, güncelleme gibi işlemleri gerçekleştirir.

POST-TEMPLATE.PHP
Yazı şablonuna ait fonksiyonları içerisinde barındırır. Yazı başlığını aldığımız the_title() fonksiyonu buna örnektir.

POST-THUMBNAİL-TEMPLATE.PHP
Öne çıkarılmış görsellere ait fonksiyonlar burada tanımlanır. has_post_thumbnail(), the_post_thumbnail() bu fonksiyonlara örnektir.

CATEGORY.PHP
Kategorileri yönetmek için kullanabileceğimiz fonksiyonlar burada tanımlanmaktadır. get_categories(), get_cat_name() bu fonksiyonlara örnek olarak verilebilir.

CATEGORY-TEMPLATE.PHP
Kategorilere ait bilgileri almak için kullandığımız fonksiyonlar burada tanımlanır. Örneğin; get_category_link(), get_the_category_by_ID() gibi.

COMMENT.PHP
Yorumları yönetmek için kullanılan fonksiyonlar burada tanımlanır. Yorumların onaylanması, silinmesi veya güncellenmesi işlemlerini gerçekleştirir.

COMMENT-TEMPLATE.PHP
Yorumlara ait bilgileri aldığımız fonksiyonlar burada barınmaktadır. Örneğin; comments_popup_link() ve otomatik yorum formunu oluşturan ve yorumları listeleyen comments_template() fonksiyonu gibi.

REWRITE.PHP
Kalıcı bağlantıları şekillendiren fonksiyonları içerisinde barındırır.

FEED.PHP
RSS/ATOM beslemeleri için oluşturulmuş fonksiyonları içerisinde barındıran dosyadır. Buradaki fonksiyonlar döngü içerisinde kullanılmak üzere tasarlanmıştır.

KSES.PHP
Bir dizi halinde izin verilen HTML/XHTML elementleri içerisinde tutar. HTML/XHTML filtresidir.

CRON.PHP
WordPress CRON uygulama geliştirme ara yüzüdür. Zamanlanmış olaylar oluşturmak için kullandığımız fonksiyonlar burada tanımlanmıştır.

DEPRECATED.PHP
Gelişen WordPress sürümleri ile beraber bazı fonksiyonlar geliştirilerek farklı bir boyut alır. Fonksiyonların eski hali artık önerilmeyen olarak ifade edilir ve deprecated.php içerisinde yerini alır. Fonksiyonlar buraya belli bir süre yok olmak için gelir.

SCRIPT-LOADER.PHP
WordPress betik ve sitil yükleyicisidir. Bütün css ve js dosyaları buradaki fonksiyonlar tarafından yüklenir. Admin alanı için gereklidir.

TAXONOMY.PHP
Taxonomy görevini üstlenen dosyadır.

UPDATE.PHP
Bu dosyada WP sürümleri kontrol edilir. Eğer yeni bir güncelleme mevcut ise bu görevi update.php dosyası üstlenir.

CANONICAL.PHP
Canonical bağlantı, birden fazla bağlantının aynı sayfaya gitmesini engellemek ve arama motorlarına bir ana link seçilip belirtilmesidir. Bu göreve ait fonksiyonlar canoncial.php içerisinde bulunur.

SHORTCODES.PHP
[Galeri=1,2,3,4,5] gibi shortcode tanımlamaları yapabilmemiz için gerekli fonksiyonları içerisinde barındırır. Örnek olarak add_shortcode() fonksiyonu verilebilir.

CLASS-WP-EMBED.PHP
İçerik içinde resim, video, swf nesneleri gibi öğeleri embed kodları ile göstermemize imkan sunan sınıf ve fonksiyonları barındırır.

MEDİA.PHP
WordPress medya görüntüleme Api’sidir. Resimleri düzenleme ile ilgili fonksiyonları içerisinde barındırır. set_post_thumbnail_size() ve add_image_size()

HTTP.PHP
Http istekleri için API

CLASS-HTTP.PHP
Http istekleri için sınıf

WIDGETS.PHP
Sidebar, footer gibi alanlara bileşen desteği kazandırmamıza imkan sunan fonksiyonları içerisinde barındırır. Buradaki sınıf ve fonksiyonlar, bileşenlerin nasıl oluşturulacağını belirler.

NAV-MENU.PHP
Menüleri yönettiğimiz fonksiyonlar burada barınır. Yeni menü alanları ekleme, silme ve güncelleme ile ilgili fonksiyonlar burada tanımlanmıştır.

NAV-MENU-TEMPLATE.PHP
Menü şablonu ile ilgili fonksiyonları içerisinde barındırır. Menüleri görüntülemek için kullandığımız fonksiyonlar burada tanımlanmıştır.

ADMIN-BAR.PHP
Admin panelinde gerçekleştirdiğimiz olan hareketleri yakalayan, işlerimizi kolaylaştıran kontrol ve fonksiyonları oluşturan dosyadır.

WordPress Nedir?

WordPress, PHP ve MySQL kullanılarak geliştirilmiş ve açık kaynak kodlu olarak geliştirilmeye devam eden içerik yönetim sistemidir.

Kendi tabirleriyle; “WordPress, güzel bir web sitesi, blog veya uygulama oluşturmak için kullanabileceğiniz açık kaynaklı bir yazılımdır“.

Gelişimi 2003 yılına kadar dayanmaktadır. Resmi olarak b2/cafelog projesinin devamı olarak kabul edilmektedir. WordPress açık kaynak kodlu olması sebebiyle dünya üzerinde binlerce geliştiricisi bulunmaktadır. Böylelikle güvenlik noktasındaki açıklar da kısa sürede tespit edilmekte ve düzeltilmektedir. Ayrıca geliştirici sayısının fazla olması dokümantasyon sayısının artmasına yardımcı olmaktadır.

WordPress, hiçbir kodlama bilgisine ihtiyaç duymadan hazır tema ve eklentileri kullanarak kendi internet sitenizi kurmanıza ve yönetmenize olanak sağlar. Her ne kadar WordPress tek bir isim olarak bilinse de, aslında kendi içerisinde wordpress.com ve wordpress.org olarak ikiye ayrılır ve bu iki sistem arasında ciddi farklar vardır.

WordPress.com, hesap oluşturup bu hesabınız ile sitelerinizi oluşturmaya yardımcı olan bir platformdur. Ücretsiz ve ücretli olmak üzere birkaç planı vardır. Aslında wordpress.com’u wordpress.org’dan ayıran ve daha çok tercih edilmesine sebep olan etkenlerden bir tanesi wordpress.com’un hiçbir ücret ödemeden size bir site sahibi yapma imkanını tanıyor olmasıdır.

WordPress.com’un tercih edilmesindeki bir başka sebep ise, herhangi bir kodlama, wordpress ve domain/hosting yönetimi hakkında hiçbir bilgiye sahip olmanızı gerektirmeden, bir blog açıp yönetmenize imkan sağlamasıdır. WordPress.com barındırma hizmetini (hosting) kendi sunucularında vermektedir. Yeni bir site eklendiğinde, site-adi.wordpress.com gibi belirlenen bir adresle veya yönlendirilen bir domain ile bu hizmetten yararlanılabilir.

WordPress.org, biraz kodlama bilgisi, biraz domain ve hosting yönetimi gibi konularda bilgi gerektiren, ancak sonunda istediğiniz şeyleri yapabileceğiniz, size sınırsız imkanlar sunan bir oluşumdur.

WordPress.org’da da ücretsiz eklenti ve temalar bulunmaktadır. Ancak işinize uygun, profesyonel tema ve eklentiler kullanmanız gerektiği durumlarda hali hazırda yazılmış ve satışa sunulmuş durumda olan binlerce eklenti ve temalar bulabilirsiniz. WordPress açık kaynak kodlu bir sistem olduğu için ayrıca piyasada bulunan yazılım uzmanlarından, yine işinize uygun tema ve eklenti yazmalarını da talep edebilirsiniz.

Neden WordPress?

WordPress, popüler arama motorları tarafından sevilmekte ve desteklenmektedir. WordPress ile yayınlanmış bir içerik, Google veya benzeri arama motorlarında hızlı bir şekilde indekslenmektedir. Bu sebeple daha fazla kitleye ulaşma hedefinde olan yayıncılar için vazgeçilmez bir sistemdir.

Bireysel web girişimlerinde bütçe, şirketlere nazaran daha kısıtlıdır. Girişimcilerin, WordPress kalitesinde bir script yazdırmak için 4 haneli rakamları gözden çıkarması gerekir. Üstelik gelişen web teknolojilerine uyum sağlamak için belli aralıklarla ücretli güncelleme yaptırmak da gerekmektedir. Fakat WordPress sürekli güncellenen bir yapıya sahip olması ve arama motorlarının sunduğu ayrıcalıklardan faydalanmasından dolayı, ülkemizde birçok kurumsal şirket ve üniversite gibi devlet dairelerinin web sitelerinin dahi temelini oluşturmaktadır.

Neler Yapılabilir?

Başlangıçta blog oluşturmak için kullanılan WordPress, çekirdek kodundaki değişiklikler ile geniş eklenti ve tema ekosistemi sayesinde her türlü web sitesini oluşturabileceğiniz bir içerik yönetim sistemi (CMS-Content Management System-) dir.

Bu nedenle WordPress ile oluşturulabilecek sitelerin türleri aşağıdakilerden çok daha fazlasıdır:

  • Kurumsal web siteleri
  • Bloglar
  • Online satış siteleri (E-ticaret)
  • Portfolyo – CV siteleri
  • Forumlar
  • Online kurs siteleri
  • Galeriler
  • Sosyal ağlar
  • Haber Portalları
  • İş bulma siteleri
  • Üye girişi gerektiren siteler
  • Online rezervasyon gerektiren siteler
  • Soru-cevap siteleri
  • Video paylaşım siteleri
  • Açık artırma ve kupon siteleri

WordPress ziyaretçilerine üye olma, içerik paylaşma imkanını sunduğu için ve MySQL tarafındaki düzenli veri tabanı yapısı ve kullanışlı fonksiyonları sayesinde birçok farklı projede kullanılmaktadır.

WordPress’in Güçlü Özellikleri Nelerdir?


WordPress ekibinin kendi tabiriyle, güçlü özellikleri şunlardır:

  1. Kullanım Kolaylığı
    Kolay kullanımı sayesinde WordPress, kolay bir şekilde internet sitesi kurma ve yönetebilme imkanı sağlar.
  2. Esneklik
    Binlerce farklı tema seçeneği ile sitenizi renklendirebilir, birçok eklenti seçeneği ile de sitenize farklı özellikler ekleyebilirsiniz.
  3. Kolayca Yayınlama
    WordPress ile yazılar ve sayfalar oluşturmak; bu içeriklere resimler ve videolar eklemek basit olduğu gibi bu içerikleri yayınlamak bir butona tıklamak kadar kolaydır.
  4. Yayınlama Araçları
    WordPress ile içeriklerinizi yönetmek çok kolaydır. Yarım kalan bir içeriğiniz varsa bu içeriğinizi taslak olarak kaydedebilir, istediğiniz zaman kaldığınız yerden devam edebilirsiniz. Yine içeriklerinizi yayınlamak için ileri bir tarih seçip o tarihte otomatik olarak yayınlanmasını sağlayabilirsiniz.
  5. Kullanıcı Yönetimi
    WordPress, size 5 farklı kullanıcı rolü sunar ve kullanıcılarınızı bu rollere göre sınıflandırabilmenizi sağlar. Yönetici, siteyi yöneten ve en yetkili olan kişidir. Editörler, içerikler ile çalışır. Yazarlar ve içerik sağlayıcılar, sitenize içerik ekleyebilir. Aboneler ise profillerini yönetebilirler.
  6. Medya Yönetimi
    WordPress güçlü bir medya ortamı sunar ve resimlerinizi sürükle bırak şeklinde, kolayca ve hızlıca yükleyebilmenizi sağlar. WordPress ile resimlerinize alternatif yazılar ve altyazılar ekleyebilir, içeriklerinize bu resimleri kolayca dahil edebilir, yazılarınızda ya da sayfalarınızda foto galeriler oluşturabilirsiniz. Bununla beraber WordPress, yüklenen resimleri, yeniden boyutlandırma veya kırpmaya da olanak sağlar.
  7. Standartlara Uygunluk
    WordPress’in yapısındaki her bir kod parçası W3C standartlarına uygun şekildedir. Yani websiteniz, günümüz ve yarının web tarayıcılarında çalışacaktır.
  8. Kolay Tema Sistemi
    WordPress ekosisteminde temanızı bir tıklama ile yükleyebilir ve kullanabilirsiniz. Yüklediğiniz temayı kullanmaya başlamak saniyelerinizi alacaktır.
  9. Eklentiler ile Gelişme
    WordPress, çekirdek yapısında birçok standart özellik ile birlikte gelmektedir. Fakat bütün web sitelerinin ihtiyacını gidecerek özellikleri barındırmak mümkün değildir ama WordPress, eklenti sayfası ile on binlerce eklenti sunar ve gereksinimlere uygun özellikler sitelere eklenebilir.
  10. Dahili Yorum Sistemi
    WordPress kurulumu bir forum sitesinde olabilecek kadar gelişmiş ve yönetilebilen bir yorum sistemi ile birlikte gelmektedir.
  11. Arama Motoru Optimizasyonu (SEO)
    WordPress, SEO için optimize bir şekilde gelir. Fakat daha detaylı optimizasyonlar için kullanabileceğiniz birçok WordPress bileşenleri de mevcuttur.
  12. Dil Çeşitliliği
    WordPress, 70’ten fazla dile tercüme edilmiş olarak gelir.
  13. Kolay Kurulum ve Güncelleme
    WordPress, kullanılan bütün tema ve eklentiler tek tık ile güncellenebilir.
  14. Import Ediciler (Dışa Aktarıcılar)
    Bir web sitesini taşımak bazen zor bir hal alabilir. WordPress, import ve export (içe ve dışa aktarım) özellikleri ile istediğiniz yere kolayca taşınabilir.
  15. Öznel Yapıdadır
    WordPress, web sitenizin her şeyi ile sizin kontrolünüz altında olmasına imkan verir.
  16. Özgürlük
    WordPress, GPL lisansı altında yazılmış bir teknolojidir ve özgürlüğünüzü korur. Yani, WordPress’i özgürçe kullanabilir, değiştirebilir ya da dağıtabilirsiniz.
  17. Topluluk
    WordPerss, en popüler CMS olduğun için, enerjik ve destekleyici bir topluluğa sahiptir. Destek forumlarında bir soru sormanız, gönüllü destekçilerden gerekli yardımı almanız için yeterlidir.
  18. Destek
    Siz de bir WordPress gönüllüsü olabilirsiniz. WordPress’in gelişmesine katkıda bulunabilir, destek forumunda soruları cevaplayabilir, öğretici içerikler yazabilir, tercümeler yapabilir, WordCamp mitinglerinde konuşmalar yapabilirsiniz.

Adobe Photoshop Nedir? Tarihçesi

Photoshop
Photoshop CC

Adobe Photoshop, Adobe Inc’nin Windows ve macOS için geliştirdiği piksel tabanlı grafik tasarım ve resim, görüntü, fotoğraf düzenleme yazılımıdır.

Photoshop ilk olarak 1987 yılında Michigan Üniversitesi’nde doktora öğrencisi olan Thomas Knoll ve kardeşi John Knoll tarafından geliştirilmeye başlandı. Yazılım Macintosh Plus üzerinde monokrom ekranda siyah-beyaz resimleri düzenlemeye yarıyordu. O zamanlar için devrim niteliğinde olan yazılım, kısa süre içinde marka halini aldı.

Eylül 1988’de Adobe yazılımın lisansını satın aldı ve Photoshop, Adobe tarafından Creative Suite(şimdiki adıyla Creative Cloud) bünyesine katıldı. Şubat 1990 yılında ise Photoshop 1.0 Mac bilgisayarlar için çıkışını yaptı ve 1992 yılında da hem Mac hem PC sürümü satışa sunuldu. Geliştirildiği ilk yıllarda adı ImagePro olan Photoshop’un 1995 yılına gelindiğinde bütün haklarının satılması ile birlikte Adobe Photoshop oldu.

Photoshop’un ilk sürümü, o zamanlar için dünya üzerinde en çok hata bulunduran programlardan biri oldu. 1.0.7 sürümüne kadar Knoll kardeşler Adobe AR-GE laboratuvarıyla beraber hata ayıklayıp durmalarına rağmen program son derece popülerdi. Bu dönemde masaüstü yayıncılığı son derece popüler bir devire rast gelince Photoshop’un durdurulamaz yükselişi de başlamış oldu.

Photoshop’un en yaygın olduğu sektörler tasarım, dijital çizim, fotoğraf ve video sektörleridir. Şüphesiz bilgisayar dünyasının en kuvvetli yazılımlarından olan Photoshop, yazı işleme konusunda ve vektörel işlemlerde de bazı başarılar elde etmiş, bit resim işleme özelliği ile de pazar lideri konumunu elde etmiştir.

Eklentiler (Plug-ins)

Photoshop’un kullanımı ve işlevselliği, Photoshop eklentileri dediğimiz ek programlar ile genişletilebilir. Photoshop’un içinde bulundurduğu Adobe Camera Raw gibi Adobe tarafından geliştirilen bazı eklentilerin yanı sıra bağımsız yazılımcılar veya üçüncü parti şirketler tarafından geliştirilen ticari amaçlı ya da ücretsiz eklentiler de mevcuttur.

Araçlar

Program arayüzünün soluna konumlandırılmış, görüntü düzenleme görevlerini yapmaya yardımcı çeşitli araçlara sahip bir kenar çubuğu bulunmaktadır. Bu araçlar genellikle çizim kategorilerine girer; seçim; yazı ve rötuş; boyama; ölçüm ve navigasyon. Bazı araçlar, araç kutusu simgesinin sağ alt kısmında küçük bir üçgen daha içerir. Bunlar, tıklandığı zaman kullanıcıya benzer araçları göstermek içindir.

Photoshop Dosya Formatı

.PSD veya tam adıyla Photoshop Document, Adobe Photoshop’un ön tanımlı dosya biçimidir. .PSD dosyası, Photoshop’un içinde bulundurduğu çoğu görüntüleme seçeneğini destekleyen bir görüntü saklar. Bunlar katman maskeleri, metin, saydamlık, spot renkler ve alfa kanalları, çift ton ayarları ve kırpma yolları içeren katmanları içermektedir. Proje oluştuktan sonra yapılan işlemleri geri alabilmek ve ya tekrar işlemek için proje kaydı PSD formatıyla alınmalıdır.

PSD dosya biçimi Adobe’nin After Effects, Illustrator ve Premiere Pro gibi diğer uygulamalarına ve Adobe uygulamalarından dışa aktarılabilir.

Photoshop ile Neler Yapılabilir?

  • Fotoğraf düzenlemeleri profesyonel bir şekilde yapılabilir.
  • Rötuş ve renk düzenlemeleri, ekleme ve çıkarma şeklinde düzenlemeler yapılabilir.
  • Bir fotoğraftaki ana objeyi arka plandan ayırma işlemi(dekupe) yapılabilir.
  • İllüstrasyon, dijital çizimler, konsept tasarımlar yapılabilir.
  • Hareketli fotoğraf(gif) oluşturulabilir hatta kısa videolar düzenlenebilir.
  • Manipülasyon konusunda profesyonel olan Photoshop’ta başarılı manipülasyon çalışmaları elde edilebilir.
  • Dijital ortamlardaki her türlü tasarım çalışmaları Photoshop üzerinde tasarlanıp, düzenlenip ve de geliştirilebilir. Örneğin; banner, slider, reklam veya sosyal medya platformları(twitter, instagram, youtube, facebook vs.) tasarımı…
  • Kaplama çalışmaları yapılabilir. Örneğin; otomobil, branda ve cephe kaplamaları…
  • Kartvizit, logo gibi tasarımların mockup(sunum dosyaları) çalışmaları oluşturulup sunulabilir.
  • 3D efekt ve bazı basit modeller oluşturulabilir.
  • Poster veya afiş tasarımları oluşturulabilir.
  • Menü ve mobil veya web arayüz tasarımları yapılabilir.

CSS’in Tarihçesi

HTML (Hyper Text Markup Language) büyüdükçe ve geliştikçe talepleri karşılamak karmaşık bir hal aldı ve web sitelerinin tutarlı bir görünüme kavuşması zorlaştı. CSS (Cascading Style Sheets) ilk kez 10 Ekim 1994 tarihinde, CERN’de (Conseil Européen pour la Recherche Nucléaire) Tim Berners – Lee ile birlikte çalışmakta olan Hakon Wium Lie tarafından önerilmiştir.

Web için çok sayıda ve başka biçimlendirme dilleri de aynı zamanda teklif edilmişti. Bunun ardından W3C (World Wide Web Consortium), çeşitli forum ve e-posta listelerinde yapılan birkaç farklı stil sayfası dili taslağını da inceleyerek ve göz önünde bulundurarak 1996 yılında ilk CSS önerisini sunmuştur.

Bu sayede ilk CSS 1.0 kullanılmaya başlanmıştır. İnternet kullanımının yaygınlaşması ve kullanım amaçlarının çeşitlenmesiyle doğan yeni ihtiyaçlar, W3C’nin 12 Mayıs 1998’de CSS 2.0 önerisini sunmasıyla sonuçlanmıştır. Bunun hemen ardından çalışmalarına başlanan CSS 3 ise, W3C’nin 19 Haziran 2012’de CSS 3.0 önerisini sunmasıyla sonuçlanmıştır.

CSS 3.0’ın geliştirme ve detaylandırma çalışmaları halen sürmektedir. Bu çalışmalar ilerleyen tarihlerde CSS 4’ün de temeli olacaktır.
CSS günümüzde tüm browser’lar (tarayıcılar) tarafından desteklenmekte ve kullanılmaktadır. Günümüz teknolojilerinde özellikle web yazılımlarında CSS, kullanım kolaylığı, esnekliği, performansı, gücü ve marifetleri sayesinde web sayfalarının biçimlendirilmesi konusunda vazgeçilmez bir dil olmuştur.

CSS Nedir? Neler Yapılabilir?

CSS (Cascading Style Sheets) HTML sayfalarında bulanan öğeler için biçimlendirme olanakları sunan bir markup dilidir. Markup dili, bir dokümanı sistemin/uygulamanın/aracın yorumlayabileceği formatta oluşturulmasını sağlayan dile verilen isimdir.

CSS, görsel eksikliği gidermek amacıyla ortaya çıkmıştır. CSS, web sayfaları için genel şablonlar hazırlama olanağı verir. Bu olanaktan bağımsız olarak da sayfa, alan, arkaplan, form, buton, input, resim, video, ses ve doküman gibi dosyaların, metinlerin, tuvallerin vs. gerek stillerini (renk, yazı tipi, boyut vs.), gerek konumlarını, gerekse de özelliklerini değiştirmek için kullanılır.

CSS kullanarak sitenizin nasıl görüneceğini, cep telefonu, masaüstü ve tablet gibi farklı cihazların ekranlarında kontrol edebilirsiniz.

CSS, web sayfanız üzerinde tümüyle kontrol sahibi olmanızı sağlar ve istediğiniz şekilde değişiklikler yapmanıza olanak verir.

Kısaca CSS, bir HTML sayfasının nasıl görüntüleneceğini tarif eder.

CSS Nasıl Kullanılır?

CSS stilleri HTML şablonunuzun her öğesine ayrı ayrı eklenebilir fakat CSS, birden çok stili bir öğeye ya da bir stili birden çok sayfaya uygulamak gibi daha pratik özellikleriyle öne çıkmaktadır. Örneğin; tüm H2 başlıklarının aynı renkte görüntülenmesini sağlayabilirsiniz.

CSS kodları HTML’e üç farklı şekilde eklenebilir:

  • Satır İçi (inline) / Yerel CSS: Satır içi CSS ile sadece o etiketi etkileyecek biçimler verilebilir. Etiketler, arasında kalan etiketlerin içine yazılır.
  • Sayfa İçi / Genel CSS: Sayfa içinde belirli bir etiketi gördüğü her yerde, tanımlanmış özellikleri uygular. Genel CSS kodları, etiketlerinin arasına yerleştirilir. Sayfalarınızın geç yüklenmesine neden olabilir. Bir CSS koduyla sayfadaki tüm paragrafların ya da başlıkların aynı renk olmasını sağlayabilirsiniz.
  • Harici (External) CSS: Head etiketleri içinde harici bir CSS dosyasına link vererek, bir CSS dosyasının HTML dosyasına eklenmesi yöntemidir. Birden fazla sayfada aynı .css uzantılı dosyanın kullanılması mümkündür. Harici CSS dosyanız yüklenene kadar sayfanız düzgün görünmeyebilir.

CSS ile Neler Yapılabilir?

  • Tüm cihazlara (bilgisayar, telefon, tablet vs.) uygun responsive (duyarlı) tasarımlar hazırlanabilir.
  • Mobil programlama içinde kullanılabilir.
  • Sayfadaki tüm alanlar ve içerikler için stil (renk, yazı tipi, boyut vs.), konumlandırma ve özellik değiştirme işlemleri yapılabilir.
  • Geçiş/dönüşüm işlemleri yapılabilir.
  • Animasyon ve efekt işlemleri yapılabilir.
  • Slaytlar ve resim galerileri yapılabilir.
  • Kullanıcılara rahatlık sunabilecek açılır menüler yapılabilir.
  • HTML (Hyper Text Markup Language) (zengin metin işaretleme dili) içeriğinde önceden tanımlı tüm elemanların (input (giriş) alanları, butonlar vs.) görünümü değiştirilebilir.
  • Tablolama ve listeleme işlemleri yapılabilir.
  • Tek bir CSS (Cascading Style Sheets) (basamaklı stil şablonları veya basamaklı biçim sayfaları) dokümanından tüm sayfalara etki edilebilir.


CSS ile Neler Yapılamaz?

  • Veri tabanı işlemleri yapılamaz.
  • Veri okuma, işleme ve kontrol işlemleri yapılamaz.
  • Tarihe bağlı işlemler yapılamaz.
  • Form işleme ve değerlendirme işlemleri yapılamaz.
  • Sayfaya talep işlemleri yapılamaz.

JavaScript’in Tarihçesi

JavaScript, Mayıs 1995’te Netscape‘te, şimdi ise Mozilla‘da çalışan Brendan Eich tarafından 10 günde geliştirildi. İlk defa Aralık 1995 tarihinde Netscape Navigator 2.0 ile birlikte piyasaya sürüldü. Geliştirme aşamasında adı Mocha olarak geçmesine rağmen Eylül 1995 tarihine kadar resmi olarak LiveScript olarak isimlendiriliyordu. Netscape 2.0 Beta3 ile birlikte ismi JavaScript olarak değiştirildi. Bu, Java’nın o zamanlardaki popülerliğini kullanarak yapılan bir çeşit pazarlama hareketiydi.

JavaScript’in isim değişikliği ile Netscape’in Java teknolojilerine (Java Applet) destek vermesi yaklaşık olarak aynı tarihlere denk gelmektedir. Microsoft ile Netscape’in web teknolojileri ve platformları alanında yarıştığı bir dönemde Netscape, Sun Microsystems‘ın geliştirdiği Java platformuna destek vererek dağınık bir işletim sistemi oluşturmayı öngörüyordu. JavaScript ise, Visual Basic‘in yaptığı gibi profesyonel olmayan programcıları hedefleyen daha basit bir betik dili olarak düşünülmekteydi.

Microsoft, 1996 yılında JScript ve VBScript betik dillerini yayınladı. JScript Netscape’in JavaScript’ine benzerken VBScript, Visual Basic temelliydi ve var olan Visual Basic programcılarının kolay bir geçiş yapmasını hedefliyordu. Aynı dönemde Microsoft ilk defa CSS desteği de sağladı ancak hem CSS hem de JScript desteği Netscape’in o zamana kadar sağladıkları ile tutarlı çalışmıyordu. Bu durum web tasarımcıları ve geliştiricileri arasında bir kargaşa yaratmış ve tarayıcı savaşlarının ilk yıllarında sitelerin altında tipik olarak görülen “En iyi Internet Explorer ile izlenir” ya da “En iyi Netscape ile izlenir” gibi logoların ortaya çıkmasına neden olmuştur.

1996 yılının kasım ayında Netscape firması JavaScript’in endüstri standardı olarak belirlenmesi amacıyla Ecma International firmasına başvuruda bulunduğunu ilan etti. Bunun sonucunda standardize edilen sürüm ECMAScript olarak isimlendirildi.

Standartlaşma süreci döngülerle devam etti. 1998’de ECMAScript 2 ve 1999’da ECMAScript 3 yayınlandı. ECMAScript’in 4. sürümü üzerinde ciddi bir çalışma yapılmasına rağmen asla tamamlanamadı ancak 5. sürüm için önemli bir ilham kaynağı oldu. 5. sürüm 2009 yılının aralık ayında yayımlandı. ECMAScript’in şu an geçerli olan son standart belirtimi, Haziran 2011 tarihinde yayımlanan 5.1 sürümüdür ve Javascript 1.8.5 tarafından desteklenmektedir.

JavaScript Nedir?

JavaScript 1995 yılında Netscape firmasının çalışanı Brendan Eich tarafından geliştirilmiştir. Client (istemci) tarafında çalışan, web sayfalarına dinamiklik katmak ve kullanıcı ile etkileşimi arttırmak için kullanılan son derece gelişmiş bir script dilidir.

Başlangıçta web sayfalarını hayata geçirmek için oluşturulup günümüzde oyun ve mobil uygulama geliştirme için de sıklıkla kullanılan JavaScript, metin düzenleyici gibi basit bir araçla yazılabilen kodlardan oluşan, öğrenilmesi en kolay programlama dillerinden biridir.

İnternet üzerinde kullanılan script dilleri arasında en çok kullanılan dil olmakla birlikte birçok hazır kütüphanenin de (JQuery, AngularJS, NodeJS, ReactJS, Bootstrap çatısı vs.) temelini oluşturmaktadır.

Web siteleri içerisinde %100’e yakın oranda kullanılan bir dildir ve bu nedenle JavaScript dili etkileşimli web sitelerinin vazgeçilmezindendir. JScript kodlarını çalıştırmak için herhangi bir tarayıcı haricinde ek bir derleyiciye ihtiyacınız yoktur. Çünkü tüm tarayıcılar, içerisinde bulunan JScript motoru sayesinde JScript komutlarını yorumlayarak işlemleri yerine getirebilir.

JavaScript ile neler yapabilirsiniz?

  • JScript ile aynı anda birden fazla bağımsız işlemler gerçekleştirebilirsiniz. Örneğin; bir web sitesine girdiniz. Siz kullanıcı bilgileriniz ile giriş yaparken sistem sizin bilgilerinizin doğruluğunu kontrol edip size geri bildirimde bulunuyor.
  • Geliştiricinin, kod yazımı sırasında her defasında tekrardan kod yazmasına gerek yoktur. Bir defa yazması yeterli olacaktır ve bu da geliştiricinin işini oldukça kolaylaştırır. Hatta sloganları da “Az kodla çok iş“ şekildedir.
  • HTML’in statik ve basit yapısını dinamik hale getirebilirsiniz.
  • Web sitesinde görmüş olduğunuz çoğu butonu oluşturabilirsiniz. Örneğin; atla, daha sonra hatırlat, şifremi unuttum, üye ol, şimdi sepete ekle, alışveriş yap, kapat gibi birçok buton.
  • JScript ile bir web sitesinin ara yüzünü oluşturursunuz. Oluşturduğunuz web sitesi kullanıcı dostu bir web sitesi olur, yani sitenizin kullanıcı etkileşimi ve kullanıcıların web sitenizde geçirdiği zaman artar. Bu da web sitenizin tarayıcıda daha üst sıralara gelmesine katkıda bulunur.

JavaScript’in Avantajları

  • Öğrenilmesi kolay olduğu için yazılımla ve web siteleri ile ilgilenen kişilerin ilk öğrendiği yazılım dilleri arasında yer almaktadır.
  • Diğer yazılım dillerine göre daha hızlıdır.
  • Geliştirilmeye açık bir yazılım dilidir. Özellikle ilk çıktığı 1995 yılında çok ilkel bir yazılım dili olsa da günümüze kadar çok fazla geliştirilmiş ve değişime uğramıştır. Hâlâ da yazılım geliştiricileri tarafından geliştirilmektedir.
  • Derleyicilere ihtiyaç duyulmaz çünkü JavaScript, HTML ile beraber kullanıldığı için web tarayıcıları HTML’i yorumlar. Bunu sağlayan iki farklı yöntem vardır. Bu yöntemleri ilerleyen bölümlerde detaylı bir şekilde görebilirsiniz.
  • Web sayfasına dinamiklik katar ve kullanıcı etkileşimini artırır. Bu özelliği ile kullanıcıların daha fazla web sitesinde kalmasını sağlar ve bu, sitenin sıralaması için oldukça önemli bir özelliktir.
  • Kod parçaları birden fazla platformda veya web tarayıcılarında çalışır. Bu özelliği ile birlikte aynı kodun farklı sayfalarda ve sitelerde kullanılmasını sağlar.
  • Yapılan hataları kolay bir şekilde bulabilirsiniz. Yorumlanabilen bir yazılım dili olduğu için yaptığınız hataları bütün satırlar arasında aramanıza gerek yoktur ve hata yaptığınız satır direkt ortaya çıkar. Bu da yazılımcılara hem vakit kazandırır hem de fazladan yorulmalarını engeller.
  • İstenilen özel durumlar için kullanılabilir.
  • Sunucuyla minimum etkileşimi sağlar. Böylece internet sitesinin hızı yükselmiş olur. JavaScript, kullanıcıların ilk doğrulama bilgilerini kendi içinde yaparak sunucuya daha sonra talepleri gönderir. Bu da sunucunun daha az kullanılmasını sağlayarak internet site hızının artmasını sağlar.
  • Zengin ve kullanıcı dostu ara yüze sahiptir. JavaScript ile dikkat çekici ve interaktif ara yüzler oluşturabilirsiniz. Örneğin; kaydırma butonları, bazı efektler gibi.

JavaScript’in Dezavantajları

  • Popüler olduğu için birçok web sitesinde kullanımı da yaygınlaşmıştır. Bu yüzden kötü amaçlı kişilerce saldırıya uğrama ihtimali diğer yazılım dilleri ile oluşturulan web sitelerine veya uygulamalara göre daha fazladır.
  • Açıklara karşı zayıftır, güvenlik önlemleri yeterli gelmemektedir. JScript birden fazla web sitesinde veya platformda kullanılabileceğinden dolayı kod parçaları daha az güvenlidir.
  • Her tarayıcı veya sayfa JScript kodlarını kabul etmez. Bu JScript’in genel bir özelliği olmasa da bazen bazı tarayıcılar ve web sayfaları desteklememektedir. Bu yüzden bu gibi sayfalarda ve tarayıcılarda kullanılmamaktadır.
  • JScript çok büyük kodlara sahip olduğu için karmaşık hale gelmekte ve çok fazla yer kaplamaktadır. Bu da site hızını olumsuz yönde etkilemektedir.
  • Farklı cihazlarda farklı çalışabildiği için tutarsızlığa neden olabilmekte ve yazılım ile uğraşan kişilerin işini zorlaştırabilmektedir.

PHP’nin Tarihçesi

PHP’nin Tarihçesi

PHP ilk olarak 1994 yılında Rasmus Lerdorf tarafından, dinamik web sayfaları geliştirebilmek ve web sayfasını ziyaret edenleri izleyebilmek amacıyla bir dizi Perl betiği kullanılarak geliştirilmiştir.
İnsanlar kısa zamanda PHP ile ilgilenmeye ve bu konuyla ilgili sorular sormaya başladıklarında ise yeni bir betik motoru oluşturmuştur.

8 Haziran 1995 tarihinde Rasmus Lerdorf, web formlarıyla çalışmak, aynı zamanda veri tabanları ile iletişim kurmak için PHP’yi genişletti ve böylece PHP/FI’ı (Personal Home Page / Forms Interpreter) biçimlendirmiş oldu. Daha sonra bir geliştirme ekibi oluşmaya başladı. Aylar süren çalışmalar ve beta sürüm testlerinden sonra, 1 Kasım 1997 tarihinde PHP/FI2’i (Personal Home Page / Forms Interpreter) yayınladı.

PHP 3

PHP, adı duyuldukça bir grup yazılım geliştiricilerinin dikkatini çekti. Rasmus Lerdorf, Zeev Suraski ve Andi Gutmans tarafından yeniden yazıldı ve 6 Haziran 1998 tarihinde PHP3 yayınladı. Aynı zamanda PHP kısaltmasının açılımı Hypertext Preprocessor olarak kabul edildi ve resmileştirildi.

PHP 3.0’ın en güçlü yanlarından biri, genişletilebilirlik özellikleriydi. Son kullanıcılara çoklu veri tabanları, protokoller ve API’ler için olgun bir arayüz sağlamanın yanı sıra, dilin kendisini genişletme kolaylığı, çeşitli modüller gönderen pek çok geliştiricinin ilgisini çekti. Bu PHP 3.0’ın muazzam başarısının anahtarıydı.

PHP 4

1998 kışı, PHP 3.0’ın resmi olarak piyasaya sürülmesinden kısa bir süre sonra performans ve diğer işlevsellikler için yeniden ele alınması gerekiyordu. Zeev Suraski ve Andi Gutmans, 1999 yılında Zend Engine’ı (Zend Motoru) üreten PHP’nin çekirdeğini yeniden yazmaya başladılar. 22 Mayıs 2000 tarihinde Zend Engine 1.0 tarafından desteklenen PHP4 yayınladı.

PHP 5

Artık PHP’nin önünde pek de engel bulunmuyordu ve böylece PHP gün geçtikçe daha fazla ün kazanmaya başladı.
PHP’yi daha üstün bir hale getirmek için, 13 Temmuz 2004 tarihinde Zend Engine 2.0 tarafından desteklenen PHP5 yayınladı. Zend Engine 2.0, PHP’yi vazgeçilmez bir dil yapacak olan, OOP (Object Oriented Programming) için gelişmiş destek, PDO (PHP Data Objects) uzantısı, static binding (statik bağlayıcı) ve sayısız performans geliştirmeleri gibi yeni özellikler içeriyordu. Aynı zamanda 32 Bit ve 64 Bit Microsoft Windows işletim sistemi platformları için PHP, IIS (Internet Information Services) üzerinden yorumlanabilir ve kullanılabilir hale getirildi.

PHP 7

3 Aralık 2015 tarihinde PHP’nin çekirdeği bir defa daha yazılarak Zend Engine 3.0 tarafından desteklenen PHP7 next generation yayınladı.

Zend Engine 3.0’da, PHP’yi eşsiz bir dil yapacak olan bazı yenilikler; yüksek hız (2 kat daha hızlı), üstün performans, düşük ram (bellek) kullanımı, en fazla güvenlik, kararlılık, just in time compilation (çalışma zamanında derleme), debugging engine exceptions (hata ayıklama motor istisnaları), daha gelişmiş Microsoft Windows işletim sistemi platformları desteğidir.

PHP 8

26 Kasım 2020 tarihinde PHP 8 versiyonu resmi olarak kullanıcının hizmetine sunuldu. Büyük bir yenilikle kullanıma sunulan söz konusu versiyon, birçok güçlü özelliği de beraberinde getiriyor. Bu yeni özellikler sayesinde çok daha kolay bir şekilde kod yazabilir, daha kullanışlı ve güçlü uygulamalar oluşturabilirsiniz. PHP 8’in kullanıcılar tarafından en beğenilen özelliği Just in Time kavramının kısaltması olan JIT derleyicisidir.