Php üstünde uzunca bir süre olmasada yaklaşık 1 yıldır, Object Oriented olarak yazılım geliştiriyorum. Bu yazımla bloğuma bu konu hakkında daha çok bilgi eklemeye çalışacağım. Şimdi bazı kodları vereceğim ve bazı noktalarına değineceğim.
Bundan önce şöyle bir bilgi vermek istiyorum, php işe yaramaz diyenlere
PHP, özellikle mysql veritabanıyla birlikte ve Linux işletim sistemi altında iyi bir performans sergilmektedir. C/C++ diline olan benzerliği nedeniyle bu dili önceden bilenlerin PHP öğrenmesi oldukça kolaydır. Kolay öğrenilmesi ve hızlı performansı nedeniyle Facebook, YouTube, Yahoo, Wikipedia ve OGame gibi dünyaca ünlü sitelerin yazımında kullanılmasına rağmen, kodların kolay anlaşılabilmesi açısından ve birden fazla programcı tarafından sürekli geliştirilmesi gerekli büyük projelerde Java nın kullanılması daha uygun görülmektedir. Ancak sadece web tabanlı yazılımın geliştirilmesi söz konusu olduğunda Java ya göre öğrenilmesinin daha kolay olması nedeniyle genellikle PHP tercih edilmektedir. PHP, web tasarımında önemli kolaylıklar sağlasa da 2005 te Google in AJAX kullanmaya başlamasından sonra tek başına öğrenilmesi yeterli olmamakta AJAX’ı öğrenmek için gerekli JavaScript, [[XML], HTML, (ve CSS) ile birlikte bir bütün oluşturabilmektedir.
Şimdi gelelim şu kodlarımıza:
< ?php
//VERI TABANI BILGILERI ALINIYOR
require "database_config.php";
//VERI TABANINA BAGLANTI CLASSI
class database
{
private $host;
private $user;
private $pass;
private $db;
public $connection;
public function __construct($host, $user, $pass, $db)
{
$this->host = $host;
$this->user = $user;
$this->pass = $pass;
$this->db = $db;
}
public function connect()
{
try
{
$this->connection = @mysql_connect($this->host, $this->user, $this->pass, $this->db);
if (!$this->connection)
throw new Exception("Database bağlantısı gerçekleştirilemiyor. ( Host , User , Pass , Db");
}
catch (exception $e)
{
die("{$e->getMessage()}");
}
}
public function select()
{
try
{
if (!@mysql_select_db($this->db, $this->connection))
throw new Exception("Veritabanı Seçilmemiş");
mysql_query("SET NAMES 'utf8'");
}
catch (exception $e)
{
die("{$e->getMessage()}");
}
}
}
//VERI TABANI ICIN TANIMLADIGIM DEGISKENLERI CLASSA GONDERIYORUM
$DATABASE_OBJECT = new database($host, $user, $pass, $db);
//CLASS FUNCTION CONNECT CALISTIRILDI
$DATABASE_OBJECT->connect();
//CLASS FUNCTION SELECT VERI TABANI SECILDI...
$DATABASE_OBJECT->select();
?>
__construct : yapısı kurucu manasına gelir, bunu bu şekilde yazmak zorunda değilsiniz, class isimide function olarak belirtildiğinde contructer yanı yapıcı fonksiyon olucaktır. Yapıcı methodtan kastım nedir. Oluşturduğunuz nesne için function çağırmaz iseniz bile bu function çalışacaktır manasına gelir.
Public : her yerden ulaşılabilir class dışındaki alanlardan.
Private : her yerden ulaşılamaz ben her ne kadar bunu teorik anlatsamda, nasıl oluyo denebilir bence kod yazarak bu anlamak daha mantıklı deneyin
Tags: PHP, php nesneye dayalı programlama, PHP OOP, php veri tabanı, php veri tabanı bağlantısı
2 comments
Comments feed for this article
Trackback link: http://www.gokalpkuscu.com/php-nesneye-dayali-veri-tabani-baglanti-modeli/trackback